Skip to main content

Side Projects Are Where I Go to Be a Beginner Again

Side projects as a space for learning: an abstract take on code, data and systems
Side projects as a space for learning: an abstract take on code, data and systems

After twenty years of client work, I noticed I was solving the same kinds of problems with the same tools. That is what clients pay for. It is also how you fall behind without noticing.

Client projects are the wrong place to experiment. So I built two products of my own: Netfiscus, a personal net worth tracker, and Libra, a comparison platform for mortgages, broadband plans, and vehicle inspection stations in Moldova.

Each one forced me into problems my day job had not.

Netfiscus started because spreadsheets stopped working for my own finances once I needed history, projections, and several currencies in one view. I built it with Symfony, CQRS, and React, patterns I already knew well. The new part came later.

I connected Netfiscus to an AI assistant through the Model Context Protocol, so a model could read balances and record cash flows on a user’s behalf. That raised questions I had never had to answer. How do you authenticate an AI client with OAuth? Which actions should a model be allowed to take, and which should cost something or be reversible? How do you describe money, currencies, and dates precisely enough that a model does not guess? I answered them by shipping, testing with real sessions, and fixing what broke.

Libra taught me that a comparison site is a data problem, not a website problem. Bank rates change, providers rename plans, and pages break without warning.

My first crawlers were scripts that failed silently overnight. I replaced them with workflows on Temporal, with PHP workers running on RoadRunner. Now every step retries on its own, and when a source changes its layout I can see exactly which step failed. The public site is generated with Astro, so it is fast and cheap to host.

Real users brought real problems. Inspection station listings had wrong locations, so I built a tool to verify them against GPS coordinates. Analytics session replays started costing more than they were worth, so I had to decide what I actually needed to measure.

Three things I would pass on.

Build something you will use yourself. You cannot ignore a bug that annoys you every morning.

Add one unfamiliar technology per project. Netfiscus gave me AI integration. Libra gave me durable workflows. Everything else was familiar ground, which left room to learn the new part properly.

Bring it back to work. Most of what I learned here has already helped in client projects, usually as a better question asked earlier.

Experience tells you what worked before. Building something new tells you what works now.

The views expressed in this article are those of the author and are for informational purposes only. They do not necessarily reflect the views of Honor Society®, a private membership organization. Participation is voluntary and does not guarantee specific outcomes, including scholarships or employment. Readers should independently evaluate all information.