The project I practised JavaScript with.
A small inventory dashboard: add products, change stock with + and −, and search, filter and sort the list. Built with HTML, CSS and plain JavaScript while I was learning the language.
Game design taught me how things should feel. Software engineering is teaching me how to make them hold.
Click it, then ←→↑
I learn software by building1 things, breaking2 them, and understanding3 why they work.
I’m working toward full-stack development one step at a time: JavaScript first, then TypeScript, React and the back end. Along the way I care about the parts people skip — the empty state, the error message, the focus ring.
Things I’m picky about
These are projects I’ve worked on while learning software development. Each preview below is a simplified re-creation of the real app, running on sample data — try them.
The project I practised JavaScript with.
A small inventory dashboard: add products, change stock with + and −, and search, filter and sort the list. Built with HTML, CSS and plain JavaScript while I was learning the language.
What a larger full-stack app looks like.
An AI-assisted full-stack issue and sprint tracker with projects, roles, authentication, Kanban workflows, comments, activity feeds, testing and deployment.
Your data stays in your browser.
Upload your own Instagram data export and see who doesn’t follow you back, who you don’t follow back, and your mutuals. Everything is processed locally — no login, no scraping, no upload.
Charts, indicators and backtests on the desktop.
A Windows desktop app for technical analysis of Binance USDT-M futures, using public market data with no API key: charts, indicators, trade setups, backtesting and desktop notifications.
I study Digital Game Design, with full-stack development as my goal.
People sometimes ask whether that makes the degree a detour. I don’t think so. A lot of what I learned designing games carries over to building software — I’m learning the new names for it, and the tools that go with them.
What I build with today.
In this order, after JavaScript. Not skills yet.
Tools I work with, not languages.
Ways of thinking that carry over.
On AI-assisted development
I use AI tools to explore ideas, debug faster, and learn from the code I’m building.
Game design taught me that how something feels is a set of numbers someone chose. This is where I choose them on purpose.
E.00
The square from the top of the page runs on a tiny physics engine I wrote for this site. These are its settings. Change them, and it changes up there too.
A few frames of grace after you run off a ledge, where jump still works. Players never notice it. They notice when it’s gone.
Press jump a moment before you land and it still counts. Without it, the game feels like it’s ignoring you.
Pure illusion — the hitbox never changes shape. But it’s what makes a square feel like it has weight.
I’m open to internship opportunities in software development. I’m also happy to talk about a project, a game mechanic, or an interface that bugs you.