Fotarobota: studio-quality product photos in seconds

From idea to a working service with paying customers in 2 weeks.

A revolution in product photography: professional portraits in seconds instead of multi-hour sessions.

Project status: Archived — infrastructure shut downAvailable for acquisition
Fotarobota — podgląd produktu

See the result

One phone photo, four finished shots. Every frame below came out of the working system — none of it was retouched by hand.

Before (phone)
Before (phone)

Floor, random background, no styling

After (FotaRobota) 1After (FotaRobota) 2After (FotaRobota) 3After (FotaRobota) 4
After (FotaRobota)

Studio quality in 15 seconds

Click the dots to switch variants. The product itself stays the same — the model only changes the scene and the lighting.

The Challenge

Traditional photo shoots are expensive, time-consuming, and logistically difficult. Costs for studios, crews, and retouching can reach thousands, with lead times of weeks.

For small businesses and e-commerce, this creates a massive barrier to entry: a lack of professional product photos lowers credibility and conversions.

Furthermore, ghost kitchens and restaurants don't need dedicated photo sessions and wasted food for menus. Staff can systematicaly capture orders via smartphone. This 'no-waste' approach generates beautifully lit dish imagery fully ready for websites, Glovo, Wolt, or Uber Eats.

AI Architecture

Utilizing advanced diffusion models (Fal.ai) to generate professional assets in seconds. The user uploads a product photo, picks a background and lighting style — the system returns a pack of professional images without any studio equipment.

The 'magic' effect: from a raw shot to a marketing campaign over a single coffee break.

The path of a single photo

  1. 01

    Upload

    The user shoots a photo on their phone and drops it into the browser. The file goes to Supabase Storage and the backend only ever records an address inside its own bucket.

  2. 02

    Scene selection

    Rather than writing a prompt, the user picks a category and a styling preset. The app assembles the final prompt from that, together with the guard list that protects the product.

  3. 03

    Credit charge

    The charge is deducted atomically before the job is dispatched. If the queue submission fails, the credit is refunded automatically.

  4. 04

    Queue and generation

    The job lands in the fal.ai queue and the serverless function returns the moment it has a status URL. Polling moves to the browser.

  5. 05

    Gallery

    The finished frame lands in the user's private gallery, ready to download at a resolution suited to storefronts and food-delivery apps.

The interesting engineering

Fire-and-forget instead of waiting

Generation takes longer than a serverless function should reasonably stay alive. Instead of holding it open, the API submits the job to a queue and immediately hands back a status URL, moving polling to the frontend. The function finishes in a fraction of a second and you never pay for waiting.

Atomic credit deduction

Credit deduction runs on optimistic locking with retries, and the charge lands before generation starts. That closes the gap where opening several tabs at once let a user generate more images than they had paid for.

Narrowing the image source

Input is validated with Zod, but a plain URL type is not enough: an extra constraint forces the image address to originate from the app's own storage. Without it, the endpoint could be used to make the server fetch arbitrary addresses.

A prompt that protects the product

The model is meant to swap the scene, not the goods. A negative prompt forbidding mutations, object substitution and shape changes, paired with a low transformation strength, enforces that. The pizza in the 'after' shot is still the same pizza, with the same olives.

Payments with signature verification

The Autopay gateway integration handles ITN callbacks: each one is verified with a SHA-256 hash computed from a shared key, and the response is returned in the XML format the operator requires. The whole thing settles under Poland's unregistered-business model.

Technology Engine

Frontend

Next.js

AI Processing

fal.ai

Payments

Autopay

Scalability

Serverless

Full stack

Next.js 16 (App Router) · TypeScript · Supabase (Auth + PostgreSQL + Storage) · fal.ai (nano-banana / edit) · Autopay (payment gateway + ITN) · Cloudinary · sharp · PostHog · Zod · Vercel

Business Results

  • First working version delivered in 14 days. Full cycle from a brief to a working app.
  • Fully functional payment portal and process automation.
  • 90% reduction in ad asset production costs compared to a traditional studio session.
  • The application features an integrated Autopay payment gateway that fully operates for unregistered businesses (NDG/Sole-traider without company registration). It's an out-of-the-box monetization system for anyone.

Why the project is archived

Fotarobota was a validation project: I wanted to find out whether a working, paid AI product could be shipped in two weeks, and whether anyone would pay for it. Both answers were yes. Once the validation phase was over I shut the infrastructure down — keeping a separate domain, database and payment gateway alive for a project that had already served its purpose would have been a cost with no return.

Every image on this page came out of the working system.

The project is for sale

The system is finished and battle-tested — it ran commercially and had paying users. If you want a platform like this of your own, there are two routes: take over this exact project along with its code, architecture and integrations, or commission a fresh build designed from scratch around your own industry, brand and billing model.

Let's talk about taking it over

Looking for a website or business software?

A modern site, or a system built around the way the business actually works.

Open the order builder