Lessons learned building a small business website for fun
Medspa site I hand-coded and topic of article: amplified-beauty.com
“We have no idea what to do with this website. It’s broken all over, and we got ghosted right after it was delivered.” Words from a family member of mine who runs a medical spa business. Being the sole tech worker in my extended family, I often find myself on the receiving end of these sorts of vents, though this time the vent was actually about a technical problem relatively close to my skill set.
“I can make you a better site.” Words are easy in the moment, but as usual, the ensuing work far exceeded what I imagined for a simple med spa website. It became far more than a hobby project. Now, a year later, I reflect on the website, the mistakes, the triumphs, and a few personal truths.
First insight: I drastically underestimated how hard it is to be a project manager. We adjust so quickly to our environments that it’s hard to remember how I thought before Agile, and how counterintuitive that system feels to people outside of it. My initial list of requirements ballooned to 24 pages, several involving dynamic forms connected to third-party services like Mailchimp and Zapier automations. I spent several months in dumpster-fire mode because I didn’t do the upfront work to organize and prioritize “simple” website.
Second insight: There is a reason small businesses use site builders. I’ve worked on enterprise projects with huge teams for companies operating in the nine-figure-plus range. We write from scratch, craft custom solutions, and endlessly refine purpose-built systems. The feedback loop is fast, and if something breaks, it breaks dramatically. So, in arrogance, I looked down on site builders and built the med spa site in Astro with custom code. The upside: a lightning-fast website with completely unique branding and a look and feel I genuinely enjoyed building. The downside: I severely limited my family member’s options for who could maintain the site. Instead of working with marketing agencies or entry-level talent for updates, they now need freelancers with very specific skill sets. In retrospect, I got too caught up in what I liked. I would have better served the business with a less flashy, more generic WordPress or Wix site. A tool’s value depends on how well it matches the problem it’s solving.
Third insight: Custom code is expensive for a reason. I was quick to offer custom-branded, hand-written solutions for some intensive forms and workflows within the site. Technically, I’m very proud of those features. But I should have offered third-party services with embed code instead. I underestimated the complexity, the amount of edits and refactors that would be requested, and the time required for planning. The result was me working for less than minimum wage while delivering high-end features. Eventually, I started offering more realistic pricing and simpler solutions, but it was a major learning curve. Being supported by a large team that already has pricing, scoping, and planning figured out so I can focus purely on development is a luxury I didn’t fully appreciate until I took on this project myself.
I’m a bit of a pessimist by default, so naturally my postmortem focuses on the ways I failed, and there were plenty. But I also made meaningful strides in areas of the Software Development Lifecycle I hadn’t been exposed to before, and I learned more about myself in the process. Part of this project was a test to see whether I had any interest in running a dev shop or small web business, and it proved pretty definitively that I do not. I enjoy being responsible for a specialized subset of work. I’m not the entrepreneur-type that can wear every hat in the business and enjoy it, and I’m okay with that. I’m also not meant to be the direct bridge between non-technical business stakeholders and the technical side. The communication skill required for that role is immense, and I came away with a newfound appreciation for the project managers and product people who do it every day. Most importantly, I learned that sometimes you have to take on a hobby project and drown a little for the sake of learning. While I wouldn’t do this kind of project again, I’m very glad I dove in and gave it everything I had. I love helping friends and family when I can, but I’ll be scoping that help to nice weekend size projects from now on, or technical advising.