This project from 2024-2025 is part of my journey, follow the other parts v1, v2 and v3.

Introduction: Pushing My Favorite App Beyond Its Limits

My note-taking app (v3) is my source of truth. I use it every single day because it’s offline, Markdown-based, and lets me organize my notes hierarchically. From book summaries to guitar tabs, everything goes in there.

As a natural consequence, I started wanting more. My list of requirements grew longer and more exigent:

My current software development workflow was so streamlined that I could ship features, even if I have only 15 minutes.

Sidenote: I validated this architectural approach at a startup that had a huge frontend bottleneck. They gave me the green light for a full refactor, and I delivered a successful MVP in just 4 weeks. It was solid proof that a clean architecture is the foundation for speed.

The Challenge: From 12 Jobs to 100

My research into engineering, philosophy, and art sparked a creative fire 🔥. I was inspired by the 12 Jobs of Heracles and thought: “He became a great hero after completing the 12 jobs”. I wanted to grow, it motivates me to challenge myself. These thoughts culminated in my own challenge The 100 Jobs of elVengador!.

This wasn’t a literal number, but a guiding philosophy: tackle every real-world problem with a dedicated software solution.

Architecting the Ecosystem: The Right Tools for the Job

I started the challenge, my first Job was an app to help memorize some data, I set it up from scratch moving the best parts of my workflow, I noticed a bottleneck in my process for starting new projects. It took too much time, and I saw a clear pattern of repetitive steps. Here is the pattern:

“Stack of technologies: with Astro, React and Tailwind, the clean architecture, the ci/cd, Vitest, and other initial setups”

It result in the creation of my Frontend template helping me to create a new ev-job in just one click 👏.

I started implementing the UI and defining again the component guided with UX, it takes the normal time to create a new component library, after complete the view I notice another pattern:

“The primitive components had similar properties in both projects, I can reuse my component library from Royal Palace if I make it configurable from outside”

I created another private repository where I moved the common components. This expanded my scope of thinking, instead thinking only on a project now I’m architecting my private ecosystem, that improving my DRY. After create my private package I’ve installed on Royal Palace and my new Job as result the views looks amazing, consistent and with less effort.

In another Job I require the backend, I’ve used the Astro DB because is more simple than Cloudflare D1, it works perfect on my use case. Then I notice some limitation at that moment:

My Backend takes a different strategy based on requirements. After this improvements my challenge of 100 jobs start moving more quickly. Here is a list of some of the most important:

private-ecosystem-diagram.webp

Final Words: The Architect’s Mindset

This journey taught me to detect patterns. When things get complicated, I remember KISS. When a design is beautiful but not functional, I remember: functionality over design — user centric. Every decision is guided by a principle, every line of code has its purpose.

I learned to be critical of new technologies and understand if they offer real value or are just wrappers.

Not all was victories. Many ev-jobs never saw the light of day because I hit the limits of my knowledge at that moment. But I’m touching the edge of technology, and that’s what motivates me to innovate. These experiences prepared me to architect any software, small or large, because now I have a plan to manage complexity.

Royal Palace Link