Build Your Photo Restoration Website – Step by Step
📸 Beginner-Friendly Guide

Build Your Own
Photo Restoration Website

A simple step-by-step guide — no coding experience needed! If you can follow a recipe, you can build this.

🤖 OpenAI ⚡ Lovable 🗄️ Supabase 💳 Stripe 🌐 Domain
🎯 Your Progress
0%

🏗️ What Are We Building?

Understand the big picture before diving in

You are going to build a real website where people can upload an old, blurry photo, pay a small fee, and get back a sharp, clear, high-quality restored version — powered by AI!

Here is how it works from your customer's point of view:

  1. Customer visits your site → They see a clean, professional photo restoration page
  2. They upload a photo → Their old, damaged, or blurry photo goes into your storage
  3. They pay → Stripe collects the payment (you get paid!)
  4. AI works its magic → OpenAI restores the photo to 4K quality
  5. They download the result → Crystal-clear photo is ready to download
💡
Real Example This guide is based on a real website that was built: fixmyphotonow.com — using exactly these steps!

🔧 Your Tech Stack (The Tools Working Together)

🎨

Lovable

The face of your site — what customers see and click on

↕ talks to ↕
🤖

OpenAI API

Analyzes and restores each photo using smart AI

↕ stores in ↕
🗄️

Supabase

Stores original uploads AND the restored results

↕ paid through ↕
💳

Stripe

Safely handles credit card payments from your customers

🧰 Your 5 Tools — Quick Overview

You'll sign up for all of these — most are free to start!

🎨
Lovable
Drag-and-drop website builder. No coding needed!
Free Start
🤖
OpenAI
The AI that actually restores the photos
Pay Per Use
🗄️
Supabase
Stores all uploaded and restored photos
Free Tier
💳
Stripe
Collects payments from your customers
Free Setup
🌐
Domain Name
Your website address (like fixmyphotonow.com)
~$10/yr

🪜 Step-by-Step Guide

Click each step to expand it. Check it off when you're done!

1
Create Your Accounts
Sign up for all 4 services — takes about 15 minutes

Think of this like getting your ingredients before cooking. You need accounts at all services before connecting them together.

  • A
    Lovable: Go to lovable.dev → Click "Sign Up" → Use your Google or GitHub account to sign in fast.
    Open Lovable ↗
  • B
    OpenAI: Go to platform.openai.com → Sign up → You may need to add a small credit ($5–$10) to use the API.
    Open OpenAI ↗
  • C
    Supabase: Go to supabase.com → Click "Start for free" → Sign up with GitHub or email.
    Open Supabase ↗
  • D
    Stripe: Go to stripe.com → Click "Start now" → Fill in your business info so you can receive payments.
    Open Stripe ↗
💡
Pro TipWrite down all your usernames and passwords in a safe place. You'll switch between these sites a lot!
2
Set Up Supabase Storage
Create the two folders that hold your photos

Supabase is like a filing cabinet for your website's photos. You need to create two folders (called "buckets") — one for photos customers upload, one for the restored results.

  • 1
    Log into supabase.com and click "New Project". Name it something like photo-restore.
  • 2
    In the left sidebar, click Storage → then click "New Bucket".
  • 3
    Create your first bucket. Name it exactly: original-photos — set it to Public.
  • 4
    Create a second bucket. Name it exactly: restored-photos — set it to Public.
  • 5
    Go to Settings → API. Copy and save your Project URL and anon/public API key. You'll need these later.
⚠️
Bucket Names Matter!The bucket names must be spelled exactly as shown. If the spelling is wrong, the website won't know where to find the photos.
3
Get Your OpenAI API Key
The secret password that lets your site use AI

An API key is like a secret password your website uses to talk to OpenAI's AI. Think of it as your VIP pass to use the AI.

  • 1
    Log into platform.openai.com
  • 2
    Click your profile icon (top right) → click "API Keys"
  • 3
    Click "Create new secret key" → Name it photo-restore-site
  • 4
    ⚠️ Copy the key RIGHT NOW and save it somewhere safe. OpenAI only shows it once!
  • 5
    Add credit: Go to Settings → Billing → Add $10–$20 to start.
🔐
Keep Your API Key Secret!Never share your API key publicly. It's like a password that lets people use your paid OpenAI credits.
4
Set Up Stripe Payments
So you get paid when customers use your site

Stripe is the cash register of your website. It safely handles credit card payments so you don't have to deal with any of that yourself.

  • 1
    Log into stripe.com → Complete your account setup (business name, bank account, etc.)
  • 2
    In the Stripe dashboard, go to Developers → API Keys
  • 3
    Copy your Publishable key (starts with pk_) and Secret key (starts with sk_). Save both.
  • 4
    Use Test Mode first — you can switch to live after everything is working.

🧪 Test Mode

No real money moves. Use card 4242 4242 4242 4242 to test.

🚀 Live Mode

Switch to this when ready for real customers and real payments.

5
Build Your Website on Lovable
Use a simple prompt to create your whole site

Here is the cool part — no code needed! Just tell Lovable what you want in plain English and it builds the site for you. Copy and paste the prompt below.

📋 Paste This Into Lovable's Chat:

Build a photo restoration web app with the following:

TECH STACK:
- Frontend: Clean, modern UI with drag-and-drop photo upload
- Storage: Supabase (buckets: original-photos and restored-photos)
- AI: OpenAI API to restore and enhance uploaded photos to 4K
- Payments: Stripe checkout before the restoration runs
- Email: Send a confirmation email when restoration is complete

FEATURES:
1. Hero section: "Restore Your Old Photos to 4K Quality"
2. Drag and drop photo uploader
3. Stripe payment ($9.99 per photo restoration)
4. Progress indicator while AI processes
5. Side-by-side before/after comparison
6. Download button for the restored photo
7. Clean, professional design (not AI-looking)

IMPORTANT:
- AI restoration runs AFTER payment is confirmed
- Store original in 'original-photos' bucket
- Store result in 'restored-photos' bucket
- Show a loading spinner while AI is working
  • 1
    Go to lovable.dev → Click "New Project"
  • 2
    Paste the prompt into the chat box and hit Enter. Lovable will start building!
  • 3
    Watch the preview — if something looks wrong, just tell Lovable in plain English what to fix.
ℹ️
Don't Worry If It Isn't Perfect YetLovable is like a conversation. You'll go back and forth asking it to fix things. That is totally normal!
6
Add the Magic Restoration Prompt
The secret instruction that makes photos look amazing

This is the special instruction that tells the AI exactly how to restore a photo. It was tested and gives the best results. Tell Lovable to use this when sending photos to OpenAI:

You are an expert AI in photo restoration and enhancement.

Task: Analyze and restore the provided image, which may be old,
blurry, or low-resolution. Enhance it to ultra-high-definition
4K quality while preserving realism and original identity.

Instructions:
- Sharpen details without introducing artificial textures
- Restore facial features accurately (eyes, skin, hair, edges)
- Remove blur, noise, compression artifacts, and pixelation
- Reconstruct missing details using realistic inference
- Maintain natural skin tones and correct color balance
- Improve lighting, contrast, and dynamic range subtly
- Preserve original composition, framing, and proportions
- Do NOT add stylization, filters, or creative effects
- Avoid plastic or AI-smoothed skin — keep natural texture
- Ensure edges are clean and well-defined

Output: A high-quality restored image that looks like a real
photograph, not AI-generated art.

How to add this to Lovable:

  • 1
    Copy the prompt above
  • 2
    In Lovable's chat, type: "Use this exact system prompt when calling the OpenAI API for photo restoration:" — then paste it
  • 3
    Lovable will update the code to use this prompt automatically
7
Connect Your API Keys
Plug in your secret passwords so everything talks to each other

Now plug in all the "secret passwords" (API keys) you saved earlier. In Lovable, look for Environment Variables or Settings → Secrets.

KEYS TO ADD IN LOVABLE:

OPENAI_API_KEYYour OpenAI secret key (starts with sk-)
SUPABASE_URLYour Supabase project URL
SUPABASE_ANON_KEYYour Supabase public/anon API key
STRIPE_PUBLISHABLE_KEYYour Stripe public key (starts with pk_)
STRIPE_SECRET_KEYYour Stripe secret key (starts with sk_)
💡
Can't Find Where to Add Keys?Tell Lovable: "Where do I add environment variables like OPENAI_API_KEY?" — it will show you exactly where to go.
8
Pick a Domain Name
Choose your website's address on the internet

A domain name is your website's address — like a street address but for the internet. Pick something short, easy to type, and related to photo restoration.

✅ Good Domain Name Examples:

fixmyphotonow.com

✅ Short, clear, action-based. (The real one that was registered!)

restorephotonow.com

✅ Descriptive and easy to remember

myphotofix.com

✅ Short and simple

aiphotorestoration.com

⚠️ A bit long — but still clear

  • 1
    Go to a registrar like Namecheap, GoDaddy, or Cloudflare to search and buy your domain (~$10–$15/year)
  • 2
    In Lovable, go to Settings → Custom Domain and enter your new domain name
  • 3
    Follow Lovable's instructions to connect the domain — usually copying a few DNS records
⚠️
Search Before You Buy!Check if the domain is available BEFORE you fall in love with a name. Many good names are already taken. AI-related domains can be expensive — check the price first.
9
Test Everything
Make sure it all works before you tell customers

Before you show the world your site, test it yourself like a customer would. This catches problems before real people find them.

  • 1
    Upload a test photo — use an old photo from your own collection
  • 2
    Test the payment — use Stripe's test card: 4242 4242 4242 4242, any future expiry, any 3-digit CVC
  • 3
    Check Supabase — log in and look inside your original-photos bucket. Is the uploaded photo there?
  • 4
    Check the restored result — look in your restored-photos bucket. Is the AI-restored version there?
  • 5
    Check Stripe — go to Payments. Do you see a test payment?
  • 6
    Download the restored photo — does the download button work?
💡
Something Doesn't Work?Go to Lovable's chat and describe the problem exactly. For example: "Payment went through in Stripe but the restored photo is not showing in the restored-photos bucket." Lovable can help you fix it!
10
Go Live! 🚀
Flip the switch and open your site to the world

Everything is tested and working! Now it's time to make it real.

  • 1
    In Stripe, switch from Test Mode to Live Mode. Update your Stripe keys in Lovable to the live keys.
  • 2
    In Lovable, click "Publish" or "Deploy" to make your site live on your domain.
  • 3
    Do one final real test with a real photo and real payment to confirm live mode works.
  • 4
    Share your site with friends, family, and on social media — your first customers!
🎉
You Did It!You just built a real AI-powered business website. Every time someone restores a photo, you get paid and the AI does all the work!

🔧 Troubleshooting — Common Problems & Fixes

Hit a wall? Click to see the fix!

😤 The payment went through but the restored photo is missing
This usually means the AI step failed silently, or the Stripe webhook didn't trigger the AI. Tell Lovable: "Payment went through in Stripe but no file appeared in the restored-photos Supabase bucket. Fix the connection between Stripe payment confirmation and the OpenAI restoration function."
😤 The photo looks fake / AI-generated / plastic-looking
Make sure the full restoration prompt from Step 6 is being used. The key lines are "Do NOT add stylization" and "Avoid plastic or AI-smoothed skin." Tell Lovable to use that exact prompt — don't let it use a shorter version.
😤 The upload works but nothing appears in Supabase
Check your bucket names — they must be spelled original-photos and restored-photos exactly. Also check that SUPABASE_URL and SUPABASE_ANON_KEY are correctly entered in Lovable's environment variables.
😤 My Stripe payment is being declined
If you're in Test Mode, use ONLY 4242 4242 4242 4242. Real cards won't work in test mode. If you're in Live Mode and real cards fail, make sure you completed Stripe's identity verification and business setup.
😤 The website has weird or AI-looking sections
Tell Lovable exactly what looks wrong. For example: "The testimonials section looks AI-generated and fake. Remove it and replace it with a simple before/after examples section." Be specific.
😤 My OpenAI API key isn't working
Check two things: (1) Did you add billing credit to your OpenAI account? The API needs a payment method even when testing. (2) Did you copy the key correctly? It should start with sk-. Create a new key if you're unsure.

🎉 Congratulations!

You now have everything you need to build a real, working, money-making photo restoration website powered by AI.

Built with ❤️ as a beginner-friendly guide • Photo Restoration Project Walkthrough