// Code. Deploy. Scale. Repeat.

Building Scalable Web Systems

I build reliable, scalable web applications, backend systems, APIs, and cloud-ready infrastructure designed to perform under pressure.

Current Status

System StatusOnline
RoleFull-stack / Backend Developer
Active Projects5
FocusReliable Systems
AvailabilityOpen

Terminal // Portfolio Console

> initializing portfolio...

> loading projects...

> scanning system status...

> checking availability...

> loading contact links...

> portfolio ready

Projects Built

5

Current Focus

Backend Systems

Core Stack

Node.js & Next.js

Availability

Open

Projects

Featured Projects

View all projects
In Progress

Project

Buck-et List Brands E-Commerce Platform

A production-grade e-commerce storefront for a niche hunting/outdoorsman apparel brand. A single Next.js 14 app on Vercel with Postgres on Neon, Stripe-hosted checkout (SAQ A PCI scope), and an admin dashboard for orders, inventory, and analytics. Built solo at zero fixed infra cost.

  • Next.js 14
  • TypeScript
  • PostgreSQL
  • Prisma
  • Stripe
  • Vercel
  • Neon
  • Auth.js
Live

Project

Blackjack Tutor

A PyGame blackjack trainer that evaluates every decision against the mathematically correct basic strategy in real time, tracks accuracy by category, and explains mistakes with rule-based coaching. Full 6-deck engine with splits, doubles, surrender, and insurance, backed by 682 tests at 96% coverage. Created with Joon Rho.

  • Python
  • PyGame
  • pytest
  • Ruff
Live

Project

PokeGuess

A Pokemon guessing game where players identify Pokemon from silhouettes and clues. Built with React 19 and Vite, styled with Tailwind CSS v4, and routed with React Router v7. Created with Eric Morales.

  • React
  • Vite
  • Tailwind CSS
  • React Router
Live

Project

Habit Tracker

A command-line tool that generates a professional Excel spreadsheet for tracking daily habits across an entire year. Features interactive CLI prompts for custom habits, monthly sheets with conditional formatting, automated success rate calculations, and a yearly summary dashboard with trend charts. Built with Python and xlsxwriter.

  • Python
  • xlsxwriter
  • CLI
  • Excel

Skills

Technical Skills

Frontend

  • React / Next.js
  • TypeScript
  • Tailwind CSS
  • Responsive UI

Backend

  • Node.js
  • REST APIs
  • Authentication
  • Service Design

Databases

  • PostgreSQL
  • MongoDB
  • Prisma ORM
  • Data Modeling

Infrastructure

  • Deployment Platforms
  • Docker
  • GitHub Actions
  • CI/CD

Monitoring & Operations

  • Testing
  • Debugging
  • Performance
  • Security

Deployment Architecture

Active

Source Control
CI / CD
Deployment
API Layer
Database
Cache / Storage
Monitoring
Code moves through CI/CD into a deployment target.App services connect to APIs, data, storage, and monitoring.

What I Optimize For

Focus

Reliability

Systems that fail clearly and recover cleanly.

Performance

Fast interfaces, efficient APIs, and tuned queries.

Maintainability

Readable code, focused tests, and simple ownership.

Security

Safer auth, validation, and data handling by default.

Engineering Judgment

Architecture Decisions

A few examples of how I think through technical tradeoffs when building products that need to stay maintainable.

Decision

Use managed services where reliability matters

Why

Hosted databases, checkout, and deployment platforms reduce operational work for small teams.

Tradeoff

Less infrastructure control, but faster delivery and fewer maintenance paths.

Decision

Keep sensitive payment handling outside the app

Why

Stripe-hosted checkout keeps sensitive card handling out of the application surface.

Tradeoff

Less custom checkout UI, but simpler compliance and safer payment flow.

Decision

Make the database model the source of truth

Why

Clear schemas and relationships make admin workflows, analytics, and order state easier to reason about.

Tradeoff

More up-front modeling, but fewer surprises once features grow.

Decision

Test the parts that carry business risk

Why

Checkout, auth, calculations, and state transitions deserve more coverage than static UI.

Tradeoff

Not every line needs a test, but critical paths should be boringly predictable.