Day 3 making smtool

Published

By Jarle Aase

Today was my third day working on SMTool. It's not the only project on my plate, but right now it's definitely the one I'm most excited about. I spent half of the day adding features and refining parts of the application that had previously been little more than placeholders.

One of the more important changes was moving the various statuses in the system out of the code and into the database. Until now, they had been hard-coded, which was fine for getting started but never felt like the right long-term solution. Having them stored in the database makes the system much more flexible. I can change, add, or remove statuses without touching the code, and it also opens the door for other people to use the application in ways that fit their own workflows rather than mine.

Search was another area that received a lot of attention. As the amount of information in the system grows, being able to find things quickly becomes increasingly important. I can now search in titles, descriptions, content, addresses, and tags, or simply search across everything at once. The search experience is heavily inspired by the way Google used to work back in the days when it was good. A simple prefix such as t: limits a search to titles, while d: searches only descriptions. Starting a search with # looks for matching tags. If no prefix is provided, SMTool searches across all relevant fields. It's simple, fast, and easy to use.

I also added support for media attachments. Ideas can now have any number of files associated with them, and publication channels can have their own attachments as well. The main reason for this is preservation. Sometimes the most valuable thing isn't the original content but a record of what was actually published. Being able to store a URL to a published article, save a screenshot of a social media post, or keep related assets together with an idea makes the system much more useful as a long-term archive.

Beyond those larger features, there were countless small improvements throughout the user interface. Most of them are the kind of changes nobody notices individually, but together they make the application feel smoother and more pleasant to use. Those small refinements often take longer than expected, but they are usually what separates a tool that works from a tool that people actually enjoy using.

The biggest takeaway from today is that I think the database schema is finally complete. I'm sure there will be tweaks and adjustments later, but the core structure now feels finished. Reaching that point is significant because it means I can stop designing the system and start using it. Once I've finished writing blog posts and editing some videos, I will start using it. Today.

I also started on the Android companion today. That's just a skeleton app right now. I'll come back to it when it works.

Overall, it was a good day. I worked on plenty of other things as well, but SMTool remains the project I look forward to opening each morning. There's something deeply satisfying about building a tool that solves your own problems, and today felt like one of those days where the project took a meaningful step forward.

Some screenshots

The inbox / main screen this evening

screenshot

The idea dialog with tags etc.

screenshot

The Kanban board

screenshot