Onomojo

Sentiment tracking kanban board

Visit Website
November 26, 2022 Moved frontend to S3 static site and Cloudfront

I've been a bit distracted recently with life but I was forced recently to make some changes to the Heroku deployments. Heroku removed free tiers so I was forced to do some upgrades. While I was in there I decided to move the whole frontend over to a S3 static site behind AWS Cloudfront. Nuxt makes it super easy to generate a static site. I had to make a few minor changes related to .env files and deployment scripts but it wasn't much. There is still one minor usability issue related to browser refreshing that I'll sort out in the next few days (if it's even possible with S3 static site hosting).

It's a minor win but it does save me from paying the ever increasing Heroku fees for no reason. When I set this domain up on Heroku they required I use a $25 dyno in order to use their managed SSL certificates for my domain. They previously allowed this on the cheapest Hobby dynos but stopped so I had to pay $25 a month for a mostly idle dyno just do use their managed SSL cert. Moving to AWS with static site generation saves me $25 a month. It's minor but that's $25 I could be using for advertising instead. A win.

Comment

October 27, 2022 New Backlog View

I'm pretty excited to release an entirely new backlog view. While trying to figure out how best to integrate search results into the kanban board I decided to try something entirely different. It's a backlog index view and likely fits a much broader range of workflows because not everyone enjoys using a kanban board. Search is built into the view and I think fits way better than trying to cram a search into the kanban board somehow. I'll be creating a new landing page and new ads specifically targeting this new view in the next few days.

The next big thing coming down the pipeline is going to be a timeline/milestone view. I was encouraged by how the new view opened up the app potential much broader than just a kanban board so I'm going to continue working on features like this for the rest of this quarter.

Comment

October 5, 2022 Updates via websockets

I just deployed a new feature that will help improve the user experience between multiple users in the same project. Using websockets when one user modifies a story, the story will be updated on any other users with the project open. This is a critical feature for any team working on a project as it keeps all project user states in sync across browsers and avoids users getting out of sync.

The next big feature I'll be working on is the ability to search through stories. There's a lot of unknowns with this so far though such as how I'll implement the search while keeping costs down, where will search exist in the UI and what will be the user experience, and can I avoid a search engine like solr or elasticseach for now and still have an efficient search. More to come!

5 Comments

  1. 2

    We make heavy use of websockets in our product - my experience is they're great but can be tricky to scale and keep stable. Curious, did you consider trying a long-polling approach instead to limit support/costs?

    1. 3

      Why do you think a long-polling approach is more efficient/stable than a websocket connection? In both cases, the connection has to stay open.

      1. 3

        I mean, you can always implement a feature to time out and reconnect as needed using WS if you want to free up connections.

        1. 3

          Oh I think websockets can be efficient/stable - if I didn't then I wouldn't use them in our app, lol. Just in my exp there's more complexity in implementing them correctly vs a long-polling strategy. In my brain complexity == cost so I was just curious about the driver. :-)

    2. 2

      No, I didn't consider it because I need the updates to happen relatively quickly to avoid problems with invalid state showing to users. It would require frequent polling which I just try to avoid by default. My viewpoint in terms of scaling websockets is that it would be a good problem to have. It would mean I've had enough user growth that I'm hitting limits on the number of concurrent websocket connections. It's a good problem to be having. I will happily iterate on it if/when that time comes even if it means implementing polling as a temporary stop gap measure until I solved scaling it up with websockets.

September 27, 2022 Finished with Epics

I finally finished all the stories in the the epics initiative. I'm pretty happy with how it all turned out and obviously I'll iterate on it in time. Next up I'm planning a 'Usability' initiative which will address some of the issues and missing features being reported by new users. There's some larger stories in this so it may take a few weeks to complete.

Comment

September 22, 2022 Improved story design

Sometimes its the little things that make a big difference. Last night I released a small change to the compact story design on the kanban board. Instead of showing a whole row with "Owners:" I condensed it down to the user's profile image if they have one or a circle with their initials in it. It seems trivial but it does a lot for the board. It's much cleaner looking while at the same time giving more screen real estate to fit more stories on screen at once but without it feeling compressed. I love it when a small amount of work ends up making a big difference.

Comment

September 15, 2022 Just released Epics feature

I just wrapped up a new epics feature that allows you to group stories together to help better plan larger features or initiatives. I'm pretty happy with how it turned out.

Next up is trying to improve the new user experience after signup. I previously spent a ton of time adding an on-boarding tour but it hasn't made any difference in user activity after signup. No one seems to go entirely through the on-boarding tour. I'm now thinking a dashboard page with more detailed information about the motivation and philosophy would be better introduction to the product than the on-boarding tour.

Comment

August 25, 2022 After ten months, its finally in marketable shape

It took a lot of work to get to this point but I've finally gotten it to a point where I'm ready to start putting more effort into marketing the site. The tracker works great and has a nice onboarding tour to guide new users through the tracker. I've been focused on building multiple different landing pages to point Google ads to so I can try to narrow in on which product messaging leads to better conversions.

Comment

May 16, 2022 Coming up with the idea

After feeling developer burnout after getting tasks at my job to build a literal dot, I realized why. No one listens to developer sentiment on their tasks. That gave me an idea to track how I felt about each task in our backlog. Shifting the focus from commoditizing work and only looking at points to listening to how each developer feels about their work instead. It gives much more insight into the overall health of a project and the ability to sustain productivity than just looking at velocity.

Comment

About

When business commoditizes programmers and focuses solely on measurable productivity, it forgets that they are all human with their own interests and dislikes. Our tool puts developer sentiment first.