Sports tech · Prototype

AI Squash Coach

Why: Getting better at squash takes more than court time. I wanted to see my own movement as data.

What I did: Built a prototype that runs pose estimation on video of me playing and measures lunge depth, swing arc, and how fast I get back to the T.

Python · OpenCV · MediaPipe · Streamlit

See the AI coach →  ·  Source on GitHub

Advocacy · Design

A Squash Emoji

Why: Tennis, badminton and table tennis all have an emoji. Squash, an Olympic sport from 2028, does not.

What I did: Designed the emoji artwork at the required sizes, wrote the proposal in the Unicode Consortium format, and submitted it.

Read about the proposal →

Essay

The Feral Dilemma

Why: I fed the stray cats in my local park, then found bird feathers at the feeding spot.

What I did: Wrote about the conflict between caring for strays and protecting wildlife, and mapped a decision tree for when to help, when to leave alone, and when Trap-Neuter-Return applies.

Read the essay →

Writing

Reading List

Why: Reading is the one thing I almost never get bored of.

What I did: Nineteen book reviews so far, from Asimov's Foundation to The Grapes of Wrath.

Browse the reviews →

Study tool · Demo

Vocab Lab

Why: Memorizing word lists never worked for me.

What I did: Designed a way to learn vocabulary from the books I am already reading, with a flashcard demo that tracks a daily streak.

Python · Gemini API · JavaScript

Try the demo →

Squash · Guide

Happy Squash

Why: Many beginners quit squash because a cold ball barely bounces and nobody tells them why.

What I did: Wrote a beginner guide covering ball choice, warming the ball up, solo drills at three levels, and an illustrated rules page.

Open the guide →

Games

Game Lab

Why: Rebuilding a game is the fastest way I know to learn how it works.

What I did: Six browser games, including Gomoku against an AI opponent, Minesweeper, and Rock Paper Scissors against a robot arm.

HTML5 Canvas · JavaScript

Play the games →

Experiments

Side Planets

Why: Some ideas don't fit anywhere else.

What I did: Hazel is a virtual room where you can feed and play with my cat. Π is a star field you can fly through. Mo is a sandbox for my sci-fi story.

JavaScript · Three.js

Visit the planets →

More code on GitHub · Training and match videos on YouTube

Back to Home