
Why I Build Tools Instead of Just Writing Code
How building internal tools and dev-centric products helped me grow faster than chasing shiny frameworks—plus the mindset shift that made it click.
Surelle
Most devs chase cleaner code, better patterns, or the next big JS framework. I did too—until I started building actual tools.
Real-world, used-daily, opinionated tools that solved team pain. That shift—from just coding to tool-making—changed everything about how I think, build, and even enjoy engineering.
This post is a look into that journey.
From Code to Context
Writing code is fun. But I realized something was missing when my commits merged and… nothing really changed for anyone.
I started asking: “What am I actually improving here?” That’s when I noticed recurring pain points in my team's workflow:
- People forgetting who had access to which system
- Managers pinging engineers for timesheet reports
- Workflows spread across three spreadsheets and five Slack channels
So I stopped trying to just write better APIs, and started building tools that removed these frictions completely.
The First Internal Tool That Hit
The first internal tool I shipped wasn’t pretty. But it worked. It was a PyQt-based workflow and RBAC manager with:
- Role + team assignment via GUI
- Status transitions editable in JSON
- Drag-and-drop UI to model state machines
- Timesheet Gantt viewer to visualize productivity
It wasn’t revolutionary, but it changed how fast we could onboard users, clarify access control, and resolve edge-case issues in production.
Suddenly, my code wasn’t just "merged"—it was used.
Why Tools Matter More Than Syntax
Tooling is infrastructure. It scales decision-making, not just performance.
Here’s what I learned:
- A 300-line tool that prevents human error is more valuable than a 3-line micro-optimization
- Developers trust systems more when they see what’s happening
- Business users are more empowered when they don’t have to file a ticket
I stopped chasing "cleanest code" and started chasing leverage.
The Tech Stack Doesn't Matter—The Feedback Loop Does
I’ve built tools in PyQt, Nuxt, NestJS, PostgreSQL, and even shell scripts. The stack isn’t what made them valuable. It was:
- Being close to the pain
- Iterating weekly with feedback
- Saying no to “nice to haves” until it solved the core problem
Sometimes my MVPs were ugly. But they worked. And they unlocked trust and speed that abstract "clean code" never did.
Developer Tools as Products
Eventually, I realized my tooling wasn’t just “internal utilities”—they were products for developers.
That’s how I treat everything now:
- A cache package? Treat it like a service. Include metrics and docs.
- A role manager? Treat it like an admin panel SaaS would ship.
- A workflow editor? Make the UX click without needing onboarding docs.
By shifting my mindset from “internal script” to “product thinking,” the bar went up—and adoption followed.
Final Thoughts
If you’re a dev who wants to grow fast: build tools.
- Solve a real workflow bottleneck
- Focus on clarity, not cleverness
- Treat devs as users, not just implementers
The rewards aren’t always stars or GitHub followers—but they’re real. Confidence. Trust. A faster team. And a deeper understanding of how your work fits into the whole system.
Building tools isn’t extra work. It’s the work that matters most.
If you're building internal tools too—or thinking about it—I'd love to hear what you're working on. Hit me up, let’s share notes.