Our own product · 2026
PicSell Pro
AI product photography for people who sell clothes
A seller photographs a garment on a hanger with their phone. The engine returns a photo good enough to sell with — same colour, same texture, same garment. That last part is the whole product, and it is why this was harder than it sounds.
The problem
Every AI fashion tool on the market puts the garment on an AI model. That is a different job: it serves brands with catalogues and production budgets. The person reselling forty items a month does not want a model — she wants her own garment, photographed well, in the format the channel asks for, without a return three days later because the colour was not that colour.
The decision that shaped the build
Fidelity is enforced in code, not promised in copy. `engine/prompt.ts` forbids altering colour, texture and design; `engine/fidelidad.ts` verifies automatically that none of them changed and flags the result when it cannot confirm it. No competitor publishes a fidelity check, because their proposition requires the opposite. Ours only works if the garment is untouched, so the guarantee had to be executable.
Making the unit economics work
Every generated photo costs real money, so the price of the product is a function of what the engine spends. A rework of how compositing is staged took the cost from USD 0.16 per photo to USD 0.04 — the difference between a plan that covers 93 kits a month and one that covers 375. That is not an optimisation, it is the business model.
What went wrong
The free plan's watermark read PICSELLPRO.COM. That domain does not resolve — the product runs on picsell.pro — and it was live in production with nothing catching it, because the watermark renders correctly and nobody types a domain off someone else's photo. The same string was in the web app too. It is now a single constant with a guard test, which is the only reason it can never come back.
What it taught the studio
Two things we now do on client work by default. A test is not finished until you have watched it fail on the bug it exists to catch. And a claim a product makes about itself should be verified by the product, not by the person writing the landing page.
Stack
- # TypeScript
- # Next.js
- # Hono
- # Drizzle
- # PostgreSQL
- # Supabase
- # Gemini 2.5 Flash Image
- # Paddle
- # Mercado Pago
- # Vercel