|
I build production-grade interfaces where technical rigor meets visual craft: component architecture, design systems, motion, and full-stack integration, with accessibility and performance treated as requirements rather than finishing touches. I work the seam between mockup and shipped product, holding engineering discipline and design judgment to the same standard so the distance between the two stays as close to zero as possible. |
Core Strengths ▸ Design-to-code, Figma to production CSS ▸ Accessible, responsive interface engineering ▸ Motion and interaction design ▸ Design systems at scale ▸ Django and Wagtail integration |
This repository is also the source for my personal site: a fully typed React and TypeScript single-page application, rebuilt from the ground up and deployed automatically to GitHub Pages on every push to main.
|
What it does
|
Built with |
|
User-First
|
Component Integrity
|
Accessible by Default
|
Performance as UX
|
Every project I ship carries a written brand system before a single line of interface code, defining palette, typography, tone, and the rules that keep a visual identity disciplined instead of decorative. The direction below governs Abyssal Liturgy, a ceremonial identity built for the edge of land and sea, where fashion, ritual, and biological form are treated as forgotten religious painting, submerged for centuries.
| Void | Charcoal | Cold Slate | Ash Gray | Bone White | Bio Residue |
|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#050506 |
#111318 |
#2b3038 |
#6d727b |
#e9e4da |
#3c4b46 |
Governing rule: ninety-five percent black, one light source, texture over color as the primary signal. View the brand and art direction →
A studio site built on a single premise: restraint is a design choice, not an absence of one. Undertow is a fictional web design and motion graphics studio, brought to life as a full-stack React and Django application, one clear hierarchy, considered type, and motion that earns its place, nothing added because it was easy, nothing left in because no one questioned it.
The front end is a strict-TypeScript React SPA served from Vite, with a class-based domain model shared across the codebase. The back end is Django and Django REST Framework, structured around multi-tenant scoping (Organization, Membership) so the same codebase can serve more than one studio without a rewrite, a public read-only API for the portfolio, a write-only endpoint for inquiries, and Django admin as the only internal tool by design, no dashboard to maintain until there's a reason for one.











