Hi! đź‘‹ I'm Josh, a full-stack engineer.

I'm passionate about building robust and scalable software, particularly with TypeScript and Go. My background in enterprise SaaS informs my approach to crafting solutions, whether it's developing AI-powered platforms or award-winning hackathon projects.

My focus is on delivering reliable, well-tested applications. I'm currently diving deep into the AI landscape—building agents, experimenting with LLMs—and enjoy sharing my learnings through my blog.

picture of Josh Tuddenham

Skills

My approach to technical challenges is shaped by a diverse background in both early-stage fintech (building behavioural analytics for hedge funds) and rapidly growing enterprise platforms. This blend of experiences gives me a unique perspective on building robust and scalable solutions.

Additional Experience

Capital Markets

Deep understanding of fintech and capital markets, with experience in developing analytical tools to support investment strategies.

Complex Systems

Proven ability to architect and implement solutions for intricate trading systems and multifaceted business requirements.

Enterprise Solutions

Delivering robust, scalable applications for enterprise clients, focusing on performance, security, and integration.

Developer Tools & Utilities

Beyond full applications, I also enjoy creating tools and starter kits that streamline development and explore specific technologies. Here are some of my contributions to the developer ecosystem.

Blog

Deep dives into technical challenges I've tackled, from teaching an AI dog new tricks to wrestling with WebSockets. These posts explore the reality of software development - accidental rabbit holes and JSON-induced existential crisis.

Maya: A Multi-Agent Architecture for Conversational AI
AIMulti-AgentArchitectureLLMTypeScriptOrchestrationGemini

Maya: A Multi-Agent Architecture for Conversational AI

How I evolved my AI yoga instructor from a 2000-token monolithic prompt to an orchestrated system of specialized agents - and why separation of concerns might be the most underrated pattern in AI development.

The AI Creativity Paradox: Why Smarter Isn't Always More Creative
AILLMCreativityArchitectureYogaProduct DevelopmentAI Philosophy

The AI Creativity Paradox: Why Smarter Isn't Always More Creative

My journey building an AI yoga instructor revealed a core tension in modern AI: the battle between creative exploration and algorithmic efficiency. This is the story of that paradox.

AIgument: The Art of AI Disagreement
AINext.jsVercel AI SDKGeminiDebate

AIgument: The Art of AI Disagreement

Tired of predictable AI? AIgument transforms LLMs into theatrical debaters with distinct personalities and adjustable intensity. Watch a Shakespearean actor lock horns with a conspiracy theorist, then share the chaos.

Building a Live London Underground Tracker: Learning Go From Scratch
GoBackendAPIsWebSocketsConcurrencyLearning

Building a Live London Underground Tracker: Learning Go From Scratch

How I learned Go by building a real-time London Underground tracker, featuring concurrent polling, WebSockets, and lots of debugging.

Express Error Handling: Because Things Will Go Wrong
ExpressNodeJSBackendError HandlingTypeScriptPinoWooster

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
PinoNodeJSBackendLoggingTypeScriptExpressWooster

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.

Contact

Looking to build something interesting, tackle a tricky technical challenge, or just want to chat about tech? I'm always open to exploring collaborations, discussing emerging technologies (especially in AI and Go!), or debating the finer points of system design.