IncidentOps
Built a full-stack incident response app with JWT/RBAC, controlled status changes, SLA deadlines, escalation history, and an admin catalog.
React 19 / TypeScript / Spring Boot / PostgreSQL / Spring Security / Testcontainers
// projects
Things I built to learn, ship, or solve a real problem.
Hover, focus, or scroll to explore five project snapshots.
Built a full-stack incident response app with JWT/RBAC, controlled status changes, SLA deadlines, escalation history, and an admin catalog.
React 19 / TypeScript / Spring Boot / PostgreSQL / Spring Security / Testcontainers
Built a Spring Boot MVC app to track cloud resources, ownership, catalogs, and planned changes. Stack: Java 21, Thymeleaf, Spring MVC.
Java 21 / Spring Boot / Spring MVC / Thymeleaf / Bean Validation / JUnit 5
Built one place for print-shop work orders, people, and daily mess, with a React frontend backed by a Go API and SQLite.
Go / chi / SQLite / OpenAPI / React / TypeScript / Vite / Tailwind CSS v4 / shadcn/ui / React Hook Form / Zod / Recharts / Vitest
Built chat to learn what breaks when one server becomes many. Stack: Go, WebSocket, Redis, Docker.
Go / WebSocket / Redis Pub/Sub / Docker / React
Built a place to practice system design with real review flow. Stack: Node.js, Express, SQLite, React, Excalidraw.
Node.js / Express / SQLite / JWT / React / Vite / Tailwind CSS / Excalidraw
Built a private local AI assistant without sending work to cloud. Stack: FastAPI, ChromaDB, Ollama, Vue.
FastAPI / ChromaDB / Ollama / RAG / Vue 3 / TypeScript
Rebuilt a gym app so old Django templates stop owning the frontend. Stack: React, TypeScript, Vite, Django, Vitest.
React 19 / TypeScript 6 / Vite / Tailwind CSS v4 / React Router v7 / Vitest / Django 5.2 / DRF
Built a shop to learn boring checkout state without breaking it. Stack: Angular, Hasura GraphQL, TypeScript.
Angular / Hasura GraphQL / TailwindCSS / PrimeNG / TypeScript
Built a local password app to learn desktop security basics. Stack: JavaFX, MySQL, JUnit.
JavaFX / MySQL / Jsoup / JUnit