← Back to all blogs

Reaching Our First Milestone: 10 GitHub Stars

Published on March 17, 2025
GitHub stars milestone celebration

Reaching 10 GitHub Stars

At Kontroler, we’ve reached 10 GitHub stars! While this might seem small to some, for me it represents countless nights of coding, moments of doubt, and validation that perhaps this crazy idea might actually be useful to others.

The Beginning: Just Another Side Project?

It started like many side projects do - with a problem that bothered me enough to do something about it. Having previously worked with Kubernetes workflows, I found myself increasingly wanting features from one tool in another, constantly thinking “surely there must be a better way?” Little did I know this simple question would lead to months of learning, challenges, and growth.

Though I have only scratched the surface of what I want to achieve, and there’s still lots of work ahead!

The Hard Times

The Lonely Months

The first few months were fun and exciting, watching the shape of my new engine slowly taking form. The moment I was able to allocate pods via a CRD was an amazing milestone.

As with most projects, there comes a time when it seems all-consuming. Spending evenings and weekends coding while watching others enjoy their free time made me question my choices. There were moments when my only company was my wonderful dog - if it wasn’t for her companionship, it would have been a much lonelier journey.

The Breaking Points

I hit several low points:

  1. The Database Disaster I decided to introduce SQLite as an option, supporting both PostgreSQL and SQLite. Now that I’ve dealt with most of the pain from this decision, I can reflect more clearly. For a good month, it was a constant battle trying to keep the two systems in sync. If there was a bug in one, there was likely a bug in the other. The work required to implement any feature essentially doubled. Dropping support also felt wrong - all that work would be wasted. I had caught myself in my own catch-22.

  2. Trying to Build Everything Myself I wanted no external dependencies in my UI. Since I don’t often work with frontend code in my current job I wanted to learn how to do everything myself. Trying to make progress without using any imports proved much harder than anticipated, especially when implementing cool visualizations. This led me down the path of writing my own mini-library for displaying DAGs.

    I eventually decided on a “learn then swap” approach. I’d build a minimal solution first - if it worked well enough with little additional work, I’d keep it. If not, I’d swap it for a production-ready solution. At least this way, I’d understand how it works! This compromise has served me well.

  3. Building Features for No One There were moments when I didn’t really know which direction to take, with no one to provide feedback. I understood why adoption was slow - a Kubernetes workflow engine is a niche technology, and there are many other more feature-complete solutions available.

    I ended up becoming my own user, focusing on using it as a CI workflow tool and trying to solve my own problems. This led to building a side project on top of my other project, which helped me develop features I actually needed, such as workspaces and duration tracking.

The Turning Points

The First Star

That first star… I must have refreshed the page 20 times to make sure I wasn’t seeing things. Someone thought this project was worth starring. It might sound silly, but I literally ran with my laptop to show my wife that I got a star!

The Self-Testing Milestone

One of the most satisfying moments was when Kontroler became capable enough to manage its own CI pipeline. There’s something deeply satisfying about a tool testing itself - it’s like watching your creation come full circle. The moment I saw Kontroler spinning up pods to run its own test suite, I knew we’d reached a significant milestone.

This wasn’t just about running tests; it was validation that the engine was stable enough to handle real-world workloads. If it could manage its own CI/CD process, including parallel test execution, workspace sharing for test artifacts, and handling test failures gracefully, then it was truly becoming the tool I had envisioned.

What made this even more special was that every new feature I added to Kontroler could immediately be used to improve its own testing process. It became a virtuous cycle - better features led to better testing, which led to more reliable features.

Wrapping Another Project with Kontroler

I started building a project that might allow me to explore startup opportunities in the future (years away, at least). Building something that gives me more options for the future has made all the time spent on Kontroler feel worthwhile.

Lessons Learned

It’s Not Just About Code

The biggest lessons weren’t technical at all. I discovered that:

  • Perfect code matters less than solving real problems
  • Documentation is as important as features - returning to read your own notes can really make you appreciate your past efforts
  • Focus on learning - even if your solution isn’t perfect, understanding how things work is invaluable
  • Small, consistent progress beats sporadic bursts of development
  • User experience matters more than clever engineering

Technical Growth

Through building Kontroler, I’ve learned to:

  • Start with simple solutions and iterate
  • Test features in isolation before integration
  • Consider maintenance costs before adding features
  • Question whether complexity is really necessary - you don’t need to scale to millions of users, try 1000s or even 100s

The Human Side Is Often Forgotten

The personal development aspects surprised me most:

  • Taking regular breaks isn’t optional - it’s essential for long-term progress
  • ”I don’t know” is a perfectly valid response - step away, clear your mind, and return with fresh perspective
  • Celebrate small wins - they maintain momentum and motivation
  • Share your progress, even if it feels insignificant
  • Your mental health matters more than your commit history. Don’t be sad about not making a commit all week, enjoy life!

Where We Are Now

Ten stars might not sound like much, but each one represents someone who thought Kontroler was worth remembering. Each star is a person who might one day use this tool to solve their own problems, and that makes all those late nights worth it.

Looking Forward

What’s Next?

I’m not sure where this journey will lead, but I know I want to:

  • Keep building and improving
  • Focus more on community building
  • Make Kontroler more accessible to newcomers
  • Keep working on Kontroler enjoyable

To Those Following Along

Whether you’re one of our stargazers, a silent observer, or just stumbled upon this post - thank you. Your interest and support, no matter how small, keep this project going.

Join the Journey

If you’re interested in being part of this journey:

  • Try out Kontroler and share your thoughts
  • Star our repository (every star makes my day)
  • Join our growing community
  • Share your own experiences and ideas

Visit our GitHub repository to be part of our story.