Archiving Strawberry

Why it started

Strawberry was an experimental web framework I’d started writing to see if the niceties of modern web frameworks could be had without the kind of involvement they demanded—build steps, DSLs, tooling, heft, etc.

From Strawberry's website:

I wanted to write a simple website.

I restrained myself from using the usual frontend frameworks; for my purpose, their murder of dependencies felt like gross computational opulence.

These previously, on annual re-visitation, instead of showing me my website after an innocuous yarn build, have sprawled my terminal with scary red text; portent of wasted hours.

The simple website refers to 18alan.space, which previously was written using Gatsby (React), TypeScript, GraphQL etc. I remember opening the repo to write a post after a long gap and noticing that everything was unnecessarily complex.

There were 43 TypeScript files, weird GraphQL queries for fetching images into blog posts, MDX, and other such inelegant warts. Considering my website was just a handful of blog posts, it all felt deeply stupid.

It was, in hindsight, a junior-developerism where one feels impelled to shoehorn the latest tech-stack being peddled by the dev-fluencer folk in an effort to signal some kind of .

My reaction to this was rewriting my website using plain HTML, CSS, JS. No React, no TypeScript, no GraphQL. It was a silent rebellion of sorts. But I needed to add some dynamic interaction to it, and regular JavaScript felt a bit cumbersome. This lead to me making Strawberry.

Why it stopped

A few things happened. I ended up just using regular JavaScript in my website—ironically even Strawberry felt like overkill. And not much later, my work shifted away from Frappe Books (an Electron app) to Frappe Cloud (a hosting platform).

It was a switch I made specifically to move away from webdev to gain some competence in other aspects of software development. This put significant distance between me and frontend development. I wrote close to no JavaScript in that time.

Even the next non-work project I did—fex, a CLI file-explorer in Zig—had nothing to do with webdev.

Then in mid 2024, I got back into photography and wanted to showcase the pictures I had captured. Unsplash, which I’d used earlier, felt weird on . And Instagram, which also I’d used earlier, just felt . So I just decided to go with my own website.

It turned out that showing pictures on a website isn’t as straight forward as slapping an <img /> in your HTML and calling it a day. There is some sizable complexity involved. And so I was back to the problem that impelled me to make Strawberry.

I’d started writing the photos page in plain webdev. It didn’t feel tedious. I realized there was a certain amount of fluency I had accrued over the years, and so I didn’t find the need to use Strawberry.

I had no use for Strawberry.

The decision

Archiving Strawberry was a bittersweet decision to take.

Working on Strawberry was a lot of fun. It was an inlet for excitement for when work had gotten stale. Coming up with solutions to handle different reactivity problems felt like fun puzzle solving. Designing the website, the logo, all of it was quite rewarding.

But at the end of the day, I didn’t use it. Even though I felt it had potential, I didn’t have the need for it, and so the ever-imperative final push was absent.

Ideas—manifested or otherwise—will wither away in the absence of their utility.

Now when I consider sinking time into a project, I end up wondering how much do I need this to exist, or how much will I learn from doing this, or more poignantly, . This line of thought—of finding the angle—is antithetical to fun.

Sometimes an idea will take a firm and unrelenting , and I’ll end up sinking a few weekends in an attempt to realize it. But eventually the grasp weakens, and my logical brain is invoked to find the angle—how can this project be pimped for personal profit?

A , someone raised an issue on Strawberry’s repo and I got notified. I opened the repo. I looked at the project, the code. I got excited. I created a list of what to do next, and started with it.

But when I kept the editor aside, my mind drifted towards finding the angle. I couldn’t find one.

The world didn’t need Strawberry, and neither did I. For fun, there were already a handful of other things I wanted to dive into. Having this waiting to be picked up weighed on me in some strange way and impeded me from diving into those things. And so the decision was made.