Case study

Recordário

Designing an AI-native storefront, and the agent system that runs it.

The Recordario live preview canvas: a square fine-art paper composition with a decorative watercolour border and a drop zone reading "tap to upload", a pet-name field, a strip of thirteen in-canvas frame options and a row of physical frame choices below it.
The preview canvas, where the customer authors the product before paying for it. The strip of frame options under the canvas is also the case’s unresolved problem. See the reflection at the end.
Problem
An e-commerce product that does not exist until the customer makes it: every print is generated from their own photographs in about ninety seconds, and the generation can fail. None of the standard storefront patterns apply.
What I did
Designed the preview itself as the conversion event rather than a step toward one, designed the ninety-second wait and the reveal as the emotional peak of the visit, rebuilt the drag experience for the mid-range Android phones 88% of customers actually hold, encoded brand and persuasion as a machine-readable system, and ran the whole thing off a daily analytics agent that reports conversion and proposes the next test.
Result
The design does its job up to the reveal: customers author the product on the mid-range Android phones most of them hold, and reach the watercolour reliably. The step from that preview to purchase intent is where it breaks, and that unsolved conversion problem is the part of this case I most want to talk about.
Role
Solo founder, designer and engineer
Scope
Product design, UX, brand, storefront and the agent system
Where
Brazil, ~7 months
Status
Live and transacting
Situation

A product that doesn't exist until the customer makes it

Recordário turns customers' photographs into watercolour fine-art prints: framed art, pet portraits, mother-and-child compositions. I designed and built all of it alone.

Two constraints shaped every decision.

The product doesn't exist until the customer makes it. There is no catalogue photograph that tells the truth. Every unit is generated from the customer's own photos by an image model, takes roughly ninety seconds, and can fail. The patterns e-commerce hands you, meaning product photography, reviews of this item, and a straightforward add-to-cart, don't map onto a product that is authored at the moment of purchase.

One person, no team. A functioning storefront needs content, paid media, creative, analytics and operations. All of it competes directly with building the product.

And then the real device budget: 88% of traffic is Android, much of it mid-range, much of it arriving inside Instagram's in-app browser. Not the machine the design was drawn on.

Task

Two design problems, deliberately treated as one system

Make the customer the author. Move the moment of ownership before the transaction. Design a flow where a nondeterministic, ninety-second, occasionally-failing generation reads as craft rather than as a loading screen.

Build the operating system for a company of one. Encode brand voice, product truth and persuasion strategy as machine-readable context, so agents could produce content, creative and analysis at volume without diluting taste.

Before building the modal that catches people leaving with unsaved art, I shipped only the measurement: a passive event that records the leaving, changes nothing about it, and runs only while the retention feature is switched off. I wanted the true size of the leak before I built the plug, and a clean baseline to judge the plug against afterwards.

That habit, instrument first and build second, is the one I would most want to be judged on, so it belongs at the top rather than buried in a later section. It is also the habit that caught the two problems in the reflection at the end, both of which are mine.

The bar: a storefront a person trusts enough to upload photographs of their dead pet to, and an operation one person can actually run.

Action

1. The preview is the product, not a step toward it

The endowment effect is the entire strategy. People overvalue what they have made. So the flow hands the customer authorship before checkout: a live canvas on the real fine-art paper texture, their photograph draggable and pinch-scalable, their message repositionable, physical frames and in-canvas frames swappable live. The generated watercolour sits under a multiply blend on the actual paper, so what they see is what ships.

The consequential decision was to make generation free, generous (five per day), and account-free. Each image has real cost. Gating it behind an email would have protected that cost and destroyed the mechanism, because the preview is the conversion event, not a lead magnet.

Instrumented outcome: customers swap the in-canvas frame about thirteen times per preview. I read that as engagement for months. I no longer do, and I come back to it at the end.

2. Designing the ninety seconds before the reveal

The reveal is the peak the whole visit is built around: the watercolour arriving on the real paper. It is also the most fragile moment, because the generation takes about ninety seconds and can fail. That turns the wait itself into a design surface. How you spend a customer's patience decides whether they ever reach the peak.

A generation that succeeds is nearly always done by around 110 seconds, so waiting longer buys almost nothing. The real decision was where to spend the patience I had.

Where to spend the customer's patience

Option Recovery
Raise the timeout to 145s ~3% (1 in 28)
Retry fresh 58%
With 99% of successful generations complete by ~110s, waiting longer buys almost nothing. Starting over buys most of the failures back.

So rather than making the customer watch a stalled bar, the product cuts its losses early and quietly starts the painting over. Pet portraits are the core product, so when one provider began refusing about 12% of pet photographs on content grounds, those go straight to the model that will render them.

The reveal that was failing for roughly a third of customers now lands. Zero generation errors across the thirty-two daily reports since the fix, and on the most recent measured day, 31 generations produced 31 previews.

A ninety-second wait is not dead time. It is the last thing the customer feels before the peak, so it gets designed like everything else.

3. Designing for the device the customer actually holds

Customers were losing their uploads from the third photograph onward. A composition takes four. So the product was breaking at precisely the moment someone had committed to it, and breaking hardest on the mid-range phones most of the audience actually holds.

The fix itself was mundane, so the number is what matters: on the most recent measured day, 44 of 44 upload sessions completed with zero friction. The customer reaches the canvas with all four photographs intact, on the phones where the flow used to break.

The Recordario home page on an Android phone: a seasonal eyebrow, the headline "your wedding memory became a work of art", a free-preview call to action, and a photograph of a framed watercolour standing on a shelf.
The storefront as most customers meet it: a mid-range Android inside Instagram’s in-app browser. Every decision in this section was made against this screen, not against the desktop mock it was drawn on.

The drag gesture took three documented rounds against real device evidence.

The drag gesture, three rounds

  1. Drag always active. Customers couldn't scroll past the canvas.
  2. Long-press to arm the drag. Fixed scrolling; the hold itself felt broken.
  3. Shipped: a tap selects, then dragging is immediate and 1:1. Until you select it, the page scrolls normally past the canvas. Once you have, the element moves the instant you touch it.
Mouse and pen always drag immediately. Only touch pays the selection cost, because only touch has the scroll conflict.

Detail work on top: a magnetic centre snap that takes 3% of drift to catch you and 5.5% to let you go, and the asymmetry is the entire reason it feels magnetic rather than sticky. Haptics on snap and on drop. And the gesture runs outside the app's normal rendering path, because updating state on every frame made the drag stutter on exactly the mid-range Android phones most customers are using.

4. Persuasion as a design system, not a copywriting mood

I wrote a persuasion constitution that governs all four channels: ads, social, blog and in-product writing. It's grounded in Ariely and Kahneman, and it starts from one uncomfortable premise about who is actually doing the buying.

System 1 buys. System 2 only looks for reasons not to. In an emotional gift purchase the fast, automatic, feeling mind makes the decision, and the slow rational one arrives afterwards hunting for objections: price, delivery time, risk. Two rules fall out of that and run through every screen. Emotion comes before information, so a price never appears before a feeling. And what Kahneman calls WYSIATI: if the emotional benefit isn't visible on the screen, it doesn't exist for the decision. An unstated benefit isn't a subtle one, it's an absent one.

From there the document is a working arsenal rather than a manifesto. Twelve biases, each with a named job in the product.

The arsenal

Bias What it exploits Where it runs
Affect heuristicHigh emotion lowers perceived risk and priceEvery top-of-funnel asset opens on feeling, never on product
Endowment, the IKEA effectWe overvalue what we helped makeThe living preview. The single biggest lever in the brand
Loss aversionLosing hurts about twice as much as gaining pleasesLeaving and abandoning reframed as losing your art, not missing a discount
AnchoringThe first number seen becomes the rulerThe larger framed size is shown before any price appears
Decoy and relativityWe judge by comparison, not in absolute termsA deliberately weaker size option, and a "popular" tag on the target
The power of freeZero carries disproportionate emotional weightThe in-canvas frame is given rather than sold
Peak-end ruleA memory is its peak plus its ending, not its averagePeak is the watercolour reveal; the ending is the success page and the emails
AnticipationAnticipating the pleasure is a large part of the pleasure"Your art is being painted", instead of a tracking number
Social proof"Others like me did this and loved it" lowers riskReviews carrying a face and a name, and a count of pieces delivered
Sunk cost and commitmentPeople who have already invested resist abandoningThe purchase button is never blocked; a modal preserves the work instead
AvailabilityThe vivid and concrete outweighs the abstract"Textured cotton paper" rather than "premium finish"
FramingThe same fact changes value with its presentationDelivery as "in time for her birthday", not "seven working days"
Highlighted: the bias the entire product is built around. Everything else supports it or protects it.

Then each block of the funnel gets one target feeling and one master bias, so any piece of content, mine or an agent's, knows what it is for before anyone argues about wording.

Top

Affect

Feeling first, before any argument about price or product.

Middle

Endowment

The living preview. You made it, so it is already yours.

Bottom

Loss aversion

What you lose by closing the tab, not what you gain by buying.

The three headline blocks. Two more moments sit inside them and carry their own bias, because they decide what the customer remembers.

Every stage, and what it has to produce

Stage Target feeling Master bias What the customer meets
Top · discovery Enchantment Affect An emotional scene, not the product. No price anywhere, and the call to action never asks for a purchase.
Middle · personalisation Ownership Endowment Upload, name, frame, position. Every action deepens authorship before any money is discussed.
The peak · the reveal Awe Peak-end The watercolour arriving. The instant the whole memory of the visit is built around.
Bottom · decision Not losing Loss aversion Anchor on the larger framed size, the in-canvas frame given free, and the purchase button never blocked.
After · post-purchase Good anxiety Anticipation "Your art is being painted", then in production, then shipped. The ending is designed, not transactional.
The emotion each block has to hand to the next one: "I need to see how MY photo would look""this is already mine""I did the right thing and I can't wait".

What makes this a design system rather than a mood is that every one of those decisions has an event behind it. The frame swap, the room scene the customer zoomed into, the exact stage they abandoned at, the moment they walked away with finished art still unsaved. The constitution says which bias to pursue. The event catalogue says whether it actually worked.

Its governing rule is the part I'm proudest of, because it's a separation of concerns.

This document says which emotion and which bias to pursue. The voice documents say how to write. Persuasion never justifies breaking a brand landmine.

The brand landmines are specific and absolute: no em-dashes in Brazilian copy, never claim "handmade", emoji parsimony, a call to action matched to the funnel stage. In a conflict, the brand wins and the bias loses. That constraint is precisely what made it safe to hand copy to agents without the brand rotting.

The constitution carries a second list, and it turned out to matter more: the anti-biases, the moves that actively destroy conversion. Price before emotion. Latency with no feedback. Delivery time framed as logistics. Invented scarcity, which System 2 detects and never forgives. A lukewarm ending. A gate that blocks the button on someone who has already invested. And choice overload.

Customers swap the in-canvas frame about thirteen times per preview, and then the size decision arrives as a dropdown.

That is choice overload, in exactly the place my own document warns about, inside the product that document governs. The system was right and the screen was wrong. Writing the rule down did not protect me from breaking it. Instrumenting it is what caught me.

Which leads to the only honest way to close this section: stage by stage, what is the evidence actually saying?

What the evidence says, stage by stage

Stage Bias in play What the numbers show
Top Affect Working at the creative level. Leads at about R$2.19, the best campaign at R$1.29 with a 6.2% click-through. But blended across the window the channel returns 0.88×, so cheap attention is not yet paid attention.
Middle Endowment Mechanically sound. On the most recent measured day, 44 of 44 upload sessions completed and all 31 generations produced a preview.
The peak Peak-end Now reliable, and it wasn't. Before the retry redesign, roughly a third of customers never reached the peak at all. The most valuable single moment in the funnel was failing one time in three.
Bottom Loss aversion This is where it breaks. 31 previews produced 5 purchase-intent clicks. The endowment built in the middle is not surviving the handoff to the decision.
After Anticipation Live and transacting on instant bank transfer and card, with the post-purchase sequence designed as the ending rather than a receipt.
One caveat I keep in my own reports: a funnel event on this exact drop has been reporting zero for six weeks, so the bottom row is the stage I understand least and need most.

Where the funnel actually breaks

The purchase column beside the canvas: a scarcity badge, the product description, a price of R$99 anchored with instalments, free-preview and free-adjustment reassurances, a two-step Personalisation-then-Purchase indicator, and a generate button that is disabled until a photo is added.
The decision column, unretouched. Reading it against my own document is uncomfortable: the two-step indicator promises a second act the customer has not agreed to yet, and the scarcity badge on a print-made-to-order is exactly the invented scarcity my own anti-bias list forbids. Both are on the list to fix.

The pattern across that table is the thing I'd want to be judged on. The parts of the system I could specify, I got right. The part that depends on reading evidence honestly is the part that is still open, and it stayed open for six weeks while my own daily report was flagging it.

5. The operation a company of one can actually run

One person cannot write the content, run the paid media, produce the creative and read the analytics and also build the product. Each of those hours is taken from the others. So the operation itself is a system: fifteen agents reading a shared hierarchy of context that encodes brand voice, product truth, the persuasion constitution above and the full event catalogue. Two of those documents regenerate from the production database on every build, so the agents' picture of the product never drifts from what customers actually did.

The one that carries this case is the daily analytics agent. Every morning it pulls the site funnel and the previous day's ad spend, works out where conversion moved, writes a dated report, and proposes the next test to run. Thirty-eight consecutive reports. It is the loop that surfaced every problem in the reflection below, including the 84% conversion cliff and the blind spot I built myself.

The same fifteen agents also carry the content and media operation, none of it competing with product time:

  • Editorial pipeline. Five agents chained from strategy to publish, straight to the production database. 37 posts live.
  • Paid media. Meta and Google Ads managed through agent tooling.
  • Social creative team. Visual-first, so the art director leads and a brand guardian holds the brand line.

One more decision worth showing is the autonomy gradient. Each agent's leash is set by the blast radius of its actions, not by a uniform policy.

The autonomy gradient

Action Leash
Publish an article, commit strategy, write analytics Fully autonomous
Change ad campaigns or spend Rehearses by default, a human commits
Post to Instagram Agent drafts, a human publishes
Restructure content strategy Agent proposes, human ticks the box
Brand review Advisory only, never blocks
Irreversible actions are gated. Reversible ones run free. The leash length is a design variable, not a policy setting.

6. An evidence loop, not a dashboard

Every event in the product is catalogued, and the agents interrogate it live rather than read a frozen chart. They read production, but only read: they never see a customer's personal data, and the keys that could do real damage never sit on my laptop. That is the difference from a dashboard. A dashboard reports what happened. This loop proposes what to do about it.

Result

Ratios and relative changes

Absolute revenue withheld. Read these as the floor the design now stands on: the customer reaches the reveal every time, which makes the conversion gap in the next section a design problem, not a reliability one.

The experience holds up now

Measure Before After
Generation failure rate ~33% 0 error events across 32 consecutive daily reports
Upload sessions completing Failing from photo 3 44 of 44, zero friction
Most recent measured day: 31 generations → 31 previews → 30 completed. 100% technical success.

Operating leverage, one person

37 articles published by an autonomous five-agent pipeline
38 consecutive AI-authored daily UX and CRO reports
15 agents and 16 skills over 17 context documents
~7 months, solo, from nothing to transacting
Paid media on two platforms, a full editorial operation and a daily analysis loop, none of which required hiring against the time spent building the product itself.

Paid media efficiency

Eighteen-day window, platform-attributed. The site doesn't yet carry campaign parameters, so the campaign-to-conversion crossover is directional, and I label it that way in my own reports.

  • Cost per lead ~R$2.19, best campaign R$1.29 at 6.2% CTR
  • Best single day 8.8× ROAS
  • Blended across the window 0.88×. The channel is not yet profitable at blend, and I know it.

Live and transacting on both instant bank transfer, with a transparent on-site QR flow, and card.

Reflection

The three things I'd put in front of a design team first are the ones that aren't solved

The 84% cliff

Thirty-one previews produced five purchase-intent clicks. The preview works. The transition from preview to object does not.

Preview to purchase intent

Previews 31
Intent 5

84% fall off here

The single biggest unsolved problem in the product, and the reason the social pipeline was the wrong thing to build first.

My hypothesis is that the endowment effect I engineered creates ownership of the image, not of the thing. The customer already got what they came for. Next test: make the physical object the hero at the moment of approval, at scale, on paper, on a wall, instead of presenting a size dropdown.

What the customer is actually buying

Four finished Recordario products photographed as physical objects: framed watercolour portraits of a family, a father and children, a family in a striped mount, and a golden retriever with its name painted below it.
The object exists, and it is good. It just does not appear anywhere near the moment the customer has to decide, which is the hypothesis this section is built on.

Thirteen frame swaps per preview

The in-canvas frame selector: a horizontal strip of seventeen small circular options showing paw prints, hearts, bowls, bones, balls of yarn and coloured stripes, the second one selected.
Seventeen in-canvas options, all equal in weight, arriving at the moment the customer is supposed to be closing. My own document calls choice overload an anti-bias. I shipped it anyway, and it took instrumentation rather than a re-read to catch me.

I read this as engagement for months. I now think it's Hick's law, choice paralysis arriving at exactly the wrong moment in the funnel. Next test: pre-select a recommended frame and demote the rest to a secondary affordance.

A blind spot I built myself

One funnel event has reported zero for six weeks while the steps on either side of it show traffic. It's broken instrumentation sitting directly on the drop I most need to explain, and my own daily report flagged it independently at both ends of that window while I didn't act on it. The lesson isn't "instrument more".

An evidence loop with nobody accountable to it is just a log.

One more, on judgment rather than metrics: the social pipeline is architecturally complete and barely exercised, one finished post against twenty-four editorial pipeline runs. I built it ahead of need. Given the same seven months again, that capacity goes into the 84% cliff instead.

What this case is evidence of

  • Designing for nondeterminism. A ninety-second, sometimes-failing generation designed as anticipation and a peak, not a loading screen.
  • Systems over screens. A persuasion constitution and a context hierarchy that let non-humans execute brand judgment consistently.
  • Autonomy as a design variable. Agent leash length set per action by blast radius; irreversible actions gated, reversible ones free.
  • Designing on the real device. Three gesture iterations and an upload path rebuilt for an 88%-Android audience, not a desktop mock.
  • Shipping. Design and implementation to production alone: storefront, payments, generation pipeline, admin and the agent layer.
  • Evidence, honestly read. A daily analysis loop, and the discipline to publish what it says isn't working.

Want to dig into the evidence loop?

Happy to walk through the persuasion constitution, the daily analytics agent and the conversion problem it keeps flagging, in a call.

View Recordário live Back to selected work