Hi! I'm Joshua Tuddenham
A full-stack engineer with enterprise SaaS expertise
I combine deep technical expertise with hands-on experience driving enterprise software adoption. I recently led the frontend development of an award-winning DEI platform, and I'm passionate about creating applications that make a real difference.
Skills
Beyond the tech stack, my background includes five years at an early-stage behavioral analytics fintech, working closely with engineering teams to deliver solutions to hedge funds. More recently, I helped drive enterprise feature development at a fast-growing expense management platform.
Tech Stack
Additional Experience
Capital Markets
5 years delivering analytics solutions to hedge funds and asset managers
Complex Systems
Translated complex quantitative trading requirements into actionable technical specifications
Enterprise Solutions
Architected tailored enterprise solutions for financial institutions while collaborating closely with engineering teams
Projects
Drawing on my enterprise software background, I build applications that solve real problems at scale. From a DEI transparency platform that won at JumpStart, to a full-stack AI travel planner, these projects showcase my transition from working with engineering teams to building production-ready solutions myself.
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.
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.
Contact
Looking to build something interesting? I'm always open to discussing new opportunities, technical challenges, or the perfect state management pattern.