Skip to main content

Weekly Futtun Updates 22

Introduction
#

Hello everyone,

How are you? Welcome to my blog. In this post, I will talk about Futtun’s progress update, from Monday 25 May 2026 to today, Sunday 31 May 2026.

Increased height for thought description field on homepage
#

On the homepage, there is an input field that you can use to give your thought a description.

I have decided to increase its height, because it has started striking me as too narrow.

Show message for empty description in list of thoughts
#

Before this change, in the list of thoughts, Futtun just showed nothing for the thought if its description was empty.

Now, it shows a message letting the user know there is no description.

Add title to thoughts
#

I have added a title to the thoughts. From a technical perspective, it was easier than I thought it would be. I just had to increase the database version, add a new index for title on the thoughts IndexedDB table, and backfill all the existing thoughts. For some reason, I was convinced it was going to be much harder. As a side note, a thought’s title can be empty, just like the description.

Having this new property for thoughts meant I had to modify all the React component to allow adding / modifying / displaying it, whatever may be the case. A notable exception is the homepage, where I opted to forego the title field. For the time being, I want to keep it as clean as possible, so only the description field and the submit button are there.

Of course, the title also appears in the audit file, and Futtun can parse it.

I also had to change how the list of thoughts looks, because the new title field made the page too cluttered on mobile. So, when using Futtun from a mobile device, every thought is split into 3 rows:

  • Top row is the title excerpt;
  • Middle row is the description excerpt;
  • Bottom row are the buttons.

When not using a mobile device, each thought is still on only 1 row, and the title excerpt is at the start of said row.

Several other improvements
#

They are not big enough to warrant their own section, but I still want to point them out:

  • I have reduced the code duplication across Futtun’s React components. Rather than copy-pasting some HTML elements around, they now live in a centralised component, with an argument to apply the relevant CSS classes;
  • Removed null checks for thoughts across Futtun’s React components, because now that it has a not found page, they are superfluous. While there are no immediate benefits to doing this, improving the code quality felt good. If you know some parts of the codebase are a mess, you are less willing to change them, because it is easier to run into problems.

Dependency updates
#

With Futtun being an Internet facing application, I will now need to keep on top of updating its dependencies for as long as I will keep Futtun available.

Conclusion
#

Thank you for your time, and I hope to see you again soon. Bye bye.