Alex Ou

I build full-stack software, from health-data workflows to distributed systems that recover when a worker fails.

About

Illustrated portrait of Alex Ou

I build across the full stack, with React and TypeScript in front and Go or Python behind. I'm interested in the seams: where a form becomes a row, a row becomes a model's input, or a retry becomes a duplicate charge.

That shows up in projects like ReLab, which tests recovery by killing real workers, and DiaLog, which turns health records into evidence-graded insights. I care about software that stays understandable when something goes wrong.

At a glance

Focus
Full-stack · Backend & APIs · Distributed systems · Data pipelines · Applied ML
Core stack
Go · Python · TypeScript · React & Next.js · FastAPI · PostgreSQL

01Experience

Where I've worked

Digital health, production React and FastAPI services, and firmware across a fleet of 1,000+ devices.

  1. Sep 2026 – Present

    Software Engineer Intern

    Stealth Startup (Digital Health)

    Internship

  2. May 2026 – Sep 2026

    Software Engineer

    KorraNet Creative Inc.

    Contract · Previously intern

    • Built and shipped React and Python/FastAPI features across services, API integrations and authentication, applying SOLID principles in an Agile development cycle.
    • Diagnosed production defects across APIs, authentication and SQL queries, then added regression and integration coverage to prevent repeat incidents.
    • Built approximately 400 backend unit tests, reviewed peer pull requests and wrote technical documentation to strengthen CI and release quality.
  3. Dec 2025 – Present

    Web Designer & Administrator

    Second Wind Basketball

    Freelance

    • Designed and launched a basketball training booking site with services, pricing and availability in one place.
    • Set up online booking, deposits and session management across private, group and beginner training; maintain availability and pricing updates.
  4. Mar 2026 – Apr 2026

    Business Analyst

    Riipen: Your Style Doula X Riipen Labs

    Project-Based

    • Audited Instagram and Stan Store messaging for a solo operator serving perimenopausal women in the Guelph and Kitchener-Waterloo market.
    • Worked in a team of four to deliver an acquisition strategy built around community activation, referrals and re-engaging past clients within the client's budget.
  5. Mar 2026 – Apr 2026

    Business Analyst

    Riipen: EduTutor X Riipen Labs

    Project-Based

    • Led research and competitive analysis for a Canadian K–12 tutoring company, checking the proposed tutor-matching site against its existing service model.
    • Recommended a lightweight MVP and a 30/60/90-day roadmap measured on inquiry conversion and consultation bookings; delivered the report in a team of five.
  6. May 2024 – Aug 2024

    IoT Software Developer Intern

    Guangzhou Mingliang Energy Saving Technology Co., Ltd.

    Internship

    • Maintained and deployed production firmware across 1,000+ active devices, debugging telemetry flows for data quality and system reliability.
    • Automated provisioning with reusable configuration templates and embedded validation rules, cutting technician setup effort by approximately 25%.
    • Built Python pipelines to parse device logs, detect outliers and produce structured summaries for root-cause diagnosis and incident response.

02Projects

What I've built

Distributed workflow recovery, voice screening and evidence-graded health data. Each project links to the code and the reasoning behind it.

Featured

ReLab

Distributed Workflow Reliability & Replay

Sep 2026 – Present

Kill a worker after it charges a customer, then check whether the workflow recovers without charging twice. ReLab makes that failure observable and testable across real processes.

Real worker crashes · Deterministic replay · 160+ tests

  • Go workers coordinate through PostgreSQL, with each state change and its append-only event written in one transaction. A pure reducer reconstructs run state from the journal alone.
  • Lease-based recovery requeues abandoned tasks. An idempotency ledger suppresses effects already recorded; delivery is at least once, and a crash between an external effect and its ledger write can still duplicate it.
  • 160+ unit and integration tests cover simulated failures, alongside process-level SIGKILL tests. Five fault types exercise worker crashes, duplicate delivery, latency, HTTP errors and database disconnects.

Distributed systemsBackend & APIs

GoPostgreSQLNext.jsReactTypeScriptDockerOpenTelemetry

Voxidria

Voice-Based Parkinson's Risk Screening

Jan 2026 – Present

A browser-based voice screening flow that connects recordings, audio features and model inference to a risk score and session-history dashboard. A research prototype, not a clinical diagnosis.

7 API endpoints · 0–100 screening score · Research prototype

  • React/Vite captures voice tasks; seven Supabase Edge Functions handle sessions, signed uploads, analysis, history, deletion and accessibility text-to-speech.
  • A modular Python pipeline extracts features with Librosa and Praat-Parselmouth, then runs a TensorFlow classifier trained on the 196-sample UCI Parkinson's dataset.
  • Auth0 JWTs are verified server-side on every request. PostgreSQL and a private audio bucket use row-level security; Gemini explains reading-task results and ElevenLabs provides speech playback.

Applied MLFull-stack

ReactViteTypeScriptSupabasePostgreSQLPythonTensorFlowAuth0Gemini APIElevenLabs

DiaLog

Personal Glucose Record & Evidence-Graded Insights

Dec 2025 – Present

Log or import glucose, meals, activity and sleep, then see patterns graded by how much of your own history supports them. Thin data stays labelled as thin; DiaLog is not a medical device.

9 import connectors · 12 accessibility-tested routes

  • Next.js, Prisma and PostgreSQL support ten health-event types, unit-aware validation and nine import connectors. Preview-then-commit imports report malformed rows and make repeat uploads a no-op.
  • The TypeScript analytics engine serves evidence-graded findings. A separate offline Python research pipeline uses chronological splits, baseline comparisons and uncertainty reporting; its models are not deployed to users.
  • An installable PWA provides offline fallback while excluding authenticated health data from caching. The AI layer receives aggregate evidence bundles, never raw health records.
  • Vitest and Playwright cover the application; axe accessibility checks run across twelve public and authenticated routes, with table alternatives for charts.

Full-stackData pipelines

Next.jsReactTypeScriptPostgreSQLPrismaPythonPWAVitestPlaywright

Also on GitHub

  • Motion

    Resumable Coursework Workspace · Chrome Extension

    Source-linked requirements · Resumable jobs · Early MVP

    Full-stackSystems

    ReactTypeScriptViteChrome Manifest V3

    Project details: Motion

    A Chrome side panel that brings LMS deadlines, assignment requirements, notes and longer-running jobs into a student-controlled workspace. Currently an early MVP.

    • Reads authorized D2L Brightspace pages and links extracted deadlines, requirements and notes back to their sources, flagging ambiguous information for review.
    • Resumable background jobs expose completed, active and blocked steps. Coursework stays in IndexedDB; AI can run locally or through an explicitly configured provider.
    • Built with React, TypeScript and Vite for Manifest V3, with tested, target-specific confirmation gates for consequential actions.

    ReactTypeScriptViteChrome Manifest V3IndexedDBVitestPlaywright

  • FinCopilot

    Conversational Finance Copilot for Students

    My focus: browser-agent research, auth and dashboard

    Full-stackBackend & APIs

    Next.jsReactTypeScriptFastAPI

    Project details: FinCopilot

    A team-built finance copilot that assembles a student's profile through chat, flags money issues and compares what-if scenarios.

    • I built the browser-agent research workspace, auth and dashboard updates, and local testing documentation on a Next.js frontend and FastAPI backend.
    • The team combined Supabase profile persistence, rule-based issue detection and before/after net-worth simulations with OpenAI and Playwright research workflows.

    Next.jsReactTypeScriptFastAPISupabaseOpenAI APIPlaywright

  • Farmesh

    AI Coordination for Canadian Food Networks

    5-agent pipeline · Exact and split fulfillment

    Full-stackBackend & APIs

    Next.jsTypeScriptSupabasePostgreSQL

    Project details: Farmesh

    Connects local produce supply with business demand through explainable AI matching, including substitutions and two-vendor split orders.

    • Five agents handle intake, normalization, demand interpretation, matching and coordination, with buyer preferences and locality included in the match reasoning.
    • Next.js and TypeScript power farmer, buyer and admin dashboards; Supabase provides PostgreSQL and role-based auth, and Backboard.io orchestrates the agents.

    Next.jsTypeScriptSupabasePostgreSQLBackboard.ioTailwind CSS

  • RouteSense

    Traffic-Aware Delivery Route Optimization

    6 routing algorithms · 123+ unit tests · Live demo

    Applied MLSystems

    PythonJavaScriptQ-LearningSimulated Annealing

    Project details: RouteSense

    A last-mile router that replans after each delivery as simulated traffic changes, balancing travel time, fuel and late-arrival penalties.

    • Compares nearest-stop and static baselines with hill climbing, simulated annealing, adaptive annealing and tabular Q-learning under delivery time windows.
    • A client-side GitHub Pages demo lets visitors build networks, change traffic and compare algorithms; the Python implementation has 123+ unit tests.

    PythonJavaScriptQ-LearningSimulated AnnealingGitHub Pages

  • FareShare

    Full-Stack Ride-Sharing Platform

    Ride listings · Booking flows · Reviews

    Full-stackBackend & APIs

    FastAPIPythonPostgreSQLSQLAlchemy

    Project details: FareShare

    A ride-sharing app connecting drivers and riders through listings, search, bookings and profiles.

    • A FastAPI REST backend uses PostgreSQL, SQLAlchemy and Pydantic for authentication, ride listings, bookings and reviews.
    • A separate React/Vite client supports driver and rider workflows.

    FastAPIPythonPostgreSQLSQLAlchemyPydanticReactVite

  • Python TCP File Server

    Multithreaded Client–Server System

    Concurrent clients · Chunked file transfer · Standard library

    Systems

    PythonTCP SocketsMultithreadingCLI Applications

    Project details: Python TCP File Server

    An educational networking project implementing a text command protocol and concurrent file downloads over raw TCP sockets.

    • A thread-per-client server enforces connection capacity, streams text and PDF files in chunks, and records client connection history.
    • Separate Python client and server use only the standard library. The simplified protocol is a learning project, not a production file service.

    PythonTCP SocketsMultithreadingCLI Applications

03Skills

What I work with

Languages, frameworks, and practices I've used on shipped work rather than tutorials.

Languages
Python, Go, Java, C, SQL, TypeScript, JavaScript
Frontend
React, Next.js, HTML/CSS, PWA, Responsive UI
Backend & Data
FastAPI, Node.js, PostgreSQL, Prisma, Supabase, Relational DB Design, REST APIs, Deterministic Replay, Idempotency, Concurrency
AI / ML
TensorFlow, scikit-learn, Pandas, Librosa, Feature Engineering, Model Evaluation, Gemini API
Cloud & DevOps
Docker, GCP, Firebase, Vercel, GitHub Actions, CI/CD, Logging & Telemetry
Testing & Engineering
pytest, Vitest, Playwright, Unit & Integration Testing, Regression Testing, Root-Cause Analysis, OOP/SOLID, Agile SDLC, Git, GitHub
Tools
Jira, Linear, Figma, UI/UX Design, Power BI, Excel, Word, PowerPoint

04Extracurriculars

Outside the work

Hackathons and developer communities, where several of the projects above started.

Sep 2025 – Present

Hackathons

Hack Canada, DeerHacks, Laurier Computing Society

  • Build full-stack proof-of-concept prototypes with cross-functional teams on 24- to 48-hour deadlines, connecting backend, API and frontend layers.
  • Usually take the backend, data pipeline or AI integration, depending on what the team needs.

05 · Contact

Let’s connect.

Always glad to hear from engineers, teams, and anyone building something interesting.