// HACKER NEWS — CYBERSECURITY
The Year of Internal Tools
At Geocodio, it has always been important to us to automate processes and build our own tools and helpers, so we can save time and be more efficient. For almost ten years, Geocodio was just the two of us. Automation is a big part of what made that possible.
Those tools have saved us countless hours over the years. Local bash scripts that set up a development environment or download the specific data files we need for geocoding. Infrastructure scripts that check the health of the load balancer or sync some data down. Small scripts that make the on-premises release process faster and more efficient, with fewer manual steps and less room for human error.
One of the bigger ones came along well before the AI era. We built our own deployment tool. It visualizes the deployment process, so we can easily see how far along a deploy is and what is live right now. If something goes wrong we can see it and roll back. It handles deployment freezes and a bunch of other things that would be a lot more cumbersome and a lot less transparent as a manual process.
All these small scripts and helpers and various tooling have been helpful over the years and have had a positive impact. But it pales in comparison to where we are at in 2026 and what we are able to do now.
This is the year of internal tools. We have gone from creating small bash scripts here and there, artisan commands in Laravel, small isolated repos with code to generate reports, to being able to really raise our ambitions and create full-fledged internal apps. Mobile friendly, good UX, fantastic test coverage.
What allowed us to do that is the advent of AI and frontier models that let us build at a much higher level than we have ever been able to before.
I must admit that in the beginning I was hesitant to start taking on these larger projects. The thing that always got in the way of the bigger, more ambitious ideas was not the building. Even pre-AI you might be able to knock out some kind of awesome internal tool over a couple of days. But then you have the maintenance burden. You cannot keep building tools if you do not think about the fact that you have to maintain them, keep them working, keep them up to date, fix the bugs you find.
That is the other side of the coin, and it is the side AI has also allowed us to solve. I am not worried about building all these internal tools and maintaining them, because I can use AI to keep up with the maintenance as well.
We have gotten to the point where we have specific systems in place that let us quickly scaffold and create a new internal tool. We recently launched our console-ui package, which includes Tailwind CSS tokens as well as shared React components, so all these internal apps share one component library instead of each one growing its own.
We have also built up enough experience with AI that we have some solid principles for how to give these tools a strong foundation, so they are built for the long term: