Posts

Monorepos in Frontend Development: When, Why, and How to Use Them

  Monorepos are gaining traction in frontend development, with teams looking for better ways to manage shared code, dependencies, and collaboration across multiple projects. But as with any architectural choice, they come with trade-offs. Are monorepos the right choice for your team? Let’s break it down. What is a Monorepo? A monorepo (short for "monolithic repository") is a single code repository that contains multiple projects—such as frontend apps, backend services, shared UI components, and utilities. Instead of managing separate repositories, everything lives in one place, often with tools to handle dependencies and build processes efficiently. Monorepo vs. Polyrepo Why Use a Monorepo? ✅ 1. Shared UI Components and Logic Frontend teams often maintain design systems, component libraries, and utility functions used across multiple projects. With a monorepo, these shared resources are versioned and updated in sync , reducing duplication and inconsistencies. E...

Building for the Long Game: Avoiding Accidental Complexity in Frontend Development

Modern frontend development is powerful—but with power comes complexity. Are we overcomplicating things in the name of "best practices"? Every year, new frameworks, state management tools, and architectures promise better performance, cleaner code, or easier scalability . But often, the biggest challenge isn’t the technology itself—it’s the accidental complexity we introduce while trying to optimize too soon . Where Accidental Complexity Creeps In 🚩 Over-Abstraction in Component Design – A simple button component doesn’t need five layers of abstraction. Sometimes, duplication is better than premature generalization . 🚩 Over-Engineering State Management – Not every app needs Redux, Recoil, or XState. If your global state solution is harder to understand than the problem it solves, it’s probably the wrong tool. 🚩 Microservices and Monorepos When a Simple Repo Works – Splitting everything into isolated services or packages can add overhead. If a team spends more time ...

Web Development Trends in 2024: What Developers Need to Know

As a principal engineer who has observed the evolution of web technologies over the years, I remain both excited and cautious about the latest trends shaping our field. In 2024, technologies like AI, serverless architectures, and modern frameworks are at the forefront, guiding how we create efficient, secure, and user-centric web experiences. AI: More Than Just Chatbots Artificial Intelligence has evolved far beyond simple chat automation. Today, AI algorithms drive personalised user experiences, tailoring content and interface adjustments to individual preferences. Automated QA tools leverage AI for early bug detection, while predictive analytics optimise performance and anticipate user needs. Incorporating AI into our development workflows is no longer a luxury but a requirement for staying competitive. Serverless Computing Serverless computing continues to be a major disruptor. Platforms such as AWS Lambda and Azure Functions let develop...

Deno 2.0 - Mono-repos and workspaces

Image
 This article will cover configuring a mono-repo, workspaces, vite and a library package all in Deno 2.0 Project structure: `deno task dev` will spin up a sample vite website, where we can see the library being consumed. We'll do this in a few steps.  First we'll create the base Deno mono-repo, then we'll create the simple-login library. And lastly a vite website and hook it all together. Firstly, ensure you have Deno runtime installed on your machine.  I'll do a separate article on configuring this within Docker containers. Check:  https://docs.deno.com/runtime/ Then Create a new folder called `deno-monorepo` Create a file called `deno.json` inside it. Add the following contents into it: {   "workspace": ["./simple-login", "./website"],   "imports": {     "@std/path": "jsr:@std/path@^1.0.7"   },   "tasks": {     "dev": "deno run -A npm:vite website"   } } https://github.com/willia...

Don’t Look Back in Anger: Mastering the Art of High-Demand Ticketing Events

 In today's fast-paced digital landscape, ensuring the seamless operation of online services during high-demand events is paramount. The complexity of managing platforms like Ticketmaster, especially during major ticket releases, like Oasis 2025, cannot be overstated. The stakes are high, not just in terms of revenue but also in maintaining customer trust and brand reputation. Anticipation and Preparation The journey begins long before the event date is announced. It starts with careful planning, anticipating potential challenges, and preparing for all possible scenarios. This involves understanding the scope of the event, the expected traffic, and the unique demands it might place on our systems. Capacity planning is a critical component of this phase. Estimating the expected load is both an art and a science, requiring historical data analysis, understanding current market trends, and considering external factors that could drive traffic spikes. Once we have a reasonable estimate...

Preparing for Your First Frontend Developer Interview: The Essentials

If you're getting ready for your first frontend developer interview and want to focus on the core concepts rather than just memorising questions, you're on the right track. Here's a quick guide to the minimum essential topics you should be prepared to discuss, with a focus on the logic and understanding that interviewers often look for. 1. HTML/CSS Fundamentals    - What to Expect:  Basic structure of HTML documents, common tags, semantic HTML, and understanding of CSS selectors, layouts (Flexbox, Grid), and responsive design principles.    - Logic Focus:  Be ready to explain how and why you structure your HTML and CSS in certain ways. For example, why would you use a `<section>` instead of a `<div>`? Or how does Flexbox solve layout issues in responsive designs? 2. JavaScript Basics    - What to Expect:  Core JavaScript concepts like variables, data types, loops, functions, and event handling. Be prepared for questions on DOM man...

Ensuring Digital Excellence During the UEFA European Championship: A Strategic Approach to Service Reliability

As we approach the UEFA European Football Championship, the stakes are high not just on the field but also behind the scenes. Our responsibility is to ensure a seamless digital experience for millions of users who will engage with our service throughout the tournament. This involves a multifaceted approach—preparation, real-time maintenance, and a thorough postmortem analysis—that requires both technical expertise and strategic foresight. Preparation: Anticipating Demand and Scaling Accordingly The first phase is all about preparation. As soon as the event schedule is released, we begin modeling traffic projections. This involves analyzing historical data, understanding peak times during previous tournaments, and incorporating any new variables that might influence user behavior this year, such as the rise of mobile streaming or new markets with increasing interest in football. Once we have a clear picture of the expected demand, the focus shifts to scaling our infrastructure. We can...