Hey, I'm Adamm.

I enjoy building and designing for the web.

Tell me more

Here are a few of my list projects.

Converter Files

Free converter files to pdf, png, jpg, and webp using ffmpeg.

Notion Clone

Notion App clone using convex and clerk for authentication.

Game Store

React shopping chart using typescript & rawg game api.

Fresh from the build log.

Software engineer, end to end.
From design systems to system design.

Years of shipping for the web: UI architecture and design systems up front, APIs, data, and services behind — and clean boundaries holding it all together.

HTML

HTML

CSS

CSS

Javascript

Javascript

Typescript

Typescript

React

React

NextJS

NextJS

TailwindCSS

TailwindCSS

Sass

Sass

Zustand

Zustand

NodeJS

NodeJS

ExpressJS

ExpressJS

NestJS

NestJS

Go

Go

PostgreSQL

PostgreSQL

Git

Git

Have a play.

A tiny ecosystem — everything idles, everything reacts. Poke a doodle, or drag one into another. Some pairs have chemistry.

poke · drag · combine · reset · ↑ ↑ ↓ ↓ ← → ← → b a

Opinions I'll defend.

  • design systems

    A design system is an API. Version it, break it loudly.

    // components come and go — tokens and contracts stay

  • architecture

    Good architecture makes code easy to delete.

    // strict layers, one-way imports — clever is a liability

  • backend

    Design the contract before the code.

    // schema first, handlers later — an API is a promise

  • data

    Your database outlives your framework. Design it like it.

    // three frameworks later, the schema is still here

  • systems

    If it can be prerendered, it should be.

    // this whole site is static files on a CDN — zero servers to babysit

  • typescript

    Strict mode is cheaper than the bugs it prevents.

    // turn it on day one; it never gets easier later

// formed the hard way — in production

doodles

Interested in Working Together?

Get in Touch