I came into software from travel, and not the other way around. In 2023 I was running a small travel agency out of Cartersville, Georgia, and the whole operation was being held together by a shared Google spreadsheet that had grown, over a couple of years, to forty-one tabs. It was clear that the agency was never going to scale that way. The margins would not have supported hiring additional staff, and most of what additional staff would have done was look things up inside a spreadsheet. What the business actually needed was software of its own, and because nothing I could buy off the shelf matched the specific shape of the operation, I decided to sit down and write the software myself.
I began with the database, because the schema is the part of any system that is most expensive to get wrong in the long run. Once the schema was in place the rest of the platform followed in a fairly natural order: first a Hono API on top of the schema, then a marketing site on top of the API, then Miles the concierge on top of both, and eventually a full CRM to replace what the spreadsheet had been pretending to be. Somewhere in the middle of that eighteen-month stretch the project stopped being a side interest and became the main thing I spent my working hours on.
The stack I use is deliberately unromantic, in the way a good toolbox is. It is whatever I have found will get a piece of software into production on a small-to-medium VPS and keep it there without drama, which has meant Astro and React on the front end, Hono and Fastify on the API tier, PostgreSQL as the only database worth having, Drizzle for the schema layer, Docker and Traefik at the network edge, n8n for the glue work between services, Claude for the parts of a workflow that call for real judgment, and a locally hosted model for when the network will not cooperate. I have held to this stack for almost two years now without once feeling the urge to replace any of it, which I take to mean that the original choices were probably defensible. If none of those names mean anything to you, the translation is that I have not swapped any of them out in two years, and I do not plan to.
What I do for a living, if the description has to fit inside one sentence, is own complicated multi-service systems end-to-end. That means that on any engagement I take, the same person writes the database schema, the API, the deployment scripts, and the middleware that has to be added urgently when something unexpected breaks, and that same person is the one every alert reaches. I like the work, and I have no particular plans to do anything else.