tsatter.com

tsatter.com is what resulted from me wanting to make a website, and take it far enough to call it finished. I learned a lot along the way. Here’s a short description of the whole system. I’ll write more specific posts and link them here when I find the time and interest. Requests for speeding up a specific part are of course welcome.

  • Dockerized environment for easy development and deployment
    • Provided you have docker installed, it takes executing one command to have the whole 5 part infrastructure set up for you.
  • NGINX
    • efficiently shares static files
  • NodeJS
  • IRC server
    • handles actually delivering messages between users in channels, and keeps track of channel’s ops etc.
    • provides a tried and tested protocol for bots to interface with.
  • AngularJS front-end
    • infinite scrolling front page
    • infinite scrolling messages
      • clicking the timestamp gives a shareable url. Opening the URL will take the opener to that message, and highlight it.
      • no need to load the whole history at once
      • handles massive amounts of lines without slowing the computer much
    • infinite scrolling images
      • images have a link to the message in which they were linked
    • inline image search & linking (by pressing @ in a chat)
    • kicking/oping/unoping users in a channel

It used to have registering and logging in as well at a time, but I wanted to make starting using it as easy and low effort as possible. But now I’m thinking maybe sending those post registration spam emails would help with user retention and actually getting users back to it after they’ve tried it once.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s