Software Engineer
Frontend & React
Modern client-side engineering with React 19, TypeScript, and Vite: real state-management patterns, intent-named custom hooks, accessible drag-and-drop, unit-tested logic, and live deployed demos.
Back to ProjectsWorkflow Board Live
A Trello-style drag-and-drop task board built with React 19, TypeScript, and Vite — full card editing, per-column WIP limits, search/filter, and a simulated multiplayer layer with presence and an activity feed.
- Drag & drop: accessible board powered by
@dnd-kit— reorder cards within a list and move them across columns. - Card editing: title, description, assignee, priority, labels, and due dates edited in a modal.
- Architecture: a single normalized store driven by
useReducer+ Context; components dispatch only through intent-named custom hooks. - Mock multiplayer: a simulated-collaborator engine, live presence, an activity feed, and
localStoragestate synced across browser tabs.
Open the live demo — drag cards, switch users, hit “Simulate,” and watch state sync across browser tabs.
Interactive Habit Tracker Live
A habit tracker built on logic, not checkboxes — schedule-aware streaks, rolling completion percentages, and a clickable contribution heatmap, all driven by pure, unit-tested functions. Built with React 19, TypeScript, and Vite.
- Schedule-aware streaks: current and longest streaks count only the days a habit is actually due — a weekday habit survives the weekend, and an unchecked-but-not-over today gets a grace period instead of resetting to zero.
- Dynamic completion %: a rolling 30-day consistency ring per habit, plus a board-wide today ring and streak aggregates in the header.
- Interactive heatmap: a GitHub-style grid of the last 18 weeks — click any day to backfill or undo it and watch every number recompute.
- Tested core: the streak and percentage engine is a set of pure functions shipped with a Vitest suite.
Open the live demo — mark a day done and watch the ring, streak, and header recompute; click heatmap squares to backfill past days.
Password Validator Live
A real-time strength checker beyond a checklist: an entropy-based score that penalizes predictable patterns, a time-to-crack estimate, breach-style common-password detection, and a crypto-secure generator — all client-side, no password leaves the page.
Interactive Stocks Live
A stock dashboard pulling live market data through a server-side API-key proxy — ticker search, a live quote, a hand-built interactive SVG chart with range tabs, and a saved watchlist with sparklines. Falls back to labeled demo data so it always runs.
BMI Calculator Live
A BMI calculator past the one-line formula: the WHO band your number lands in, a hand-built SVG gauge, the healthy weight range for your height, and BMI Prime. Metric and imperial switch without clearing your numbers — BMI framed as a screening tool, not a diagnosis.