Speedrun Chatbot
Natural language queries over randomized run data
A chatbot built with LlamaIndex that answers questions about Pokémon Red randomized speedruns by searching through exported CSV data. Integrated into a Next.js app for seamless user interaction.
Soulscript.Cards
AI-powered, monetized Tarot App
A daily tarot app featuring animated card draws and AI-generated meanings. Built for fast static delivery and optimized for sharing on social media.
sswwiimm-Randomizer
Create a totally glitched Pokémon Red ROM and play it in the browser
Standard Pokémon randomizers were too tame—so I made my own. Every Pokémon is replaced with Missingno. Once generated, the ROM can be played instantly in an embedded GameBoy emulator.
Sixty Six
Classic German card game in a cozy web app
One of my earliest web projects. Play 'Sechsundsechzig,' the traditional German card game, against a computer opponent in a minimal, satisfying interface.
Chess Opening Name Explorer
Discover over 12,000 chess openings by name
Ever heard of the 'Fried Liver Attack'? Explore thousands of chess openings and their quirky names in this searchable, animated React app.
BellmanBot
Realtime AI Trading Bot Runner
A full-stack system for running deep learning–based trading bots. Users launch jobs from a Next.js frontend, which are processed by a Flask + Celery backend. Real-time status updates are streamed via Socket.IO. Models use TensorFlow and run in isolated Docker containers for stability and repeatability. Designed for experimentation with live telemetry and minimal friction.
Portfolio
Interactive 3D portfolio with force-graph background
My personal portfolio built with Next.js, featuring a dynamic 3D background and showcasing my work, resume, and contact links.