I’m a designer who builds.

For the last three years that has meant doing whatever it took to get a product into people’s hands. I joined Codifi early, when it spun out of an archaeology firm’s tech team, as its only product designer. Then the to-do list kept growing. I started writing the frontend because waiting on handoffs was too slow. I wrote the docs and the release notes, rebuilt the marketing site, field-tested GPS receivers, sat with crews in the field, and shot and edited the company film.

The way I work: design it, build it, put it in front of a field crew, fix what they tell me, ship again. When I design and code the same feature, the interface shapes the data model and the code keeps the design honest.

Before software I was a pastor for nine years, which was a lot of customer experience and change management in disguise. Before that I published twelve iOS apps in Objective-C. Different titles, same instinct: work out what people need, then make it.

I live in Charleston, Tennessee. The whole story is on the timeline.

Alex Voigt: short dark hair, a trimmed beard and a half smile, in a denim jacket, lit from one side against a dark room.

What I do

Design

  • Product and interaction design, from the first sketch to the shipped screen
  • Design systems, and keeping them true across web, mobile and marketing
  • Research in the field, standing next to the person doing the work
  • Brand, App Store and marketing design
  • Film, photography and motion

Engineering

  • TypeScript, React and React Native
  • Next.js, and static sites like this one
  • Maps and geospatial work: Mapbox, Turf, GPS receivers over Bluetooth
  • Interfaces for software that has to work with no signal
  • Building with AI agents, and writing the docs they need to do it well

Product and people

  • Roadmaps, releases and deciding what not to build
  • Docs, release notes and training
  • Rolling software out to people who liked their old tools
  • Listening, which nine years as a pastor taught me

Where I have been

35 countries on six continents, usually with a camera.

A world map with the 35 countries I have visited filled in. They are listed below.
All 35 countries
  • Australia
  • Austria
  • Bahamas
  • Bolivia
  • Brazil
  • Cambodia
  • Canada
  • Colombia
  • Croatia
  • Czech Republic
  • Dominican Republic
  • England
  • France
  • Germany
  • Ghana
  • Haiti
  • Honduras
  • Iceland
  • Israel
  • Italy
  • Jordan
  • Mexico
  • Monaco
  • Morocco
  • New Zealand
  • Romania
  • Slovenia
  • Spain
  • Switzerland
  • Thailand
  • Turkey
  • Ukraine
  • United States
  • Vatican City
  • Venezuela

See the photographs

Remote office

I love to travel, and I like finding somewhere to work from when I get there.

  • Alex at a laptop on a small round table on a balcony, with the old harbour, its boats and the terracotta roofs of Dubrovnik behind him.
    Dubrovnik, Croatia
  • Alex at a laptop on a green café table on a wooden balcony, with a waterfall and mountains in low cloud behind him.
    Triglav National Park, Slovenia
  • A laptop on a table under a thatched roof at the water’s edge, with lunch beside it and mangroves across the channel.
    A causeway in Florida

Out of office

And sometimes the laptop stays shut.

  • Alex leans on a rock wall with his chin on his hand, face to face with a Barbary macaque sitting an arm’s length away, with the top of the Rock in cloud behind them.
    Gibraltar, 2019
  • Alex sits on the crest of an orange sand dune in a head wrap and sunglasses, looking out over the desert in low sun.
    The Sahara, Morocco, 2019
  • Alex in silhouette against a bright window, reading a book on a sofa.
    Reading, 2020

How this site is built

It is a static site: Next.js, exported to plain files, with no server, no tracking and no component library. The design system is ordinary CSS: one set of tokens, and three grounds (ink, paper, and Codifi’s teal) that re-point those tokens for whatever sits on them.

The name on the home page is real text. The photograph inside it is painted with background-clip: text and a mask, and three CSS variables move it. The photographs in it are two-tone on purpose: that puts a floor under the letters’ contrast, and the build fails if a tone drops below it.

Every photograph is built by a script into AVIF and JPEG at several sizes, with its metadata stripped, because a field photo can carry the location of an archaeological site. The world map on this page is drawn when the site is built, so your browser downloads a picture of a map and not a map library.

Colour contrast is checked by a script on every ground. The site meets WCAG 2.2 AA, works from the keyboard, reflows at 200% zoom, and keeps still if you have asked your system for less motion.

I built it with Claude Code, the way I build most things now: I decide what it should be and review what comes back, and the agent does a lot of the typing. It is set in Mona Sans, Bricolage Grotesque and Newsreader.