Brett Owers
← All Projects

I Just Got An Idea

Archived

November 15, 2024

ijustgotanidea.com — an idea ingestion system backed by 22 microservices, each named after a Hebrew letter. Aleph was ingestion. The rest never went anywhere. A true tragedy of over-engineering: 22 services for a problem that needed a text file.

Purpose

The concept was simple: capture ideas the moment they arrive, before they evaporate. A frictionless ingestion system — speak it, type it, sketch it, and it gets stored, categorized, and surfaced when relevant. The implementation was not simple: I built 22 microservices to support it, each named after a Hebrew letter (Aleph = ingestion, Bet = storage, Gimel = categorization, and so on through the entire aleph-bet). It was the most ambitious architecture for the simplest problem.

Stack

MicroservicesDockerNode.jsAPI GatewayHebrewOver-Engineering

What I Learned

  • Twenty-two microservices. For an idea capture app. Aleph handled ingestion (receiving the idea from the client). Bet handled storage. Gimel handled categorization. Each letter of the Hebrew alphabet mapped to a service in the pipeline. The architecture was beautiful on a whiteboard. In practice, 22 services meant 22 Dockerfiles, 22 port assignments, 22 logging configurations, 22 potential points of failure, and one developer trying to keep them all running.
  • The Hebrew letter naming was genuinely meaningful — each letter's traditional symbolism informed the service's function. Aleph (ox, strength, first) = the ingestion point, the first contact. Bet (house, container) = storage. Gimel (camel, journey) = transport between services. The system of meaning was coherent. The system of software was not.
  • Microservice architecture is designed for teams, not individuals. The benefit of microservices — independent deployment, separate scaling, team ownership of individual services — only materializes when you have teams to own them. A solo developer with 22 microservices is not doing microservices. They are doing 22x the operational overhead of a monolith for zero architectural benefit.
  • The right architecture for an idea capture app is: a text file. Or a single-table database. Or a note in Apple Notes. Or a message to yourself in Slack. The problem (capture an idea before it disappears) has a 10-second solution. Wrapping it in 22 microservices transformed a 10-second solution into a 10-month project that never delivered the 10-second value.
  • The tragedy is that the ideas — the actual ideas that the system was supposed to capture — were being generated faster than the system was being built. While building the idea ingestion system, I had dozens of ideas that I captured in... Apple Notes. The system designed to replace Apple Notes was less useful than Apple Notes the entire time it was under construction.

Key Insights

  • This project is the purest example of over-engineering in the entire blog — and possibly in the history of side projects. It is also the most instructive. Every impulse that creates over-engineering is visible here: the love of architecture for its own sake (22 services!), the desire to build something "real" (microservices!), the intellectual delight of a naming system (Hebrew letters!), and the avoidance of the boring truth (a text file would have worked).
  • The Hebrew letter system reveals something about how I think: I am drawn to structures where every element carries meaning beyond its function. Services named Service1 through Service22 would have been technically identical but emotionally intolerable. The naming mattered to me even though it mattered to no one else. This is the builder's curse: caring about elegance in places where only pragmatism is required.
  • The lesson is not "never build microservices." The lesson is "match the architecture to the problem, not to your ambition." A monolith that ships beats 22 microservices that do not. A text file that captures ideas beats an ingestion pipeline that is still under construction. The goal was to capture ideas. The outcome was to build infrastructure. Those are different goals, and confusing them cost months.
  • ijustgotanidea.com as a domain name is still great. The concept — frictionless idea capture — is still valid. If I were to rebuild it today, it would be a single Claude Code command: "save this idea to a markdown file in ~/ideas/ with a timestamp and a tag." One line. No microservices. The sophistication is in knowing what not to build.
#microservices#over-engineering#Hebrew#architecture#Docker#idea-capture#tragedy#monolith#solo-developer#lessons-learned

This post was composed through a conversation between Brett Owers and Claude Code (Anthropic). The content reflects Brett's recollection of each project and the lessons drawn from it. Some details may be approximate or omitted — the purpose is to paint an honest picture of a software engineer's development over time, not to serve as a precise historical record.