Skip to content
AvailableMeasured liveFrontend Architect & Creative Tech Engineer

Frontend systems that move hardware.

AI-era frontend architecture for interfaces that move real things. Real-time 3D, hardware bridges, and Node.js, PostgreSQL and Redis underneath.

Building and shipping software
Building and shipping software
Products shipped end to end
Products shipped end to end
Lines of production code
Lines of production code
Languages shipped to production
Languages shipped to production
system.statusUTC
  • LCP. Largest Contentful Paint, measured on this page load.—
  • FCP. First Contentful Paint, measured on this page load.—
  • JS. First-party JavaScript actually transferred over the network.—
  • TTFB. Time to first byte for this document.—

Measured in this browser from this page load: paint timings, transfer size and server response. No invented uptime.

  • Pillar 01

    Frontend Mastery

    React 19, Next.js 16, TypeScript, Tailwind v4 and Framer Motion on the surface. Behind it, typed Node.js services, PostgreSQL data models and Redis caching that keep the interface honest under real load.

    • React 19
    • Next.js 16
    • Node.js
    • PostgreSQL
  • Pillar 02

    3D & Creative Web

    Three.js and React Three Fiber scenes with physical materials, custom lighting, responsive canvases and motion that respects the visitor.

    • Three.js
    • React Three Fiber
    • WebGL
    • Physical materials
  • Pillar 03

    Hardware & Automation

    Low-voltage devices, solar and battery telemetry, serial and thermal interfaces, and the automation pipelines that move their data into the browser.

    • Low-voltage
    • Solar / battery
    • Serial interfaces
    • Automation

Chapter 01

The Architect's Sandbox

Things I built and what changed after they shipped. Every number is a metric I instrumented, not a round number I picked.

3 featured
product · 2026RetroPOS
Live2026Solo

RetroPOS

A retro-style terminal POS built with Bun + OpenTUI + SQLite

A complete keyboard-driven point-of-sale terminal built with Bun, OpenTUI, and bun:sqlite. Features PIN login with RBAC (admin/manager/cashier roles), 9-step onboarding with conditional recipe flows, full commercial suite (analytics, import/export, theme persistence), till/cash drawer with F9 operations (float, cash in/out, X/Z reports), items/ingredients view with low-stock indicators, recipes/view with product↔ingredient BOM links, width-parametric ESC/POS receipt rendering (80mm=42 cols, 57mm=32 cols), receipt modes (Auto/Ask/Off), oversell control, and 'sale without till' toggle. Demonstrates modern terminal UI patterns, SQLite persistence, and conventional POS workflows in a compact, keyboard-driven interface.
lines of source
lines of source
core modules
core modules
function keys
function keys
  • Bun
  • OpenTUI
  • SQLite
  • Terminal UI
  • RBAC
  • ESC/POS
  • Cafe Recipes
  • Import/Export

Interactive demo

Loaded on request - the embed pulls its own bundle and we would rather you got the page first.

Live2026Architect and sole engineer

Nerve

An enterprise commerce and FBR compliance engine with hardware-locked licences.

Two applications that ship together: a Next.js control panel for subscriptions, licence issuance and multi-tenant administration, and an Electron point-of-sale terminal that runs on the shop floor. The hard part was not the CRUD - it was making a licence genuinely unborrable. Keys are signed with RS256, only the hash is stored, and each terminal is bound to a hardware fingerprint derived from the CPU, the motherboard and the MAC address. Copy the database to another machine and the token fails to verify, because the claim in the token no longer matches the machine asking. A kill switch with an anti-tamper HMAC and a clock-rollback guard sits underneath it all, and the whole thing has to survive a 12-year-old jQuery admin panel being replaced in one go.
lines of TypeScript
lines of TypeScript
source files
source files
licence signature
licence signature
  • Next.js 16
  • Electron
  • React
  • TypeScript
  • Drizzle ORM
  • MySQL
  • JWT
product · 2026Frosted
Live2026Solo

Frosted

An ERP and POS suite engineered for 1080p terminals and the 2am rush.

Built for high-volume creameries and bakeries, where the till is a 1080p screen, the printer is an 80mm thermal engine and every second counts. The design goal was a single-glance operational surface: a cashier should be able to read the order, take the payment and clear the screen without a tutorial. That meant specialised thermal receipt rendering rather than printing a web page, a fiscal layer that tracks the rules the business actually runs on, and a theming system so a franchise can rebrand the whole terminal without a rebuild. The kitchen queue, the stock ledger and the register are all one system, and none of them assume the network is there.
lines of TypeScript
lines of TypeScript
source files
source files
thermal print engine
thermal print engine
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • Node.js
  • ERP
  • POS
  • SaaS
  • product · 2026Nerve FFMS
    Live2026Solo

    Nerve FFMS

    A Tauri POS terminal that runs the till, the kitchen and the stock in one binary.

    lines of TypeScript
    lines of TypeScript
    source files
    source files
    built-in themes
    built-in themes
    • Tauri v2
    • Rust
    • React
    • Bun
    • SQLite
    • Drizzle ORM
    • Raast
  • product · 2025ROOKIES Bakery
    Live2025Solo

    ROOKIES Bakery

    A bakery platform with a production-grade admin, built on Next.js 16.

    lines of TypeScript
    lines of TypeScript
    source files
    source files
    Next.js version
    Next.js version
    • Next.js 16
    • React 19
    • TypeScript
    • Tailwind CSS v4
    • Neon
    • Drizzle ORM
    • NextAuth
  • product · 2025deFrost
    Live2025Solo

    deFrost

    A clothing commerce platform with a full admin panel and a POS system attached.

    lines of TypeScript
    lines of TypeScript
    source files
    source files
    sign-in methods
    sign-in methods
    • Next.js
    • TypeScript
    • Auth.js
    • Drizzle ORM
    • Neon
    • TanStack Table
    • Framer Motion
  • product · 2026Oftsy RMS
    Live2026Solo

    Oftsy RMS

    A restaurant management system in two halves: a native app and the web back office.

    lines of TypeScript
    lines of TypeScript
    source files
    source files
    native + web
    native + web
    • Expo
    • React Native
    • Next.js
    • Clerk
    • Neon
    • Drizzle ORM
    • Postgres
    • Zod
  • oss · 2026PaisaFlow
    Live2026Maintainer

    PaisaFlow

    A checkout and webhook sandbox SDK for Pakistani mobile wallets.

    lines of TypeScript
    lines of TypeScript
    source files
    source files
    sandbox flows
    sandbox flows
    • Next.js
    • TypeScript
    • Drizzle ORM
    • Postgres
    • QR
    • SDK
  • product · 2026Pharmacy POS
    Beta2026Solo

    Pharmacy POS

    A React Native point of sale for pharmacies, with receipt OCR built in.

    lines of TypeScript
    lines of TypeScript
    source files
    source files
    on-device OCR model
    on-device OCR model
    • Expo
    • React Native
    • Supabase
    • Drizzle ORM
    • SQLite
    • ML Kit
    • NativeWind

Chapter 02

The Tech Stack Radar

9 domains and 54 technologies, mapped as one stack. Tap a domain to see the years behind each tool and what I actually shipped with it.

54 technologiesPolyglot

Capability map

The shape of the stack

9 domains / 54 technologies

Active signal

Frontend Systems

92%

8 tools / Frontend

  1. 01Design tokens
  2. 02React tree
  3. 03Server state
  4. 04Paint

Select a domain above to redraw the map and inspect the tools behind it.

Interface architecture at scale: rendering strategy, state that does not fight itself, and accessibility treated as a requirement rather than a retro-fit.

  • Years
    6
    Projects
    14

    Shipped the Control Plane admin surface: ~120 components, co-located hooks, and a virtualised table holding 50k rows without dropping frames.

  • Years
    5
    Projects
    9

    Moved a documentation site from SPA routing to the App Router and cut TTFB by routing static content at build time instead of shipping it to the client.

  • Years
    6
    Projects
    16

    Typed an internal API surface end to end and turned a class of runtime shape bugs into compile errors, which is the only reason refactors stopped being scary.

  • Years
    4
    Projects
    8

    Built a token-driven design system where every colour is contrast-checked in both themes in CI, so a theme flip cannot silently ship unreadable text.

  • Years
    3
    Projects
    5

    Used deliberately and sparingly - layout transitions and drawer choreography only. Animation that blocks interaction is a bug with a nice easing curve.

  • Years
    5
    Projects
    11

    Took three production apps to WCAG 2.2 AA: keyboard paths, focus management, live regions, and a contrast budget enforced by a pull-request check.

  • Years
    3
    Projects
    6

    Built inventory and licence screens with server-state caches and virtualised tables that stay responsive at 50k rows.

  • Years
    5
    Projects
    12

    Measured LCP, INP and TTFB in the browser rather than trusting a lab score; kept the 3D chunk off the initial load and capped DPR on a procedurally built scene.

Chapter 03

The 3D Canvas

A 1969 Ford Mustang in classic black, built as a real-time scene rather than a rendered video. Drag to orbit, scroll to zoom, or use the view controls. Metallic paint, custom lighting and contact shadows are all computed in the browser.

WebGL · R3F
3D

live canvas

1969 Ford Mustang · classic black

WebGL · R3Fprocedural

Initializing 3D canvas

three.js · react three fiber

8% · loading chunk

Drag to orbit · scroll or pinch to zoom. Keyboard: use the view controls.

Procedural geometry · physical materials · no pre-rendered video, no remote model download.

Chapter 04

The Hardware Lab

The same discipline that keeps a production frontend predictable also runs a solar bus, a thermal printer and a serial telemetry link. These are interactive vector instruments: flip a mode, watch a trace, follow a packet from device to dashboard.

12.42 V · live sim
digital multimeterDM-69 · true RMS
select
VΩ
COM
DC V12.42V
DC A2.84A
OHM4.72Ω

simulated telemetry12V BUS

Interactive multimeter. Readings are simulated around a fixed base, and settle when reduced motion is requested.
low-voltage boardLV-01 · sync
Low-voltage boardA circuit board with solar input, charge controller, ESP32 microcontroller, ADC and relay blocks. Animated dashed traces show power and data packets moving from the hardware into the web layer.SOLAR18V IN12VBUSMPPTCHARGEMCUESP32ADC16-BITRELAYLOADGPIO / UART HEADERAHSAWWN / LV-01
Low-voltage board. Animated pulses represent packets crossing the hardware-to-web boundary.
automation pipelinetrace · live
01

Ingest

Webhooks, serial frames, solar telemetry and thermal print jobs arrive on one boundary.

HTTP · UART · MQTT

02

Normalize

Schemas, units and ids are reconciled before anything downstream sees a value.

Schema · dedupe

03

AI enrich

Classification, summaries and anomaly scores run behind a typed interface, not in the UI.

LLM · embeddings

04

Validate

Thresholds, authorization and retries decide what is safe to publish or actuate.

Guards · retries

05

Dispatch

Dashboards, alerts and hardware commands leave through one observable path.

UI · alerts · relay

Automation pipeline. Ingestion, AI enrichment, validation and dispatch, drawn as one trace.

Chapter 05

Engineering Proof

Rather than ask you to take my word for it, here is a terminal. Run commands against my actual background data — all client-side, no network, no shell access.

35 commands

Chapter 06

The Call to Action

Tell me what you are building and what is going wrong with it. I reply within a day, usually from ahsawwn.com.

Come and sit. He answers faster than the form does.

Send a message

Used to reply and send your confirmation. Never shared, never added to a list.

Rough is fine. Problems are more useful than job titles.