Sunday, 21 September 2025

Creating a real-time chat app using the AI features in Standup

Standup is a new task management tool I've been using recently, I like it because its more lightweight and easy to use than the alternatives like JIRA. It also has an "Assign to AI" feature that lets you assign tasks on your Kanban board to AI to solve. Although you have to write the task description a bit more like a prompt than you might normally, it works suprisingly well. I'll take you through how I created a real-time chat app by using the Assign to AI feature below. 

Thinking about the architecture 

Firstly, I decided I wanted to use socket io, because its free and I have a bit of experience with it. And, I want the chat to work on web and mobile, so I created a new board in Standup and wrote a basic prompt:
Then in Standup, you click to assign the task to AI (note you need a Pro membership to use the AI feature):





After a short while, the result gets attached to the task, complete with code examples. I expected a brief overview but it gave me a lot more including code for setting up the client, server and both an Android app and iOS app!





That was more than expected but actually, I didn't really want to go through the trouble of creating both a iOS app in Swift and a Android app in Kotlin. So, I split out the mobile app creation into a separate task:




The result again, was pretty impressive, it created a whole project and listed the contents of each file:




I feel like I could use this as a good starting point to create the app. However, I wanted to learn a bit more before, I get started, for example, how would I actually launch the app on the Android and Apple App Store.




Here, you can see the spinning wheel as Standup does its thinking. I won't post the results here, but it took me through all the steps for publishing to the store including creating the build, App ID, generating certificates, filling in all the listing info on the Google Play Store and App Store Connect etc..

Likes and Dislikes

The thing that impressed me most was the length and detail of the responses. I rarely needed to re-phrase my prompts and everything was written out in clear steps.

The other point that makes it useful is that its all visible on the same Kanban board, so I don't need to go back searching back through bookmarks or previous saved prompts, its all right in front of me. The advantage of this aswell is that I can just get started right away, drag tasks into the Todo column, share the board with other collaborators, attach my own designs, there's no need to import anything. It feels natural when building something to start with a task management app, it maintains momentum between the ideas and build phase.

On the downside, although I was impressed with the code samples, I kind of wish it would attach them as files rather than have them inline. For example, when it creating the React native project, it would be nice if I could download the project as a zip or even just attach each individual file to the task.

The other point I found slightly annoying is that it doesn't have any context of the project I'm working on. Its easy to work around this by adding context to the prompt e.g. "Assuming a socket io server exists" but it would be good to be able to add some context somewhere maybe at the board or column level. For example, imagine I could at the project level say "I'm working on a chat app written in Nodejs using socket io" or maybe "my preferred frontend framework is React". If it could then take that context and include it in every prompt I make, it would feel a lot more fluid. Even better, if it could understand the history of tasks that have already been completed by AI.

Summary

As a big user of task management software for organising my projects, I find it more natural to use AI from inside the board itself rather than going to some external tool and then uploading the results to tasks. The technology exceeded my expectations although I'd like to see a bit more break down of the results rather than one long response. Integrations with other apps would be good to, for example, wouldn't be great if I could deploy the code than came back in the response. Anyway, I've submitted my feedback through the Report an Issue feature, so let's see what happens. Definitely worth checking out Standup.

Saturday, 21 December 2024

2024 Update

Hello everyone! It's been such a long time since the last post. StreamHub development shutdown a long while ago but I wanted to give some updates as I see the blog still gets some traffic. 

At the time StreamHub was under active development, the Web Sockets standards and web browsers were still changing and developing at a rapid pace. In fact, the Web Sockets API was still subject to breaking changes upon each release. Now, in 2024, it's unlikely that StreamHub still works. However, if you're interesting in checking it out, the source code, including the source code for the license generator, is available below:
To be clear, it is completely unsupported, use at your own risk, but it may be of interest to a few.

If you're looking for a something similar to StreamHub in 2024, I suggest you check out Socket IO. That would be my number one pick, however, if you're looking for alternatives, have a look at these:
  1. SignalR: A real-time communication library for ASP.NET and .NET Core applications. It supports WebSockets and falls back to other techniques for older browsers.
  2. SockJS: A JavaScript library that provides a WebSocket-like object, offering cross-browser compatibility and fallback options. It can be used with various server-side languages.
  3. Pusher: A hosted service for adding real-time functionality to web and mobile apps. It supports multiple programming languages and platforms.
  4. Ably: A scalable real-time messaging infrastructure that supports various programming languages and provides features like message persistence and push notifications.
  5. WebSocket API: The native WebSocket implementation supported by modern browsers, which can be used with any server-side language that supports WebSocket connections.
  6. Phoenix Channels: Part of the Phoenix framework for Elixir, offering real-time communication capabilities.
  7. NATS: A cloud-native messaging system that supports various programming languages and provides publish-subscribe functionality.

Why did StreamHub shutdown?

StreamHub as a product didn't have a huge amount of customers, and with free open source alternatives becoming more mature at the time, the potential market was only getting smaller. As such, it became difficult to pay the bills and the StreamHub team had to go to work elsewhere.

What next for StreamHub?

There are no plans to revive StreamHub, however the team is always creating, so watch this space for updates.

Thanks for reading! Here's to a great 2025!

Saturday, 1 January 2011

New Community Edition License for 2011

A new Community Edition License for 2011 has been released. This extends the Community license until 2012. Download below:


Instructions for use

Copy the license.txt to the folder where StreamHub server is started from - StreamHub reads the license file from its current working directory. If you have an existing license.txt in that directory we recommend you back this file up before overwriting it.

Happy 2011 from all the StreamHub Team!!