davidbean, back to the first slide

Brooklyn, NY · 2026

davidbean

Design engineer. I research it, design it, then build it, so nothing gets lost in the handoff.

Co-founder of SNACKS. Before that, Principal Product Designer at Meta, Senior Interaction Designer at Bloomberg, and a decade of agency work. This is a deck, not a site. It runs on Snacks Slides, one of a suite of tools I built at SNACKS, and everything in it is a real thing you can use.

→ next slide   F present   hover the bottom edge for the map

Swipe for the next slide.

01The handoff

Great work stalls in the gap between design and engineering. I stopped standing on one side of it.

For fifteen years I designed things and handed them to people who built them. Some of it survived the trip. The parts that mattered most, the timing, the states, the feel of a thing in your hand, rarely did.

Since 2025 I build what I design. Not prototypes: products with accounts, app-store listings, billing, and users who complain. The person with the design intent is the person shaping the build. That is the whole idea, and everything after this slide is evidence.

02Four chapters

I have described myself four ways. The last one is the first one, again.

2001 to 2011An art student who took to coding. Photography degree, then web design and development at small shops.
2011 to 2013A developer with a long-term plan to focus on UX. The years I learned to prototype in code, fast.
2013 to 2024A manager who kept his hands dirty. Code and Theory, Dom & Tom, Bloomberg, Meta.
2025 onwardA designer who went back to the code. SNACKS, a suite of products, and every slide after this one.
03SNACKS · the studio Paul and I run

Then Paul and I started SNACKS. Small by design.

SNACKS is the studio Paul Petrowsky and I co-founded. Six senior people, each of us used to being the one in the room with nobody above to escalate to. We treat every layer of a business as a design problem: brand, product, ops, go-to-market, built with the same care by the same people.

Paul and I both spent years at Meta as Principal Product Designers, him on Central Integrity and Support, me on Central Privacy, Enterprise Tooling, and Developer Experiences. Before that, a dozen agency years each, some of them side by side. SNACKS puts both kinds of muscle to work in one place. Brooklyn and Chicago, Eastern time, mostly.

What follows is Snacks Labs: the products we built for ourselves, shipped in the open with the same care as client work. It starts with the one the studio thinks on.

  • DirectNo layers between you and the work. Most of what slows a studio down is internal; we skip all of it. Your point of contact is a person doing the work.
  • CompressedAI moves the speed. We move the standard. Cycles that took weeks take days, and a daily trivia game went from first sketch to two app stores and the web in seven weeks. Senior review on everything that ships; client work stays out of model training.
  • EmbeddedWe work within, not just with. Slack channels, standups, the messy middle. Not consultants delivering a deck. Partners shipping with you.
  • Three layersDesign, strategy, operations. Some of it is the six of us, some is a bench of senior specialists we have already shipped with. The standard is the same either way.
04Snacks Brains · the studio's memory, and its CFO

Every project gets a brain. So does the studio.

Every claim in them points at a sentence a real person said. It began as a discovery engine for one live engagement: interview transcripts, sync notes, Slack days, design audits, and transcribed video, turned into typed findings, opportunity themes, decision records, and evidence-cited briefs. If a quote is not an exact substring of its source, the system refuses to store it.

Then it became the substrate the studio thinks on. A project brain per engagement: a synopsis, the work-order timeline, a decision board, a chat that answers with citations, and a way to tell the brain what it got wrong. A company brain above them for the money and the hours. And a listener on the studio Mac that reads every brain’s Drive and Slack every thirty minutes, so nobody has to remember to run anything.

Local models read the raw material on our hardware. Frontier models see scrubbed text only, and the names come back on the machine. Learnings confirmed on one project ride onto the next. That cross-pollination is the part I did not plan for and now could not give up.

9,000+findings across 8 real projects
20pipeline stages, each resumable
92migrations
1,900+tests
9invariants, enforced in code

Try the verbatim gate

Interview, dispatch lead, 4 Mar. If I am honest, every dispatcher keeps a private spreadsheet of driver availability because the shared board is always a day behind. So we have six versions of the truth and none of them is the board. What we actually need is one screen that says who is free right now, and that we all trust. On the roadmap side, we agreed to hold the mobile app until the web board is solid, which nobody loved but everybody signed off on.
Raw material Transcripts Sync notes Slack channel Design audit Video local models only Typed finding pain f_12 · chunk 7 quote = chars 118 to 190 of chunk 7 exact substring of its chunk checked on write, and again by a trigger leaves the machine scrub scrubbed before synthesis Synthesis Themescites f_12, f_31 Decisionscites f_12 Briefscites f_12, f_08 frontier models, scrubbed text only, zero citations fails returns to the machine restore names come back here Our team artifact generation A new engagement is a form in the app or a YAML file, never a code change.
  1. Raw materialTranscripts, sync notes, a Slack channel, design audits, video. Local models only.
  2. Typed findingKind, salience, and a quote that must be an exact substring of its chunk, checked on write and again by a trigger.
  3. ScrubEverything is scrubbed before synthesis; nothing leaves the machine with names on it.
  4. SynthesisFrontier models on scrubbed text only. Themes, decisions, and briefs each cite finding ids; zero citations fails.
  5. Back on the machineThe names come back client-side, and our team takes the cited result into artifact generation.
04Snacks Brains · the company brain, our virtual CFO

Three things a CFO tells you on Monday. Ours also shows the rows.

The company brain sits above the projects, finance only. It reads the books from QuickBooks and the hours from Harvest, read-only by construction, and joins them to the work orders the project brains already know. That join is the product: billing against delivery, per engagement, per week.

It runs our receivables: aging by customer, open invoices, and a hygiene queue for the bookkeeping residue that hides in every small company’s books. Every figure carries its basis and its as-of date. Totals come from rows, never from a summary line. Sarah answers in sentences that end in citations, and a number no evidence line carries is listed under the answer as unsupported.

  • Read-onlyThe brain never writes to the books. What anyone is paid never enters a prompt; a scan bans the word from the module.
  • Tips, not dashboardsFourteen kinds of condition, from overdue receivables to a person active in Harvest with no hours this month. Each becomes a numbered card with the why and the evidence rows. Dismiss it, and it returns only if the condition does.
  • Teach itType “remember:” in either chat and the words become something the brain knows, labeled taught and by whom. A taught fact flags the older claims it outdates.
  • Cross-pollinationLearnings confirmed on one engagement are matched onto active and slated ones. Insights stop dying with the project that produced them.

Today, on example books

From the CFO · as of Sep 14example books

3 things need you.

What the numbers say to do next, with the evidence. Dismiss what you have handled; it returns only if the condition does.

01Chase 4 invoices past dueoverdue

The largest sits at 91+ days and reads like residue, not collections: an unapplied credit is larger than the open invoice beside it.

  • INVExample Co · WO 3 · Invoice 4 of 662 days past due · from invoice rows · accrual
  • HYGUnapplied credit, Example Coopen bookkeeping item · resolve in Hygiene
02Retainer pace, Client B · WO 2hours

71% of retained hours used with 40% of the month left. Cadence against the work order, not percent complete.

  • HRSHarvest, this month to datehours by task · the entry’s own rates · as of Sep 14
03August is not currentbooks

The bookkeeper is 19 days behind. Every August figure reads provisional until the month closes in the books.

  • QBOBooks current through Jul 31from the sync log · self-checks agree to the cent

All four self-checks agree.

Synced 10:53 AM

Ask Sarah: who owes us money past due?

Four invoices, one customer. The oldest is Invoice 4 of 6 on Example Co’s third work order, 62 days past duer84. The credit sitting beside it is unapplied and larger than the invoicer12.

04Snacks Brains · the two agents

Two agents with faces and Slack seats. They draft. A person decides.

Sarah and Little Paul have no data of their own. Each is a voice over the evidence the brains already keep, and every room they speak in has its own evidence and its own permission gate. Both run on a local model on the studio’s Mac, and every turn is kept in a history only the founders can read.

SarahThe studio’s assistant · the books

The one persona behind every chat in Brains, in the app and in Slack. She answers at the level of whoever asks: the whole studio’s books for finance, a project’s money for its lead, the brains alone for everyone else. In a mixed room she answers what the room may hear and finishes in a DM.

  • Backed figuresEvery figure has to appear in the lines its sentence cites, or the sentence is left out. Arithmetic is written as an expression and worked out in code.
  • Her own inboxShe drafts payment reminders in her Gmail on a cadence, to whoever Harvest sent each invoice to, reads the replies, and moves a promise to its date. A person presses send.
  • Thirteen weeksA cash schedule from the books, the bills, payroll, and Harvest, with the low week named and what happens if a client pays late.
# ask-sarah example books

David@Sarah how does cash look through January?

SarahIt holds through the year, then gets tight. Cash stays above our floor until the week of Dec 14 and bottoms out the week of Jan 11, after two payroll runs and the card. If Example Co pays two weeks late, the low comes a week sooner. I sent you the payroll detail in a DM.

Little PaulThe studio’s design agent · the audits

Paul wrote a blueprint for a design agent; Little Paul carries it out. Ask him in Slack to audit a site against its competitors and the sentence becomes a brain: every page crawled and captured on desktop and mobile, the measurable criteria scored in code, the rest judged by a vision model against our taste rubric, and the result grouped into an opportunity map.

  • The gateHe proposes, a designer disposes. Nothing reaches a client until a designer accepts or sets aside each point, with a reason.
  • One questionHe asks Paul one question at a time in Slack, with the screen it is about attached, and asks for more only when Paul does.
  • Weekly reviewThe reasons designers give for setting points aside become proposed edits to the rubric, in the rubric’s own format. A person makes them.
# design-desk example audit

Little PaulOn the Example Co redesign, the contact page: the form asks for a phone number before it says what happens next. Is this worth doing? Say yes, no with why, or how much it would help and how much work it is.Contact · desktop · screen 1

Paulyes, big win, little work

Little PaulPlaced it: high impact, low effort, under your name. Four of nine decided on this audit.

05Snacks Labs · a suite, not a pile of demos

Not one-off experiments. A suite of products that share a spine.

Every Labs product is a real thing with users, and none of them stands alone. They share tokens, accounts, rules, and a brain that reads across them. That is the difference between shipping a demo and running a small software company inside a design studio.

  • One design systemSNACKS tokens, DDC Hardware and Geomanist, in a shared package. Where a repo must stand alone the tokens are mirrored, and a parity test fails the build when copies drift.
  • One accountSign in to Trivia and Swirl already knows you. Zero taps. The Arcade grows by appending a game to a list.
  • One core, two platformsWeb and native render from the same package, so they behave the same by construction rather than by discipline.
  • One set of rulesA living plan file and a decision log in every repo, rewritten beside the commits. No third-party pixel, ever. No em-dashes. A green check is not a working product, so the live site is checked after every deploy.
  • One memoryBrains reads the studio’s Drive and Slack, and confirmed learnings travel between projects.
588commits between the August and September Labs posts
1designer, with coding agents
0engineers on payroll
06Snacks Trivia · iOS, Android, web

We gave ourselves the brief. Figma to two app stores in seven weeks.

A daily trivia game with real accounts, push notifications, anonymous play, server-side question generation, moderation, leaderboards, and streaks. The unglamorous production plumbing, not a demo reel. Since August it also plays on the TV, with phones as controllers; that story is four slides on.

2 daysfirst playable web prototype
2 weekslive in the App Store
7 weeksfirst commit to public launch
332commits, one designer
3platforms, one backend
  • The ruleEverything the app should be lived in living spec documents: product rules, database contracts, design tokens, a running decision log. Every session began by reading them.
  • Web firstIterate fast on a Next.js build, lock the behavior, then port the proven flows to Expo and React Native for the stores. One backend served both.
  • By subtractionIt started as a live, race-the-clock game, until we watched people fail to coordinate a thirty-second window. So: an async daily puzzle with hints that build tension. A clever auto-elimination mechanic tested as confusing, so it went.
  • FeedbackTwo months of friends and family before public launch, and still. Their reactions drive what changes next. AI builds the changes; it does not get to choose them.
06Snacks Trivia · this is the real thing

Today’s puzzle, live from production. No account needed. Your guesses count.

07Snacks Swirl · a daily paint game

Blue plus yellow has to make green. Concept to a refined live game in two days.

One named target color a day. Squeeze pigment onto a palette, swirl it with your finger, serve when it looks right. The stir is not decoration: the mix only reveals itself as you stir, and you cannot serve until it is actually mixed. Trivia makes you think. Swirl is built to soothe.

Under it: hand-rolled Kubelka-Munk pigment mixing over six spectral bands, a WebGL2 paint field with smudge advection and gloss, Taptic-Engine haptics on the web, and a leaderboard refereed by a server that recomputes every score from the pour weights, so no phone can lie. Swirl is the second cabinet in the Snacks Arcade: the account you made in Trivia already works here.

  • WhySnacks is growing a suite of one-a-day games, and each one earns a different minute of your day. Trivia is the one that makes you think. Swirl was designed as a calming ritual to start the morning with: no clock, nothing to beat, one color to find.
  • Built for calmEvery feel decision serves that. Strokes glide along the rim instead of dying there, the paint has weight and gloss, and the phone hums under your finger. It should feel like stirring, not like scoring.
  • LearnedKids love it. They take to it quickly and excitedly, with no explanation needed. I did not design it for them, and it is the clearest signal yet that the calm is real.

Try the math

07Snacks Swirl · live, best on a phone

Long-press a tube to pour. Swirl with your finger or mouse. One serve a day; after that the palette is yours.

08Snacks Arcade · the games, together, and on the TV

The TV is the stage. Phones are the controllers. Eyes up.

Trivia and Swirl grew a shared floor. One account spans the Arcade: sign in once and the other game already knows you. Each landing page lists its siblings as a list, so the third game is an append, not a redesign.

Party mode puts Trivia on the big screen, couch style. The stage shows everything shared: the room code, the roster, the question, the countdown, the reveal, the podium. Phones show only what is private: your answer buttons, your lock-in, your score. The question never appears on the phone. That is the whole design.

  • Server-anchoredThe room row is the truth. Every client, the TV included, is a disposable view that can rehydrate. Any client may advance once the deadline passes, so a dead TV cannot stall the game and nobody can rush it.
  • Ten-foot typeBuilt for a Samsung’s Chromium 69, so the stage is its own conservative bundle served at /tv. Optional chaining alone is a parse error there.
  • Guests, no accountsA nickname and an emoji. Signed-in players keep their identity. Questions come from recently minted packs, so a party costs nothing to generate.
  • NextThe Samsung app as a thin shell over the hosted stage, and Swirl’s TV version.

A real lobby, minted when this slide came on screen. Scan the code with your phone and you are in it. Rooms expire after about two hours.

The stage wants a TV. Open trivia.snacks.design/tv on a big screen and this phone becomes the controller.

09Snacks Tuner · free, on the web and in the stores

A tuner, and nothing else.

Most free tuners are a sales funnel. Chromatic mode sits behind a subscription, the cents readout wants an account, and there is an ad between strings. A tuner is a basic tool, so I built a good one and gave it away. No ads, no account, no analytics, no upsell, ever. Your audio never leaves the device.

Under it: the McLeod pitch method over an FFT autocorrelation, and a tracker that knows a plucked string starts sharp, that a phone mic drops the fundamental of a low E, and that a note still ringing must never count for the next step. Intonate mode captures the open string and the 12th fret, then says which way to move the saddle and how far, to the nearest 64th of an inch.

2 daysfrom the decision to Google Play
39tunings, plus chromatic
22instruments, strings and winds
½ centon every guitar string, by test
0data collected. The store label means it.
  • Shared earsOne TypeScript package does the listening in the browser and in the phone app. The tests are the accuracy contract: a change that puts a string a cent off, or an octave up, fails the suite.
  • No phoning homeOver-the-air updates came out of the app, because the update check itself would report a per-install id. Fixes ship as store builds. “Data Not Collected” stays true.
  • Found in wordsA page that is all instrument cannot rank on its own, so the tuner also exists as text: an about page, structured data, and an llms.txt for assistants.
  • Not its jobNo polyphonic strum tuning, no lessons, no metronome, no games. Open to the needle.

Live. Allow the microphone and play a string, or run the demo without one.

10Snacks Sites · a managed website platform

The product is the process. Designers ship templates in Figma; clients edit words, never structure.

A frame named template_home with layers named slot:headline becomes an editable, publishable page. Clients change text and images inside slots the designer defined. The design intent is protected by the system itself, not by a style guide someone has to remember.

AI works inside the same guardrails: drafting copy, auditing a page against the brand kit, generating imagery, always anchored to the brand and checked after it generates. Every publish commits content to the site’s own git repo and CI rebuilds it, so a client can leave with a working copy any day they like.

  • Built inAbout two weeks for the working platform: Next.js, Neon Postgres, Clerk, Stripe, Netlify CI, a Figma webhook. Ten tenants publish through it.
  • IngestionPaste a repo and the platform works out what it is. An annotated hand-built site imports one template per page shape, with an AI pass that proposes the annotations as a draft PR for a human to review.
  • No lock-inOne button exports a standalone, client-owned repo with design, content, and images vendored in. Trust is easier to earn when leaving is easy.
  • Next slideA working slice of the editor, with the AI on. Go break it.
10Snacks Sites · the editor, a working slice
11Snacks Slides · decks that are websites

Every deck is a URL. You are inside one right now.

Snacks Slides began as a 546-line vanilla deck engine built for one pitch: any HTML page becomes a horizontal deck with a hover minimap of live thumbnails, present and blackout modes, a deep link per slide, and print that gives you one slide per page. This portfolio runs on it. So does the SNACKS studio pitch.

Then it grew into the product upstream of the engine: decks as data, templates with named slots, brand kits, an editor with the filmstrip along the bottom, and pptx import that keeps the canvas its author made. Live at slides.snacks.design, free, with the same tools we use ourselves.

546lines in the v1 engine
388commits since August, one designer
1deck you are reading now
  • Slots, not a blank canvasTemplates protect the design the way slots do in Snacks Sites. Drag never means freeform-anywhere by default; the guardrails are the product.
  • Faithful importA .pptx comes in as the canvas its author made, run weights and SmartArt included, never forced into a template. If a slide cannot be made faithful, it says so and imports it anyway.
  • Own the deckStudio and client decks publish git-backed, so a deck is a repo the client can keep. The public tier stores the same JSON and serves it as a URL.
  • Try it herePress F to present. Hover the bottom edge for the map. Print this page and you get one slide per sheet.
11Snacks Slides · the editor, live. This one is yours to break.
slides.snacks.design · tryopen full size ↗

A fresh copy of the demo deck, saved only in your browser. Edit anything, add a slide, press F to present it. Nothing you do here touches anyone else's deck.

12The syllabus · what the year taught me

Every product asked a question I could not leave alone. That is the curriculum.

  • Snacks Triviathe store, the plumbingExpo and React Native, push notifications, store review, a server that generates and moderates questions, and the lesson that a game gets good by subtraction.
  • Snacks Sitesthe platformMulti-tenancy, Postgres with Drizzle, Stripe, Clerk, a Figma webhook, and the idea that guardrails are architecture, not guidelines.
  • Snacks Swirlthe physicsWebGL2 shaders, Kubelka-Munk pigment mixing, OKLab scoring, web haptics, and a server that referees from the recipe, never the pixels.
  • Snacks Brainsthe memory, the moneyA Python pipeline, local models on Apple silicon, PII scrubbing, database triggers as invariants. Then QuickBooks and Harvest, launchd agents, and how a small studio’s books actually behave.
  • Snacks Slidesthe tool for thisDecks as data, faithful .pptx import, and a parity test that keeps three copies of an engine honest.
  • Snacks Tunerthe signalThe McLeod pitch method, FFT autocorrelation, Web Audio on iOS, what a phone speaker cannot play, and a store privacy label that has to be true.
  • Snacks Arcadethe roomRealtime broadcast, server-anchored rooms, a television’s old Chromium, and ten-foot type.

What did not change

The judgment. Coding agents wrote most of the code. They did not choose the products, the constraints, or what to cut.

The decision logs in every repo are the receipt: the lights game parked in a day, the auto-elimination mechanic removed, the tester reset deleted after it wiped a real day, the update check pulled from the tuner because it would have made “no data collected” a lie.

Curiosity is the engine. Each of these began as something I wanted to exist, and each pulled me into a field I had no business being in until I was. That is how a designer becomes a design engineer: one rabbit hole at a time, with a product at the bottom of each. The next one is already in a plan file.

13Meta · Principal Product Designer, 2021 to 2024

I went to Meta to learn how things scale. Privacy was scaling faster than anything.

I joined a privacy program that was still taking shape just as new regulations were arriving around the world, and a global company had to answer all of them. I designed the internal tools, forms, dashboards, and workflows that privacy program managers, lawyers, reviewers, and engineers used to respond: first to make the response faster, then to automate what did not need a person.

  • What I broughtDesign speed as a way to run the room. When legal, engineering, and program teams disagreed, I brought something concrete to the next conversation, and the debate turned into decisions.
  • SystemsThe biggest systems work of my career. Every new law touched dozens of teams, so I mapped how the work moved between them and designed the shared workflows and design system once. The next regulation plugged in instead of getting its own tool.
  • What I madeInternal tools, forms, dashboards, process maps, research, and AI-assisted features.
  • LabsExperiments with Llama and frontier models to speed up synthesizing data and working across teams. The thread continues in Snacks Brains, earlier in this deck.
  • TeamsCentral Privacy, Enterprise Tooling, Developer Experiences, Privacy AI and Automation.
Big SurMeeting 12 minDecisions 0

14The resume

More than twenty years of the first half of the sentence. Then the second half.

  • SNACKS, Co-founder2025 onward. A design-engineering studio: client work and our own products, shipped with coding agents. Snacks Brains, Trivia, Swirl, the Arcade, Tuner, Sites, and Slides, all on the slides before this one.
  • Meta, Principal Product Designer2021 to 2024. Privacy tooling and the cross-team workflows behind regulatory response. The chapter on the previous slide.
  • Bloomberg, Senior Interaction Designer2020 to 2021. Enterprise tooling and developer experience in a dense, keyboard-first world.
  • Dom & Tom, Director of UX2015 to 2021, from design lead to running a team of six. Built the UX practice and its process; proudest of every designer I hired and mentored. Along the way I worked on the first app for Gemini, the crypto exchange.
  • Code and Theory, Senior UX Designer2014 to 2015. The Huffington Post redesign, and service design for the launch of Xfinity Mobile alongside Comcast and IDEO.
  • OpenSky, UI Engineer, then Interaction Designer2011 to 2013. The chapter this whole deck rhymes with.

Also true

Two gold and one silver Addy, a silver Davey. Certified ScrumMaster. Hunter College, photography. Clients along the way: Bloomberg, Meta, Huffington Post, Xfinity Mobile, BMW, Comcast, Dick’s Sporting Goods, NYU, General Electric, CNN, Gemini, Chase.

What I want next

A senior individual-contributor role on a team shipping real products to real people, where I keep designing and keep building with the engineering reach AI has put in a designer’s hands. New York, or a team that does not mind where I sit.

15What matters to me

Pushing the discussion forward means exploring possibilities. Exploring possibilities means solving more problems than you meant to.

ExplorationTry the thing. It is cheap now.
InventionWhen the tool you need does not exist, build it.
CollaborationYou can only go so far on your own. Teamwork is most of my career.
EducationTeaching a thing is how I find out whether I understand it.
Good peopleThe best team I ever worked with did not feel like work. I keep looking for that.
15Thanks for getting this far

Say hi: hi@david.design

This deck is hand-built: static HTML, a deck engine I wrote, a canvas game, and two small serverless functions. More of my work is on GitHub. Press P to print one slide per page.