Available for contract work

Full-stack
developer &
UX engineer.

I build thoughtful, user-friendly web applications.

About

I'm a full-stack engineer working in React/TypeScript and Python (Django REST Framework, FastAPI), with UX training in user research and Figma prototyping. My background also includes data science work, including a DISC personality classifier built with BERT and XGBoost on the Enron email corpus.

My best work happens with non-technical domain experts. Unknot, a conflict resolution research platform, came out of a partnership with a workplace conflict specialist whose methodology I translated into a guided data-capture flow. I pick up unfamiliar domains quickly and build the right tool for them.

I'm a former university badminton captain with a coaching certificate, currently in the longest break between games of my life. Working on fixing that.

Frontend

  • TypeScript
  • React
  • Tailwind

Backend

  • Django
  • Django REST Framework (DRF)
  • FastAPI
  • Go
  • PostgreSQL

Infrastructure

  • Docker
  • Auth0
  • Nginx
  • Hetzner
  • Vercel

AI Workflow

  • Claude Code
  • Figma MCP

Selected work

  • Unknot - Conflict Resolution Research Platform screenshot

    Unknot - Conflict Resolution Research Platform

    A structured research platform for capturing workplace conflict data, built in collaboration with a workplace conflict specialist. Participants follow a guided four-step flow with progressive disclosure, load-balanced content distribution to keep data coverage even, and session-based anonymous identity with optional Auth0 OIDC.

    • React
    • TypeScript
    • Tailwind
    • DRF
    • PostgreSQL
    • Auth0 (OIDC)
    • Nginx
    • Docker
  • DISC Classifier - DISC Personality Email Classifier screenshot

    DISC Classifier - DISC Personality Email Classifier

    A multi-label classifier that predicts DISC personality types from email text using BERT embeddings and XGBoost. Trained on the Enron corpus via a pseudo-labelling pipeline and served through a FastAPI endpoint. Built as an end-to-end ML project: dataset construction, embedding, training, and serving.

    • Python
    • BERT
    • XGBoost
    • TensorFlow
    • FastAPI
    • Docker
  • EatSafe - Allergen Checker (UX Research) screenshot

    EatSafe - Allergen Checker (UX Research)

    A UX case study for a food-safety app concept: photograph a dish and flag likely allergens. Designed the flow in Figma and built the first screens in React Typescript via Figma MCP, then ran validation research that surfaced a fundamental trust barrier and ended in a recommendation not to build.

    • Figma
    • User Journey
    • User Research
    • Figma MCP
    • Cursor
    • React
    • TypeScript
    • Tailwind
  • Miles & Miles - Car Rental Booking Flow (UX Engineering) screenshot

    Miles & Miles - Car Rental Booking Flow (UX Engineering)

    A multi-screen car rental booking flow designed in Figma and converted to React components using Claude Code with the Figma MCP server. A happy-path prototype built using Claude Code with the Figma MCP Server, featuring reusable UI components, form validation, date and time modal pickers, and React Router navigation with disabled-state management.

    • Figma
    • Figma MCP
    • Claude Code
    • React
    • TypeScript
    • Tailwind
  • NotFbook - A social network with real-time chat and notifications screenshot

    NotFbook - A social network with real-time chat and notifications

    A team-built real-time social network covering authentication, WebSocket live private and group messaging, notification infrastructure, and frontend state managed across multiple React contexts. I was mostly responsible for the frontend.

    • React
    • Go
    • WebSocket
    • SQLite
    • CSS Modules
  • GoPulse - Secure Forum with Custom Infrastructure screenshot

    GoPulse - Secure Forum with Custom Infrastructure

    A forum with a custom rate-limiting system built from scratch using Go channels and goroutines. Provisions HTTPS certificates automatically via Let's Encrypt ACME, with environment-adaptive TLS that supports both managed-platform and bare-metal deployment.

    • Go
    • SQLite
    • Let's Encrypt ACME
    • GCP
  • Tetris - Tetris with Leaderboard screenshot

    Tetris - Tetris with Leaderboard

    Full-stack Tetris with a vanilla JS engine with DOM-based rendering and a requestAnimationFrame game loop and a decoupled Go backend for score persistence, a leaderboard with real-time search, and Jest testing boundary conditions, consecutive and non-consecutive clears, and scoring rules.

    • JavaScript
    • Go
    • Jest
    • Tailwind
    • CSS 3
  • Thymynd - Decision-Support Concept Site screenshot

    Thymynd - Decision-Support Concept Site

    A mobile-responsive concept site for a personalised decision-making platform spanning education, social services, and justice sectors. Built in collaboration with the same workplace conflict specialist behind Unknot, as the first project in an ongoing partnership.

    • HTML5
    • CSS3
    • JavaScript

Contact

Currently taking on one new contract. The fastest way to reach me is the email below, I read everything within a day.

davidchoy.dev@gmail.com