Projects
Borehammer - A Warhammer 40k Scoreboard
Borehammer is a full-stack wargame tracking and scoreboard tool built for Warhammer 40K players. It lets players run live scored games, track game history, manage army lists, and compare per-faction statistics across editions. The project is a TypeScript monorepo (Nx) spanning a Next.js 15 web app, an Express 5 REST API, a Next.js admin dashboard, and an Expo React Native mobile app — all sharing code via internal libraries. Real-time multiplayer game sessions are powered by Socket.io, with MongoDB handling persistence. Auth uses JWT and Google OAuth via Passport.js. The frontend uses TanStack Query for server state and TailwindCSS for styling. The mobile app uses Expo Router with a shared component library. Infrastructure is deployed to a self-hosted server with a CI/CD pipeline on GitHub Actions.
World Builder
World Builder is a full-stack TTRPG companion app that uses local AI to help game masters build and maintain living, consistent worlds. It lets you import lore documents, define entities like characters, factions, and locations, and query your world with natural language — all powered by a local LLM via Ollama and vector search over PostgreSQL with pgvector. The stack is Next.js 15 and FastAPI, with a dark grimoire aesthetic to match the fantasy setting. The project is a personal exploration of RAG architecture, semantic search, and the UX challenges of making AI-assisted creativity feel grounded and trustworthy.
AI Chat Bot
A learning project to understand how chatbot programs work with LLMs under the hood. A full-stack chatbot powered by local LLMs via Ollama. The React + Vite frontend communicates with an Express backend that routes messages to locally-running models like llama3.1 and qwen3. Supports tool-calling — the model can fetch live weather data and manage persistent notes stored in SQLite, chaining up to five tool rounds per response. Conversation history is sent stateless with each request. Configurable system prompt, temperature, and model selection via a settings panel.
VoidWake
A Survivors-style space shooter built in Godot 4. Pilot your ship through endless waves of enemies, collect XP, and grow your firepower in a fight against the void. A game jam–style demo showcasing Godot's 2D game loop, scene system, and GDScript.
This website
This website serves as a platform for learning new technologies like AWS, reinforcing my existing knowledge, experimenting with new ideas, and showcasing projects I have worked on.