Data · Databases · Interactive

Project Index

Analytics dashboards, relational database designs, and self-contained web apps. Each project has its own README with method, findings, and run instructions.

Dashboards & apps

⏱️

Focus Timer

Reads the wall clock instead of counting ticks — a hidden tab costs a naive timer ten minutes.

Open →
🎯

Calibration Quiz

Questions generated from census data — and a Brier score for how well you know what you know.

Open →
📝

Markdown Notes

Live preview on a renderer written from scratch — escapes first, so pasted scripts render as text.

Open →
🌤️

Weather

Any place on earth — current, hourly, 7-day. No API key needed, so nothing to leak.

Open →
🧾

Expense Tracker

Add expenses, set budgets, undo mistakes. Versioned localStorage, 50 tests, exports to the analyzer.

Open →
💰

Budget Analyzer

Drop a bank CSV, get a savings rate — categorized spending, monthly cash flow, all in-browser.

Open →
📉

Sales Funnel & Conversion

Where deals are lost, and why the best-converting channel gets the least traffic.

Open →
🌍

Population & GDP

Does a bigger country mean a richer one? Two log-log scatters over 54 countries say no.

Open →
🎓

GSU Student Success

Enrollment and graduation-rate trends 2010–2024 — closing gaps, and a structural break in 2016.

Open →
🗺️

US State Tile Map

Population and income on a tile grid — because on a real map, land area argues against the data.

Open →
🗺️

US Population & Income

State population vs. median household income — correlation scatter, regional roll-ups, ranked bars.

Open →
🎯

Account Intelligence

Scores accounts from 10-K financials into Pursue / Watch / Avoid — every score derived, weights live.

Open →
📊

Sales Ops Command

Bookings vs quota, pipeline funnel, win rate, and a rep leaderboard.

Open →
🎁

The Impossible Gift Machine

Crank the lever and the machine invents a one-of-a-kind gift, just for you.

Open →

Data & database projects

✅

claim-check

Capstone: one command re-derives every number these READMEs claim — 31 of them, across 12 projects — and fails if the prose and the code ever stop agreeing.

Python
View code →
🧮

integer-programming

The LP relaxation bounds the answer to within 1.2% and, rounded up, overpays by 16.5%. Exact rational arithmetic throughout, and a family where the gap reaches 2x.

Python
View code →
🔗

record-linkage

Jaro-Winkler contributes nothing to this data — a normaliser scores a perfect 1.000. And a blocking key that saves 92% of comparisons quietly discards 76% of the answer.

Python
View code →
🚨

anomaly-detection

A z-score in a 10-point window can never flag anything — its ceiling is 2.846. And in 23 of 24 hours here, a total outage is mathematically inside the noise.

Python
View code →
🎯

recommender-eval

Leaking the future into a recommender benchmark inflates recall by up to 1.6x — and worse, it makes you ship a different model 60% of the time.

Python
View code →
🧭

nearest-neighbour

Indexing lat/lon in a k-d tree gets two of three real Pacific queries wrong. And clustering — which is what geography is — turns a 375x speedup into 3.5x.

Python
View code →
📈

forecast-baselines

The average of everything so far beats every fitted model — and because the generating process is known, the best score any forecaster could reach is 15.2459, exactly.

Python
View code →
🎲

ab-test

Checking the dashboard every morning turns a 5% false-positive rate into 22% — and the false positives claim an 18% lift that does not exist. Plus the boundary that fixes it.

Python
View code →
📑

csv-parser

Splitting on commas fails on 1 file in 12 when only 1 field in 100 holds a comma — because one bad field ruins the file. Measured, not asserted.

Python
View code →
⚙️

regex-nfa

A regex engine that cannot backtrack, checked against Python's over 76,744 generated cases — and 12,072x faster on the input that makes re take three seconds.

Python
View code →
🔎

docstring-search

An inverted index with BM25 over every public docstring in the Python standard library — and the measurement showing the textbook parameters make it worse than LIKE.

Python
View code →
🚦

rate-limiter

"100 per minute" is four different specifications. A rolling-window audit catches three of the four implementations letting more through — the fixed window by exactly double.

Python
View code →
🔒

sqlite-concurrency-lab

Eight processes writing to one SQLite file. WAL is not a concurrency mode — throughput falls as writers are added, and the measurements say so.

Python + SQLite
View code →
🔍

query-planner-lab

An index is a bet the planner makes for you. This times five queries both ways and finds the one where the bet loses by 39%.

Python + SQLite
View code →
🧪

assay

A data quality gate that breaks your data on purpose to find out which corruptions your rules fail to notice.

Python
View code →
🎛️

omnitwin

A digital twin of a small business — raise the price, cut the ads, resize the safety stock, and see the damage before it is real.

Python
View code →
🌳

thicket

Gradient boosted trees written from scratch, diffed against scikit-learn tree by tree — plus a demo where leakage scores 66% on a coin flip.

Python
View code →
📋

Application Tracker

Capstone — CRUD plus a funnel built from an event log, because counting the current stage reports 1 interview where 9 happened.

Flask + SQLite
View code →
🔗

URL Shortener

A real backend — only http/https survive validation, and the UNIQUE constraint settles code collisions.

Flask + SQLite
View code →
🎬

Movie Ratings & Recs

Collaborative filtering in pure SQL — "users who liked X also liked" from self-joined ratings.

MySQL
View code →
🏢

HR & Payroll Database

Versioned salary history with layered views and a transactional stored procedure for raises.

MySQL
View code →
🧮

Normalization Case Study

One messy table walked UNF → 3NF, with a script that reproduces each anomaly and proves the fix.

SQL · Python
View code →
🏦

Loan & ROI Model

Live-formula Excel amortization: 85.7% of payment one is interest, and prepaying still loses to investing.

Excel · Python
View code →
🚲

Bike-Share Data Cleaning

A messy export cleaned with a full audit trail — plus three chart bugs only rendering could catch.

pandas · matplotlib
View code →
📚

PDF Study Kit

PDF → outline, flashcards, quiz. Offline TF-IDF and extractive summarisation — no LLM, no API key.

Python · FastAPI · Docker
View code →
🧩

Instagram Database System

3NF schema for a photo-sharing platform with self-joins, correlated subqueries, and window functions.

MySQL · UML
View code →
🛒

E-commerce Analytics DB

Orders and line items with revenue, AOV, best sellers, and refund-rate queries.

MySQL
View code →
📚

Library Management DB

Members, copies, and loans with overdue detection and availability — plus a SQL quick-reference.

MySQL
View code →
🪟

SQL Window Functions

Seven worked patterns: running totals, RANK, LAG, share-of-total, NTILE, moving averages.

MySQL · SQLite
View code →
📗

Excel KPI Analysis

Messy raw data → cleaned sheet → live-formula KPI dashboard on Georgia county population.

Excel · Python
View code →