Stephen Fairris
Senior Software Engineer · Full-Stack & Applied AI
Summary
Senior full-stack engineer with 7 years building production desktop and web applications in TypeScript, React, Electron and Node.js. Helped scale Medal from 40K to 1.8M daily active users. Most recently created and leads development of Alt: a web, mobile and desktop platform whose voice assistant runs entirely on a local LLM, with tool calling, vision, voice and smart-home control and no cloud inference. Experienced across Cloudflare, GCP and AWS, with CI/CD and observability through GitHub Actions, Sentry and Honeycomb. Works AI-first (Claude Code, MCP integrations with Linear, Sentry and GitHub) to ship like a larger team.
Technical Skills
- Languages
- TypeScript, JavaScript, SQL, Java
- AI / LLM
- Local LLM serving (Ollama, LM Studio, OpenAI-compatible APIs), tool/function calling, streaming, vision models (Qwen3-VL), structured output with Zod, on-device speech recognition and TTS, latency profiling
- Frontend
- React, Next.js, Electron, React Native/Expo, Tailwind CSS, Redux Toolkit/RTK Query
- Backend & Realtime
- Node.js, Express, WebSockets/Socket.io, WebRTC (data channels, P2P media), Spring, REST, Redis pub/sub
- Data
- PostgreSQL, MySQL, Drizzle, Prisma, Neon
- Infrastructure
- Cloudflare (Workers, R2, Containers), GCP, AWS, DigitalOcean, Docker, GitHub Actions, EAS Build/Update, electron-builder
- Tools
- Claude Code, Sentry, Aikido, Honeycomb, Amplitude, Linear, Figma
Experience
Alt — Creator & Lead Engineer
Seattle, WA · 06/2026 – PresentTransparent community platform for non-profits: web, iOS/Android and desktop (macOS, Windows, Linux). Private alpha at alt.church (guest mode available). Leading two engineers, both mentored into the field with no prior programming experience.
Jackson: a private, local-LLM voice assistant
- Built a voice assistant that runs on the user's own machine through Ollama or LM Studio. The Electron app proxies the model and streams replies to web and mobile over WebRTC data channels, so prompts never touch a cloud AI provider.
- Designed a tool-calling layer that lets the model control WiZ smart lights (UDP), an LG webOS TV and DLNA casting, and play movies from the user's media library, with typed tools and results written back for the model to read.
- Cut 15–30 s waits on common commands with an 8B model by adding a deterministic fast path that handles everyday requests without inference, pinning the model in memory, skipping reasoning for device commands, and answering from device read-back instead of a second model round.
- Added per-request observability (fast path vs. model, time to first token, thinking, tool rounds, total) with an in-app Performance card for finding where slow replies spend their time.
- Shipped “Hey Jackson” hands-free voice mode on iOS with on-device speech recognition and sentence-by-sentence text-to-speech as tokens stream in, plus Siri Shortcut and Apple Watch access through a token-scoped API relay to the desktop.
- Used a local vision model (Qwen3-VL) to turn photos of handwritten recipe cards into structured, Zod-validated recipes; added in-app model management (install, remove, download progress, default model) and a streaming filter that strips model reasoning.
Platform
- Full-stack pnpm monorepo (Express 5, Drizzle, PostgreSQL, Next.js 16, Expo, Electron) with Zod contracts shared by every client, and a registry of feature apps: feed, events, public finance ledger, messaging, recipes, media, maps.
- Built peer-to-peer Theater streaming from the desktop to browsers and phones over WebRTC, remuxing MKV to MP4 + WebVTT with ffmpeg and no re-encoding.
- Real-time messaging over per-user WebSocket inboxes fanned out with Redis pub/sub, with keepalive and reconnect handling for sleeping containers.
- Deployed on Cloudflare Workers, OpenNext and Containers, with Postgres on Neon, media on R2 and a self-hosted maps and turn-by-turn routing server. Release pipelines include tag-driven desktop builds with auto-update and over-the-air mobile updates.
Medal — Senior Software Engineer
Remote (NYC) · 08/2019 – 08/2026- Built and shipped Medal's Electron desktop client and Next.js web app in React/TypeScript, supporting growth from 40K to 1.8M daily active users.
- Owned front-end architecture across desktop and web. Designed a shared component library used by both the Electron shell and the Next.js app, cutting duplicate UI work and keeping one design system.
- Built real-time services in TypeScript, Express and Socket.io handling 1M+ concurrent connections for voice, chat and streaming.
- Shipped end-to-end features across the core Java/Spring/MySQL API.
- Led the web app's migration from a Create React App SPA to Next.js, adding server-side rendering and route-level code splitting that improved Core Web Vitals across the board, including cutting FMP from 3.4 s to 1.6 s.
- Helped move CI/CD to a serverless pipeline on GitHub Actions, Docker, Kubernetes and GCP.
- Led a team of three engineers, mentoring two into full-time engineering roles. Handled project coordination, technical reviews and their continued growth.
CoinTaxes — Software Developer Intern (Part-time)
Remote · 04/2018 – 01/2019- Built UI components and added theming for a crypto tax web app in React/JavaScript.
Panasonic Avionics — Quality Inspector II
Bothell, WA · 08/2014 – 08/2019- Ran end-to-end systems testing across in-flight entertainment displays, servers and network hardware to Boeing/Airbus specifications.
Boeing — NDT Specialist
Tukwila, WA · 08/2011 – 08/2014- Performed ultrasonic and radiographic inspection of composite structures for the 777X and 737 MAX. Helped develop robotic inspection systems for production lines.
- Led the 5S lean manufacturing team driving continuous process improvement.
Education & Certifications
- Edmonds Community College — Computer Science coursework (2016)
- Lean Six Sigma Green Belt, Villanova University (2013)
- ASNT Level II NDT — Ultrasonic & Radiographic (2013)
- Mentorship — mentored two people with no prior programming experience into full-stack TypeScript engineering roles