Hi, I'm Shawn
Software Engineer focused on React, TypeScript, and delightful product UX.
SH

About

Independent contract software engineer with 10+ years shipping web products. Currently modernizing legacy Rails views with the FoodRecovery.org team. Previously built AI-powered workflow tooling at Snow Owl, and before that led front-end decomposition of Coinbase login out of a Rails monolith. I like modernizing crusty codebases, mentoring engineers, and shipping small things at home on the side.

Work Experience

Skills

TypeScriptTypeScript
JavaScriptJavaScript
ReactReact
Next.jsNext.js
SvelteSvelte
Node.jsNode.js
HTML5HTML
CSSCSS
Tailwind CSSTailwind
shadcn/uishadcn/ui
GraphQLGraphQL
Ruby on RailsRuby on Rails
HotwireHotwire
TurboTurbo
PostgreSQLPostgres
SQLiteSQLite
RedisRedis
DockerDocker
NGINXnginx
ReactReact Native
ExpoExpo
ElectronElectron
AI / OpenAI
AnthropicAnthropic
CursorCursor
AWS
CloudflareCloudflare
Azure
WebpackWebpack
ViteVite
StorybookStorybook
GitGit
JestJest
VitestVitest
Playwright
.NET.NET
C#
FigmaFigma
FramerFramer
My Projects

Things I've built for fun

A collection of side projects, tools, and experiments — some shipped publicly, some just scratching my own itch.

GiftWrapt Wish Lists

Family wish-list and gift coordination platform. v1 ("HoffStuff") proved the model on Next.js + Supabase with smart URL imports and multi-buyer secrecy. v2 ("GiftWrapt") is a ground-up rewrite on TanStack Start + Postgres, packaged as a single self-hostable Docker container, with a multi-tenant native iOS companion and AI-powered gift suggestions.

TanStack
Next.js
TypeScript
iOS
Postgres
Docker
AI

Hospitality Channels

Self-hosted guest TV channel creation system for hospitality environments. Template-driven video clips render to MP4 via headless Chromium + FFmpeg, with built-in Tunarr integration.

TypeScript
FFmpeg
Docker

Bluesky Star Wars Feed & Moderation

Custom Bluesky Star Wars feed promoting positive community content, paired with a self-hosted moderation bot account and labeler that helps identify potential spoilers.

TypeScript
atproto
WebSockets
Docker

Satisfactory Notebook

Printable game companion site for Satisfactory: a quick-reference recipe book for players who prefer paper or a no-fuss lookup table.

Next.js
TypeScript

Dyson Sphere Planner

Companion site for Dyson Sphere Program with printable, easy-to-reference recipes for planning out your factory builds.

Next.js
TypeScript

MedStash

Self-hosted receipt keeper for long-term HSA recordkeeping — tag, annotate, and export records when you need them.

Next.js
TypeScript
Volunteering

Giving back when I can

A handful of organizations and causes I've donated time to over the years.

Pacific Crest Trail Association

Pacific Crest Trail Association

Trail Crew Volunteer

Backcountry trail maintenance on the PCT, including building staircases, clearing downed trees with crosscut saws, and general tread work to keep the trail passable for hikers and stock. USFS B-Bucker certified for crosscut saw operations.

Trail Work
B-Bucker Certified
Learn more
Contact

Get in Touch

Want to chat? Shoot me an email at shawn.p.hoffman@gmail.com. I'll respond when I can.