Richard Hamilton

Developer. Python and Django on the back end, React and TypeScript on the front.

Projects

Transcript Nav

Live

React 19 · TypeScript · Vite · Python

Find a moment in an hour-long recording without dragging the scrubber around. The transcript is the navigation: search for a phrase, click the line, the video jumps there. Matches are highlighted, results are counted, and it works on a phone.

  • A Python ingestion step reassembles the raw caption feed — 3–6 word display fragments, chopped wherever the text hit the edge of the screen — into 400+ sentence-sized chunks. Straight from the API a search phrase can straddle two lines and match neither.
  • Transcripts are pre-seeded at build time, not fetched per request: the upstream endpoints block datacenter IPs, which is exactly where this deploys. Fetching live would mean the demo breaks at random while someone is looking at it.
  • The player is driven through postMessage rather than the official IFrame API, whose async script load and global ready callback fight React's component lifecycle.
  • Bundling the transcript instead of fetching it costs 84 kB gzipped, about 40% of it the data itself. It buys a page with no loading state, no error state, and no network round-trip. At one transcript that's the right trade; at ten it wouldn't be.
  • The timestamp formatter is unit-tested with Vitest, boundaries included. Every design call and the reasoning behind it is written up in the repo's README.

Car Price Prediction App

Live

Python · Pandas · scikit-learn · Streamlit

A regression model that predicts used-car prices, taken all the way from a messy listings dataset to a deployed app anyone can open and use.

  • Cleaned the raw listings: missing values, categorical encoding, outlier treatment.
  • Evaluated against held-out test data using R² and mean absolute error.
  • Shipped an interactive interface that predicts in real time from user-adjustable inputs.

Random Character Generator

Complete

Django · Python · PostgreSQL · JavaScript

A full-stack Django app that rolls D&D 5e characters with rules-based stat distribution, and persists them.

  • Designed and normalized the PostgreSQL schema for races, classes, and stat modifiers.
  • Conditional logic adjusts stat allocation by race and class combination, mirroring 5e rules.
  • Responsive interface with dynamic client-side rendering in vanilla JavaScript.

Background

BS in Computer Science, Western Governors University, August 2025. ITIL Foundation (Axelos, 2024) and Linux Foundations (WGU, 2025).

I build things end to end — schema design through deployed interface — and I write down why I made each call, because a decision I can't explain six weeks later wasn't really a decision. Looking to join a team that ships often and reviews code.