My Projects

12 deployed builds, each solving a real problem — plus what I'm building next.

Kansas Property Tax Analysis

Kansas Property Tax Analysis

Flagship

An end-to-end Python → SQL → Power BI pipeline answering a real civic question: is Kansas property tax growth driven by rising valuations or rising mill levy rates — and would relocating to a neighboring state actually lower the bill? Extracted and validated data from unstructured government PDFs (KDOR, Lincoln Institute) with pdfplumber, loaded it into a SQLite database with SQL views, then built an interactive Power BI dashboard with a county-level deep dive and a 5-state comparison.

PIPELINE: PDF extraction → SQLite → SQL views → Power BI · FINDING: Valuation growth, not rate hikes, is driving the tax increase
Python Pandas SQL Power BI
FAA Aviation Incident Analysis Dashboard

FAA Aviation Incident Analysis Dashboard

Flagship

25 years of NTSB aviation incident data (39,000+ records) explored through an interactive Streamlit dashboard — trend lines, injury-level breakdowns, weather-condition analysis, and a US choropleth heatmap of incident density. Built with the domain expertise of an FAA-certified Airframe Mechanic: every insight is grounded in real aerospace maintenance and regulatory experience, not just the raw numbers.

STATUS: LIVE · DATA: 39,560 NTSB incident records, 2000–present · EDGE: FAA A&P domain expertise
Python Pandas Streamlit Plotly SQLAlchemy
Personal Finance Analysis Dashboard

Personal Finance Analysis Dashboard

Flagship

An end-to-end data analytics pipeline exploring 1,500 personal finance transactions across 5 years (2020–2024): synthetic data generation, data cleaning, SQL-based analysis in SQLite, interactive Plotly visualizations, and a 6-month linear regression forecast. Full workflow documented across 4 Jupyter notebooks covering cleaning, SQL queries, visualization, and forecasting, with dynamic KPI filtering and income/expense breakdowns by category and day of week.

STATUS: LIVE · PIPELINE: Synthetic data → cleaning → SQL analysis → visualization → forecasting
Python Pandas SQL Streamlit Plotly Scikit-learn
Erin the Estie

Erin the Estie

Flagship

A full-stack booking platform built for a real paying client — an esthetician who needed scheduling without a subscription fee. Custom appointment system with an approval workflow, service menu management, and a mobile-optimized admin dashboard. Requirements through deployment, owned end to end.

STATUS: LIVE — PAYING CLIENT · ROLE: Solo build, full SDLC
Django PostgreSQL Gmail SMTP Railway
TrackMyHandicap

TrackMyHandicap

A Django REST Framework API implementing the full WHS golf handicap formula from user-submitted rounds — a free alternative to a $60/year official subscription. JWT-authenticated, with a separate React/TypeScript frontend and Stripe integrated for a planned premium tier with extended trend analysis by course and weather condition.

STATUS: LIVE · AUTH: JWT · BILLING: Stripe integrated, premium tier planned
Django REST Framework React TypeScript Stripe
OurCushion

OurCushion

A real-time shared household finance tracker built around instant accountability — no bank linking, just an honest running balance based on what’s actually logged. Expense and balance updates push instantly to both partners via Django Channels and Redis, with graceful degradation built in: if a WebSocket connection can’t reach Redis, the app still works fully on standard page loads.

STATUS: LIVE · REAL-TIME: Channels + Redis, graceful degradation on connection drop
Django Django Channels WebSockets Redis PostgreSQL
GolfBros

GolfBros

A full-stack golf community platform where golfers share round recaps, course conditions, and scores. Users log rounds, report live course conditions to help others plan visits, and browse a community feed — with object-level permissions ensuring users can only edit or delete their own posts.

STATUS: LIVE · AUTH: DRF token auth · PERMISSIONS: Object-level, owner-only edit/delete
Django REST Framework React Vite PostgreSQL
WeatherRack

WeatherRack

A Django app that scores 10-day weather forecasts for deer hunters, ranking each day 0–105 based on five weighted factors (temperature, barometric pressure, wind speed/direction, precipitation, and moon timing) known to drive deer movement. Pulls live forecast data from Open-Meteo and calculates moonrise/moonset astronomically with ephem — no paid APIs required.

STATUS: LIVE · ALGORITHM: 5-factor weighted hunt-day scoring (0–105) · DATA: Free weather + astronomical APIs
Django Open-Meteo API ephem PostgreSQL
Budget App

Budget App

A full-stack budgeting app for tracking income and expenses, categorizing transactions, and visualizing spending by category. Includes summary cards, date-range filtering, and a Recharts breakdown of expenses by category — with a public read-only demo account so anyone can explore it without registering.

STATUS: LIVE · DEMO: Public read-only demo account available · CHARTS: Recharts spending breakdown
Django REST Framework React Recharts Tailwind CSS
Fit For My Role

Fit For My Role

A retrieval-augmented generation pipeline: resumes are parsed with pdfplumber, chunked, and embedded into a ChromaDB vector store. The most relevant chunks are retrieved by similarity search against a job description to ground GPT-4o-mini’s skill-match scoring and generated cover letter in the candidate’s real experience — not general knowledge.

STATUS: LIVE · PIPELINE: pdfplumber → embeddings → ChromaDB → retrieval → GPT-4o-mini
Django OpenAI API ChromaDB pdfplumber
Archery Answers

Archery Answers

A bowhunting ballistics and arrow-building platform: real-world arrow speed estimates from bow specs, kinetic energy and momentum calculators, ethical-harvest threshold ratings by game animal, and a community-submitted arrow component database that powers a full arrow builder with automatic weight/speed/KE calculations.

STATUS: LIVE · CALCULATORS: Arrow speed, KE/momentum, ethical-harvest thresholds · Community component database
Django HTMX PostgreSQL SQLite
AI Hunting Chat

AI Hunting Chat

A production-style AI agent built with LangGraph and Django REST Framework. Plain-English requests hit a REST endpoint, and the agent automatically selects the right tool (live weather, calculation, or an internal knowledge base), executes it, and responds in natural language — with full conversation memory across turns via session ID.

STATUS: LIVE · AGENT: LangGraph tool-routing with cross-turn conversation memory
LangGraph LangChain OpenAI GPT-4o-mini Django REST Framework