Building Axotly: A Lesson in Simplicity
In the world of software development, it's not uncommon for a weekend project to turn into a multi-weekend endeavor. This is the story of Axotly, a lightweight CLI tool for testing APIs, and the design lessons learned along the way.
The Challenge: Writing a Scalable Parser
The initial goal was to create a CLI tool similar to Postman, but designed with a command-line interface (CLI) as the primary focus. However, writing a parser proved to be a more complex task than anticipated. The first attempt, though functional, was neither maintainable nor scalable.
Learning from Scratch
Starting from scratch, a parser was built, but it soon became clear that every change felt risky. Tracking how the input format evolved over time was already becoming difficult.
Discovering .pest
A search on the web led to grammar-based parsing with .pest, a tool that completely changed the approach to structure, updates, and long-term maintainability, even for a small tool.
The Experiment: AI Coding Agents
Along the journey, AI coding agents were experimented with, including Gemini CLI, OpenCode, and Claude Code. While these tools could generate working code, adjusting the prompts to suit specific needs sometimes took more time than writing the code manually.
Knowing When to Ignore Them
Despite their potential, AI agents sometimes suggested too much code or slop, requiring a step back and a rethink of the architecture to maintain simplicity and maintainability.
The Result: Axotly
Axotly, the lightweight CLI tool for testing APIs, was eventually born from this design journey. The lessons learned here are applicable to anyone building small tools that need to stay simple over time.
Relevance to North East India and Beyond
The North East region of India is home to a vibrant tech community, with many developers building innovative solutions. The story of Axotly serves as a reminder of the importance of simplicity and maintainability in software development, regardless of the scale of the project.
Looking Forward
As we continue to innovate and build, let's remember the lessons learned from projects like Axotly. Simplicity is not just a goal; it's a constant challenge that requires a balance between momentum and long-term maintainability.