Pulls fight data from ESPN and UFC
A pipeline loads events, fights and fighters from both sources into PostgreSQL.
I'm Jacob Hallum. I build C# and SQL Server systems for banks at work and ship my own web apps at night. FightWatchr, my UFC app, has 128 registered users as of Nov 2026.


At work I'm a Software Developer II at Superior. On my own time I build, ship and run full-stack apps.
An all-in-one UFC app. Schedules, live fight tracking, fighter stats, AI predictions and a picks leaderboard, in one place instead of five tabs. 3,403 picks from 61 users as of Nov 2026. Open fightwatchr.com
A pipeline loads events, fights and fighters from both sources into PostgreSQL.
Live tracking reaches the browser over Server-Sent Events. 29,601 notifications sent as of Nov 2026.
Each prediction asks one LLM provider and falls back to the next when that one fails.
The database holds every event, fight and fighter the pipeline has loaded since June 2025.
A gaming laptop turned into a home server. Lid closed, Ubuntu, Docker. It runs my media server, photo library and workout app, behind a Cloudflare Tunnel with nothing port-forwarded.
A Windows player in Python. The shuffle weighs play history, ratings and recency, so it stops repeating artists.
Code on GitHub
A tap-to-flap game for a friend's Shopify store, with a global leaderboard. Built in about two weeks and still live.
Play it
ASP.NET, C# and SQL Server apps and REST APIs for banking and operations systems.
Escalation triage for a banking platform across software, network and hardware.
Office servers, workstations and staff training.
Onsite IT support and internal database tooling.
California State University, Fullerton
California State University, Sacramento
Nine technical events and recruiting workshops a year.