Senior mobile and web engineer in Chicago. Fifteen years of shipping storefronts, subscription engines, native apps, and developer tools that tens of thousands of engineers now run.
I rebuilt Volcanica's Shopify storefront from the ground up, built the Coffee Club subscription box inside it, and wrote the React dashboard their subscribers run it from.
Role
Lead web developer
Years
2024–2026
Built with
Shopify OS 2.0, Liquid, Recharge, Next.js 16, React 19, n8n
volcanicacoffee.com as it runs today. Your scroll is driving a frame-by-frame capture of the real page.
the old storefront, replaced
Before the rebuild, Volcanica ran a patched copy of a stock theme. Scroll to wipe it away: this is the same homepage, rendered the same day, before and after.
Built from mad.studio's designs on a stripped Dawn 15.3 base.
39 sections with no Dawn equivalent; header, product page, search and cart rewritten.
One performance pass deleted 38,583 lines across 190 files.
Scripts deferred, fonts preloaded, header height computed on the server.
Vector search behind a toggle, and promo codes that apply straight from a link.
volcanicacoffee.com
beforeafter
coffee club: a box you build
Coffee Club is Volcanica's flat-rate subscription: three or six coffees from twenty, whole bean or ground, delivered on your schedule, with free oat milk in every box. Underneath is Recharge's bundle widget. I hid its interface and drove it from a custom one, so the box feels like the brand instead of like a plugin.
Pick a box. Three or six coffees, priced from Recharge's selling-plan allocations, never hard-coded.
Grind and plan. Whole bean or ground, monthly or prepaid for three or six months, each tied to its own selling plan.
Fill it. Choose coffees one by one, or fill the box with best-sellers in one tap.
Watch it count. A sticky bar tallies servings as the box fills and unlocks at exactly three or six.
Check out. The oat milk joins the cart automatically, and leaves it if the box does.
The box builder on a phone, live.
volcanicacoffee.com/pages/coffee-club
the dashboard subscribers actually use
app.volcanicacoffee.com replaced the stock subscription portal with a Next.js 16 and React 19 app I wrote: 17 pages and 56 API routes over Shopify's Customer Account API and Recharge. Subscribers ship a box now, push it sooner or later, swap coffees, gift a box, merge stray subscriptions into one bundle, and spend their rewards. The team edits the cancellation flow without a deploy: a reason picker, then a matched save offer.
Sign-in is Shopify's OAuth with PKCE, the session is an AES-256-GCM cookie, and every change a subscriber makes carries a signed ownership token.
app.volcanicacoffee.com
Overview: next charge, one-tap ship, sooner or later.
app.volcanicacoffee.com/build-a-box
Editing the box: six of six, totals live.
app.volcanicacoffee.com
The save offer the team edits themselves.
Shown running locally against a stub with a fictional subscriber. No customer data.
2,159 commits to the storefront, 1,018 of them by hand and the rest the theme editor syncing. 453 to the dashboard. 69 n8n workflows behind its API. One pull request that deleted 38,583 lines.
02
mifland
A leather-goods project by founder Tobi that grew into apparel and into Atlanta's fashion scene. I guided the whole digital build and have run the Shopify storefront with him since 2022.
Role
Web developer
Years
2022–now
Built with
Shopify, a custom theme built on Kingdom, Liquid, SCSS
Since then Mifland has collaborated with Nike and Sperry, worked with LeBron James, and run pop-ups in New York, Chicago and Atlanta. The storefront's job is to keep pace: drops, collaborations, a lookbook and a journal, with navigation I wrote to carry all of it.
mifland.com
mifland.com, scrolled top to bottom. The hero is their own footage of a bag being stitched.
03
strata
An independent fashion house with three storefronts: the main line, a basics label, and a wholesale catalogue I built from scratch. Founder Jason came to me with a slow, bloated theme and falling conversions.
strata.us
strata.us
Performance and conversion work on a heavily customised theme: promo codes that apply from a link, campaign banners and colourway selectors driven by metafields, infinite collections, and a clean-out of the inline tracking scripts. The 2026 visual refresh was designed and built alongside alright.studio. I also set up the brand's Google Workspace and ran their Klaviyo email and SMS.
stratablacklabel.com
black label
A custom theme for the basics line, made in their Peruvian factory: GSAP and Lenis motion, a launch gate with a countdown and a preview mode, and storytelling sections for chapters, lookbooks and collaborations.
black label blanks
A gated wholesale catalogue, 73 of its 88 commits mine. Buyers apply through Shopify Forms and are approved into a B2B company by Shopify Flow, then order an entire colour-by-size matrix in one add, with restock dates per variant.
Also for clients: Crawlspace Pro, Mavericks Exteriors and RegenMD.
A pre-indexed knowledge graph of your code, for the AI agents that write it.
It parses a codebase with tree-sitter, in 34 languages, into one local SQLite graph of every function, class and call. An agent asks it one question instead of opening forty files.
What you are watching is CodeGraph indexing itself: 250 of its most-connected symbols and the real calls between them, drawn in the order the indexer reaches them.
One real call path, traced: main → open → sync → resolveDeferredThisMemberRefs → getNodesByName. Hover any node to read it.
4,625 forks · 44 contributors · 31 releases
what it changes for an agent
On seven open-source repositories (VS Code, Excalidraw, Django, Tokio, OkHttp, Gin and Alamofire), headless Claude Code with the graph made 88% fewer tool calls, finished 53% faster and spent 62% fewer tokens than without it, and read zero files on all seven. The benchmark and its caveats are in the README.
It auto-configures Claude Code, Codex, Gemini, Cursor, opencode, Copilot, Kiro, Antigravity and Hermes Agent, re-syncs two seconds after you save, and never leaves your machine. 1,046 commits since January, and 116,622 npm downloads in the last week alone.
A little team of AI teammates with a computer of their own. You bring your ChatGPT or Claude account; Hoblets brings the cloud computer, the roles, the memory, the routines and the approvals.
Role
Founder: product, design and engineering
Platforms
Web, macOS, iPhone and iPad
Built with
Next.js 16, Electron, Expo, Docker, Postgres with pgvector, Cloudflare
Kommandr for macOS on the Volcanica storefront board, a live two-way sync with JIRA. Another client’s projects are blurred in the sidebar.
a tour of the desk
Sixteen real screens from Kommandr for macOS, running on my own work: the Volcanica storefront and CodeGraph’s engine. Pick one.
Plan
Run
Ship
Bill
Connect
Kommandr / oss-engine
Epics as a dependency tree. CodeGraph’s plugin-API epic: one spike fans out into parallel work and converges on docs and validation. The task runner executes it in exactly this order, on one branch.
Kommandr / storefront
Docs. A markdown editor with Summarize and Edit with AI. This is the build tracker for Volcanica’s Father’s Day 2026 campaign.
Kommandr / storefront
Agents. Define an agent for one project or share it across all of them: a model, a colour and its instructions, saved to the project’s agents folder.
Kommandr / storefront
Memory. Durable notes the assistant keeps about a project and its client, one topic per file. Every session sees the list and reads or updates it as it works.
Kommandr / storefront
Autonomous or guided. Hand an epic to an agent and choose how involved to be: it works alone, or you chat with it as it goes. Pick the model, the MCP servers and the effort. A run that stopped resumes where it left off.
Kommandr / sessions
Every run, on the record. This CodeGraph epic ran autonomously for 2 hours 47 minutes: five tasks and 1,694 events, each one open to inspect.
Kommandr / sessions
Sessions. The history of every task and epic run, filtered by project and status.
Kommandr / storefront
Chat with the project. Tag issues with @, GitHub issues with #, run slash commands, and watch each tool call land. The meter shows how much context is left.
Kommandr / storefront
A full git client. Branches, remotes, worktrees, stashes and tags beside the commit graph. Commit messages can be written by AI from the diff, following the repository’s own conventions and recent history.
Kommandr / oss-engine
GitHub issues. The repository’s issues, searchable and ready to tag into a chat. These are CodeGraph’s own open issues.
Kommandr / storefront
An editor inside the board. This is the Coffee Club box builder from the Volcanica chapter.
Live Edit. Runs the dev server in an embedded browser with DevTools, logs and an inspector: pin an element and hand it to the agent. Shown on a personal project, a Palworld server list.
Kommandr / storefront
Files. Browse the project folder, make folders and add files without leaving the app.
Kommandr / hours
Hours that track themselves. Clock in by hand, or let the AI log its own time: chat, planning and task runs are recorded against the client automatically, and clocking out with no note writes one from the issues closed while you were in. Export to CSV. Other clients’ names are blurred here.
Kommandr / Volcanica
Clients. Projects group under a client, and hour tracking is switched on per client.
Kommandr / connectors
Connectors. A two-way JIRA sync (the Volcanica storefront’s board lives in JIRA) or a PostgreSQL database the agents can query.
in your pocket
Scan a QR code from the desktop and the phone gets the same board, chats and runners, with a push notification when an agent needs you.
Questions. An agent that needs a decision asks, and you answer from anywhere.
Runners. Watch an epic run in dependency order on one branch, and resume it after a crash.
Chats. Every conversation across every project, with the ones waiting on you on top.
Relay. The phone reaches your Mac through a Cloudflare Durable Object, so its address never changes.
underneath
Adapters for seven agent CLIs: Claude Code, Codex, Gemini, Cursor, Copilot, opencode and Grok.
23 MCP tools that give agents the board, the sprints and the runners.
A merge-conflict editor with AI resolve.
Offline licences signed with Ed25519.
Phone screens are the real Kommandr iOS app paired to a local sample project.
part three
resume
Self-taught, shipping since fifteen. Before the freelance work above, and alongside it, these were the day jobs.
2023–nowamniscientMobile and senior full-stack engineerLed the cross-platform AR capture product, from native Swift and Kotlin modules to the React Native interface, the APIs and the web dashboards.
2022–2023ceretaxLead UI engineerBuilt a complex single-page app with custom routing, spreadsheet-style tabs, a full table system, and QA automation for testing and performance.
2021–2022schiefer chopshopSenior full-stack engineerFrontend and backend systems and custom Shopify features across React, Salesforce and Liquid, with performance-focused Apex.
2018–2021crypto wallet (NDA)Full-stack engineerA secure wallet app, real-time React dashboards, a custom SCSS and Tailwind UI library, a ticketing system, and a provably fair game on a Mersenne Twister RNG.
2013–2015hostlegendFounder and CEOGrew a VPS host to more than 750 clients and sold it to ColoCrossing: the servers, the security, the Laravel site, backups and support.
Works in React, React Native, Expo, Swift, Kotlin, TypeScript, Node, Next.js, NestJS, Laravel, Shopify and Liquid, ARKit and ARCore, and AI systems: embeddings, vector databases, chat and agents.