When I first started building websites back in the late 90s and early 2000s, I was convinced that every pixel mattered. Every gradient, every drop shadow, every menu animation had to be just right. For years, as I built sites for clients in places like Felixstowe and across Suffolk, I spent countless hours agonising over details that, looking back, were largely trivial.
My journey from a web designer obsessed with the minutiae to a builder focused on core functionality has been a long one. It’s a story about learning what truly moves the needle for an online business and what’s just a distraction dressed up as design.
The Era of Pixel Perfection and Endless Revisions
I remember the early days of client work, particularly when I was building ecommerce websites. The client would often have a very specific vision, sometimes based on a competitor's site or a magazine layout. My job, as I saw it, was to translate that vision into a pixel-perfect digital reality. This often meant:
- Exact Colour Matching: Spending ages tweaking hex codes to match a printed brochure, even though screen calibration differences meant no two users would see it exactly the same way.
- Precise Layout Replication: Trying to replicate print layouts or Flash-era designs in HTML and CSS, leading to complex, often bloated code just to achieve a specific visual effect.
- Custom Fonts for Everything: Before web fonts were common, this involved image-based text or complex JavaScript solutions, adding weight and slowing down pages.
The feedback loops were often endless. A client might request a button be moved two pixels to the left, or a shade of blue be slightly warmer. I took pride in my ability to deliver exactly what was asked, no matter how minor the change. What I failed to see, however, was that these micro-adjustments rarely, if ever, translated into better business outcomes.
They didn't sell more products. They didn't improve conversion rates. They certainly didn't help with search rankings. They simply satisfied a subjective aesthetic preference, often at the expense of speed or usability.
Obsessing Over Specific Technologies and Frameworks
As the web evolved, so did the tools. WordPress became a dominant force, and I spent years building custom themes and plugins for clients. While WordPress is incredibly powerful, it also introduced a new set of obsessions:
- Theme Frameworks: Debating the merits of one framework over another, believing that the 'right' underlying structure would somehow guarantee success, even if the end user experience was identical.
- Plugin Bloat: Adding dozens of plugins for every conceivable feature, often unaware of the performance overheads or security risks they introduced. The goal was feature parity, not necessarily efficiency.
- Custom Post Types & Taxonomies: Building overly complex content structures when a few simple pages would have sufficed. It felt 'professional' at the time, but often led to clients needing more training and struggling to manage their own content.
I remember building intricate systems for local businesses that were far more sophisticated than their actual needs. They wanted a simple way to update their opening hours or add a new product, but I'd deliver a full-blown custom content management system. It was impressive from a technical standpoint, but often an over-engineered solution for a straightforward problem.
The underlying technology, while important for a developer, was often invisible and irrelevant to the client's customers. They cared about finding what they needed quickly and easily, not whether it was powered by a custom Gutenberg block or an Advanced Custom Field.
Micro-Optimisations That Barely Moved the Needle
In the world of SEO and web development, there's always a new best practice or a new metric to chase. For a while, I was caught up in the cycle of micro-optimisations:
- Perfect PageSpeed Scores: Spending days shaving milliseconds off load times, when the real bottleneck was often the hosting or a third-party script beyond my control. While speed is important, the diminishing returns on chasing a perfect 100 score were significant.
- Semantic HTML Purity: Ensuring every tag was perfectly semantic, even when it made the code harder to read or maintain, and offered no tangible benefit to users or search engines in the real world.
- Image Compression Obsession: Compressing images to the absolute smallest file size, sometimes sacrificing noticeable visual quality for a few kilobytes. Modern CDNs and browser caching often made these efforts less impactful than I imagined.
These were often good practices in theory, but my obsession with them led to disproportionate effort for negligible gain. The time spent chasing these marginal improvements could have been better invested in understanding the client's business, improving their content, or simplifying their user journey.
The Real Lessons: Clarity, Speed, and Conversion
Over the past two decades, my perspective has shifted dramatically. I no longer obsess over pixel-perfect layouts or overly complex technical solutions. Instead, I focus on what genuinely helps an online business succeed:
1. Clarity Over Complexity
Users need to understand what you offer, why it matters to them, and what they should do next. A clear call to action, straightforward navigation, and concise messaging trump any fancy design element.
2. Performance as a Feature, Not a Chore
A fast website is crucial, but it's about providing a smooth, frustration-free experience, not chasing arbitrary scores. Focus on major bottlenecks first, then iterate. Good hosting, efficient code, and sensible image usage go a long way.
3. User Experience is About Utility, Not Aesthetics
Does the website solve a problem for the user? Is it easy to find information? Can they complete their goal (e.g., make a purchase, contact the business) without friction? These are the questions that truly matter. Beautiful design is a bonus, but never a substitute for utility.
4. Content is Still King (and always will be)
No amount of design wizardry can compensate for poor or irrelevant content. Useful, engaging, and relevant content is what keeps users on your site and helps you rank for the right searches. This was a lesson I learned early on with my first exit, a T-shirt business that grew by making its catalogue searchable online. You can read about it here: The Printed Catalogue That Became My First Exit.
How This Changed My Approach to Building My Own Products
Today, when I'm building my own projects, like the new Client Room for 1J2 Invoicing or my Loyalty platform, these lessons guide every decision. I start with the core problem I'm trying to solve and the simplest, most direct way to solve it.
I've embraced the idea that the best businesses start with an irritation, and the solution doesn't need to be over-engineered. My focus is on robust functionality, efficient code, and a clear user journey, rather than chasing fleeting design trends or technical purity for its own sake. I've also found that my obsession with automation has served me well, allowing me to build systems that multiply effort without adding unnecessary complexity to the user interface.
The web has changed dramatically since I started twenty-five years ago, but the fundamental principles of building something useful and usable remain constant. Letting go of those early web design obsessions wasn't about lowering standards; it was about raising my focus to what truly delivers value.


