back home

01 / work

Things I've
Built.

// 5 featured projects — production apps, real infrastructure, no tutorials. Each one taught me something I couldn't learn from a course.

PulseCheck screenshot 1
2026
01Web App · 2026

PulseCheck

Self-hosted uptime monitor — Laravel 13 + Vue 3 + Docker. Real-time health checks, incident tracking, and email alerts.

PulseCheck is a self-hosted uptime monitoring platform built with Laravel 13 and Vue 3 — the kind of tool developers use to sleep better at night. It continuously pings HTTP endpoints on configurable intervals, manages the full incident lifecycle from detection to resolution, and sends email alerts the moment something breaks. Deployed with Docker, backed by PostgreSQL, and driven by a decoupled SPA + REST API architecture.

Most monitoring tools are built for enterprises. I wanted to know if I could build one from scratch that actually works — so I did.

built with

LaravelVue.jsPostgreSQLTailwind CSSDocker
RetroLoop screenshot 1
2025
02Web App · 2025

RetroLoop

Real-time collaborative retro & brainstorm board. Join by link, drop sticky notes together, and let AI organize the chaos.

RetroLoop is a full-stack multiplayer whiteboard built with Next.js, TypeScript, and a standalone Socket.io server — featuring live cursors, presence, and drag-to-move sticky notes that sync instantly across clients. The architecture splits real-time and durability across three services: a stateless Socket.io relay on EC2 (with Caddy-managed TLS), Next.js API routes on Vercel backed by Neon Postgres as the source of truth, and an on-demand Gemini AI action that clusters notes into themes and summarizes takeaways.

The hard part wasn't the features — it was the architecture. Socket.io needs a persistent server, which serverless can't provide, so I ran the real-time layer on my own EC2 box and kept it a pure relay while the database stayed the source of truth. Getting secure wss:// working with no domain taught me more about TLS than I expected.

built with

Next.jsTypeScriptSocket.ioPostgreSQL
CodeSnap screenshot 1
2025
03Web App · 2025

CodeSnap

A developer's personal snippet library. Save code, generate beautiful screenshots, and share with a link.

CodeSnap is a full-stack code snippet manager built with Next.js 15, TypeScript, and Supabase — featuring server-side Shiki syntax highlighting, PostgreSQL-backed full-text search, and a PNG image export engine with live preview. The architecture demonstrates production-grade patterns: Row Level Security enforced at the database level, an edge middleware auth layer, and optimistic UI updates with error rollback.

VS Code's Shiki highlighter is remarkable — I wanted to expose it as a real service. Building the PNG export engine taught me more about canvas APIs than I expected.

built with

Next.jsTypeScriptSupabaseTailwind CSS
Juvelink screenshot 1
2025
04Web App · 2025

Juvelink

Centralized juvenile facility management — case records, scheduling, and intervention tracking.

This project is under institutional confidentiality and cannot be publicly deployed. Screenshots available. Demo available upon request.

Juvelink is a centralized facility management platform for a juvenile facility built with Next.js, TypeScript, and PostgreSQL. Features case management, inventory tracking, session recording, and visit scheduling — designed to help staff record interventions and manage juvenile rehabilitation programs. Built as a capstone project with real institutional use in mind.

Built for a real client and approved by our school panel — turns out managing confidential case records for an actual institution is a completely different problem than building for a classroom.

built with

Next.jsTypeScriptPostgreSQLTailwind CSS
FigurineZ screenshot 1
2024
05Web App · 2024

FigurineZ

Real-time figurine marketplace — bid, buy, trade anime collections.

FigurineZ is a real-time marketplace platform for trading and auctioning anime and cartoon figurine collections. Features a live bidding system where the highest bid wins when the timer expires, seller approval flow, and peer-to-peer trading between users. Built with native PHP and WebSocket for real-time updates, backed by MySQL.

Collectibles hold real emotional and monetary value to people, so real-time bidding wasn't a gimmick — it was the only fair way to sell them. Built it solo and learned that gathering requirements fully before writing a single line of code is not optional.

built with

PHPJavaScriptTailwind CSSWebSocketMySQL

other projects / archive

Terra's Legacy

2023

A 2D game built natively in VB.net without a game engine. Features attacking, jumping, directional movement, and enemy spawning — all game logic built from scratch.

VB.net

Stashport

2024

CS50X final project — a bookmark manager with folder categorization for organizing URLs.

PythonFlaskSQLite

Automatron

2023

CS50P submission — a Python chatbot that responds based on highest keyword match percentage.

Python