How I built Wooster
A dedicated series covering the development of Wooster, an AI-powered trip planning project. Explore the journey from an initial one-week MVP sprint, to deployment, and further feature implementation and refactoring.
Express Error Handling: Because Things Will Go Wrong
From try-catch hell to elegant error handling: A deep dive into implementing robust error handling in Express with TypeScript, custom error types, and global middleware.
Making Wooster Talk: A Deep Dive into Structured Logging
From chaotic console.logs to structured logging: How Wooster learned to communicate clearly using Pino, environment-aware configuration, and proper log levels.
From Fetch Mocks to MSW: A Testing Journey
How a simple Axios refactor led me down the path of modernizing my test mocks with Mock Service Worker, and the valuable lessons learned along the way.
Refactoring Wooster's API Layer: A Simple Approach with Axios
Moving from fetch to Axios: simplifying API calls, adding interceptors for authentication, and improving error handling - all while following the official documentation patterns.
Deploying Wooster: A Tale of Memory Limits and Nginx Configs
Adventures in deploying an AI travel planner: memory limits, OAuth drama, and rate limits.
State Management: Teaching Wooster to Remember Things
Building a clean, efficient state management system for Wooster using React, Supabase, and TypeScript: a look into reducer patterns, data fetching, caching strategies, and lessons learned from minimizing useEffect usage.
Structuring the Front End: Building Wooster's User Interface
Creating a well-structured front end for Wooster with a feature-driven component architecture, engaging UI, and a balance of simplicity and interactivity.
Building a Scalable Express Backend for Wooster
From MVC architecture to endpoint design: Building a scalable Express backend that even a golden retriever could understand.
Teaching an AI Dog New Tricks (The Gemini Integration)
Integrating Google's Gemini API to give Wooster its personality: prompt engineering, response parsing, and teaching an AI to think like a golden retriever.
Building Wooster's Backend Brain
Teaching an AI dog new tricks: database design, Express endpoints, and why I'm probably overthinking this.
Full Stack in a Week: Building an AI Trip Planner
Building a full-stack AI trip planner in one week - featuring a golden retriever named Wooster