CASE STUDY / 01// FROM A CAMERA ROLL TO A SHIPPED PRODUCT

I was drowning in screenshots. So I built the system I wished existed.

Specimen started as a personal frustration on a bus and grew into a working, complete product. One product designer built it on weekends, with AI as the engineering team.

ROLE
Design + build (solo)
TIMELINE
A few weekends
STACK
Next.js · Supabase · Vercel
YEAR
2026
// 01THE ITCH

It started on a bus.

I take a lot of screenshots. A new tool on Twitter, a sharp piece of UI, a clever workflow a creator swears by. Screenshot.One random day on a bus, I opened my camera roll and just scrolled. And scrolled. Hundreds of screenshots of things I'd found interesting and then done absolutely nothing with.

The screenshots weren't the problem. The problem was that I'd built a graveyard of good ideas with no way to act on a single one of them. I was a collector with no collection. Just a pile.

I had all the inputs and none of the system.

// 02THE REFRAME

Screenshots aren't clutter. They're signal.

The reframe that unlocked everything: those screenshots are field notes. Every one is a specimen I collected in the wild: a tool, a source, and the single thing that made me stop scrolling and save it. The job was never to capture more. It was to make what I'd already captured findable, summarised, and worth revisiting.

That's where the name came from. Specimen. You're a field naturalist for the products you use, and the app is your specimen drawer.

// 03THE BET

Could a designer actually ship the whole thing?

I'm a product designer. I can mock this up in my sleep. But a Figma file doesn't dedupe my screenshots at 11pm. So I made a bet with myself. Build the realthing: auth, a database, an AI pipeline, a deployed URL my friends could actually log into, all using AI tools to cover the engineering I'd normally hand off.

The constraint kept it honest: weekends only, away from my day job. If I could ship a working product in stolen Saturday hours, that said something about where design is heading, and where I want to stand in it.

// 04THE DESIGN

A specimen drawer, not another inbox.

I wanted the product to feel like a field notebook crossed with a museum specimen plate: editorial, deliberate, a little severe. Black, white, and one signal yellow. Monospace labels like museum tags. Each screenshot mounted in a hard black frame with an offset shadow and captioned FIG.01, FIG.02, so camera roll chaos suddenly looks catalogued.

The whole system is brutalist on purpose: sharp corners, heavy rules, no soft gradients. It signals that this is a tool for people who care how things are made.

THE QUEUE screen in Specimen
FIG.01THE QUEUE
A SPECIMEN screen in Specimen
FIG.02A SPECIMEN
// 05THE BUILD

Three taps in, an AI reads the rest.

The core flow: you drop in a screenshot, a vision model reads it, and the app fills in a specimen card: the tool, the source, the takeaway, a confidence score. You tweak it and file it into a queue.

Under the hood it's a Next.js app on Vercel, Supabase for auth and the database, and an edge function that hands each screenshot to a vision model to pull out the structured details. Login is a code sent to your email, no passwords. It's a real, deployed product, not a prototype.

CAPTURE screen in Specimen
FIG.03CAPTURE
EXTRACT screen in Specimen
FIG.04EXTRACT
// 06THE TRUST PROBLEM

Designing for a model that is sometimes wrong.

The vision model is right most of the time. Not all of the time. And this is a notebook whose entire value is that you can trust what is filed in it, so shipping raw machine output would quietly poison the collection. The hardest design work in Specimen was not a screen, it was deciding how much to trust the machine and making that visible.

So the interface treats every extraction as a draft. The model reports a confidence score with every read, and the review screen wears it as a badge right at the top: CONF · 95 reads very differently from CONF · 40, before you have looked at a single field. Every field it filled stays editable, and nothing enters the queue until you approve it. The human is the last step, by design.

Even the processing screen is part of this. Instead of a spinner, it prints its work line by line, image received, text read, tool name extracted, like a lab instrument reporting steps. Progress you can read sets a different relationship than magic you have to take on faith: this is a system you supervise, not one you obey.

And when the model is unsure, it is instructed to guess anyway and lower its confidence score, rather than going silent. Uncertainty surfaced beats uncertainty hidden. That one rule fixed the most common failure, an empty tool name, without pretending the machine knows more than it does.

Nothing enters the notebook without your sign off. The human is the last step, by design.

// 07THE LEVERAGE

AI was my engineering team.

This is the part I most want to show. I didn't write the backend the traditional way. I directed it. I described the product in plain language, made the design and product calls, and used AI tooling to turn those calls into working code: the database schema, the auth flow, the vision pipeline, the deploy.

I even gave design feedback the way I would to a teammate, annotating the live page and having the changes implemented in code. My job was taste, judgment, and direction. The AI handled the typing.

I stopped asking “who can build this?” and started asking “what should it be?”

// 08THE HARD PARTS

Where it broke, and how I fixed it.

Shipping solo means every problem lands on your desk. These are the ones that actually threatened the launch, and what I did about each.

// TECHNICAL
  • The site refused to load on repeat visits.

    FixSafari had cached an old redirect from the home URL to the login page, so the site looked broken on every return trip. I served a real landing page at the root, so there was nothing to cache and bounce on.

  • Logins quietly stopped working after a week of calm.

    FixOn the free tier the database auto pauses when it sits idle, so login emails started failing with a vague error. A small daily job now pings it to keep it awake.

  • Login codes dried up in the middle of the launch.

    FixThe built in mailer caps how many messages it will send. I routed auth email through a free Gmail account, which lifted the ceiling to roughly 500 a day at no cost.

  • The AI kept leaving the most important field empty.

    FixWhen a screenshot did not spell out the tool by name, the vision model gave up. I rewrote its instructions to infer the tool from logos, layout, and handles on screen.

// DESIGN
  • The scrolling tagline jumped at the end of every loop.

    FixI rebuilt it as two identical tracks, each wider than the screen, sliding by exactly one track width. The loop is seamless now, and I slowed it down so it reads calm instead of frantic.

  • A pale shadow looked wrong on the black section.

    FixI designed a second button treatment for dark grounds: black fill, yellow outline, yellow shadow, so the brutalist lift still reads against the dark.

  • One button, three slightly different styles.

    FixI folded every call to action onto a single button system, so the whole product feels like it was made by one hand.

// 09 · SHIPPED

It's live. My friends use it.

Specimen is deployed and in the hands of a first circle of friends: people who, like me, screenshot too much and revisit too little. It handles real logins, real uploads, real AI extraction. The graveyard finally has a system.

VISIT SPECIMEN
LIVE screen in Specimen
FIG.05LIVE
// 10THE SHIFT

I went in a designer. I came out a builder.

The product is great. But the bigger output is what it did to how I describe myself. I'm not just a product designer who hands off specs. I'm someone who can take an idea from a frustrated bus ride to a deployed URL, making every product, design, and engineering call along the way.

Design engineer. Product builder. Whatever the title, the proof is a thing you can log into.

// 11THE REFLECTION

If AI can build anything, what is left for us?

I should be honest about the fear, because everyone in this field feels it. If AI can write the code and draft the screens, what is left for designers and engineers? Every week brings another round of layoffs and another thread about the work drying up. It is hard not to wonder where any of us still fit.

Building Specimen quietly answered that for me. This product did not begin with a model or a clever piece of code. It began with me, standing at a bus stop, tired of a camera roll full of screenshots I would never use again. The whole thing exists because a person had a problem worth solving.

AI did not decide that problem mattered. I did. AI never felt the small loss of saving something useful and never seeing it again. I did. I used AI as the muscle, but the reason for the work, the judgment about what to build and who it was for, stayed human. That is the part that does not get automated away.

AI can build almost anything. It still cannot decide what is worth building.

So here is where I landed. The work that lasts is the work that starts from a real human need. Keep people at the center and AI stops being the thing that replaces you. It becomes the thing that lets you build far past what you could reach alone. I would rather treat it as a catalyst than fear it as a replacement.

See what I built.

Specimen is live. Take a look, or start your own field notebook.

// best on your phone, where your screenshots live

VISIT THE PRODUCT
// ABOUT THE AUTHOR

I'm Rahul. I design products, and now I ship them too.

Product designer moving into design engineering: taking ideas from a sketch to a deployed URL, end to end. If this case study made you curious, I would love to talk.