Projects
Things I built because I wanted to see them work. Each one has its code on GitHub. Walk through the maze to meet them, or scroll down to read them all.
WHOOP Health Intelligence Agent
An email that knows how I slept before I do.
Each day this agent pulls my numbers from the WHOOP fitness tracker, reads the notes I wrote, and has Claude turn it all into a personal health summary that lands in my inbox. It speaks first, so I never have to ask. Python and Flask run it, OAuth 2.0 keeps my data safe, and a scheduled task sends the email every day through Gmail.
How it works
I sign in once
OAuth 2.0 lets the agent read my WHOOP data without ever seeing my password.
The numbers arrive
Each day the agent pulls my health numbers from the WHOOP service.
My notes join in
It reads the notes I wrote, so the summary knows how the day felt as well as how it measured.
Claude writes the summary
Claude turns the numbers and my notes into a short, personal health summary.
It lands in my inbox
A scheduled task sends the email through Gmail, so the agent speaks first and I never have to ask.
See the code on GitHub
Pathfinding Visualizer
Watching an algorithm think.
I wanted to see how a computer finds the shortest way through a maze, so I built a grid you can fill with walls. Dijkstra's algorithm spreads out across it, runs into dead ends, and finally lights up the best route. It's a React app, and the grid on my home page is its little cousin.
How it works
Draw the maze
Click or drag on the grid above to place walls. Click a wall again to take it away.
The search spreads out
Starting from the open circle, the algorithm looks at every neighbouring square, then their neighbours, like a ripple on water.
Dead ends fade out
When the ripple hits a wall it flows around it. Squares with nowhere left to go simply stop spreading.
The best route lights up
The moment the ripple reaches the filled circle, the algorithm walks back the way it came and draws the shortest path in amber.
See the code on GitHub