So I was hoping to make a more interesting post this month, but having been struck down with a debilitating case of flu I didn’t make as much progress as I had hoped. However, I will introduce what I’m working on!

TL;DR

I’m starting work on a toy project called indcht (“inched”) which stands for Indescrible Chat.

The synopsis is that indcht will be a team-based chat system akin to Slack or RocketChat.

It will begin life as a toy project to explore a non-trivial and interesting realm with tools, patterns and practices that I would like to leverage more.

In an effort to gain further experience in other frameworks and full-stack node development I decided to tackle what I expect will become the next non-trivial “Hello World” - a group chat solution akin to Slack or RocketChat.

There are a few reasons why this in particular appeals to me:

  • I’m familiar with the domain (after all that’s my job),
  • It requires full-stack development, plus data storage and manipulation,
  • I’m interested in the potential for extensibility at every level and the software design challenges that entails,
  • Instead of looking big, I want to look at the shrinking population of businesses that cannot migrate to cloud services and still need next generation tooling for their employees.

The market for team-based collaboration tools is huge and it’s becoming a crowded marketplace - Slack is perhaps the most well-known cloud solution, Skype for Business the most widely deployed on-premise solution, then there’s Teams (also by MS), HipChat (by Atlassian), Rocket.Chat (open source), Spark (by Cisco) and a handful of others. That’s not to mention players in the space that have come and gone.

So why explore this crowded room? Because it’s interesting; text-based messaging has remained the king of the communication platforms. Innovation is happening in natural language processing, classification, search and conversational dialog and all of that is being fed back into the multitude of text-based messaging platforms.

I hope to take my own passion for this and apply it to building an extensible chat platform using technologies I haven’t had a chance to really dig in to. Wish me luck!