A full-stack FastAPI + React platform for token-based image unlocking.
Blur2reveal is a digital content platform where creators upload images with blurred previews, and users can unlock full-resolution versions using tokens. The project includes wallet logic, unlock tracking, secure access control, and a scalable architecture built for future payment integration and cloud storage.
- FastAPI backend (Python)
- React frontend (Create React App)
- User registration & login (placeholder auth)
- Creator mode for adding photos
- Blurred preview gallery
- Token-based unlock system
- Demo token wallet (add 50 tokens instantly)
- Unlock history per user
- Basic access control (unlocked images stay unlocked)
- Stripe payments for token purchases
- PostgreSQL database (Supabase recommended)
- Real image uploads
- Auto-blurred preview generation
- Secure storage (S3 / R2 / Supabase Storage)
- JWT authentication
- Creator dashboard (earnings, stats)
- Deployment guides (Render, Railway, Vercel)
Blur2Reveal has two parts that run together:
- Backend: FastAPI (Python)
- Frontend: React (Node.js)
Follow these steps on any Windows, macOS, or Linux computer.
git clone https://github.com/QueBallSharken/Blur2reveal.git
cd Blur2revealcd backendpython3 -m venv venv
source venv/bin/activatepython -m venv venv
venv\Scripts\activatepip install -r requirements.txtuvicorn main:app --reloadBackend will run at: 👉 http://localhost:8000
Open a second terminal window
(backend must stay running)
cd Blur2reveal/frontendnpm installnpm startFrontend will run at: 👉 http://localhost:3000
Once both are running:
- Go to http://localhost:3000
- Create a test account
- Add demo tokens
- Unlock a blurred image
Your app is now running locally.
CTRL + C
CTRL + C
Docker makes it easy to run the entire project (backend + frontend) without installing Python or Node.js.
These files must exist:
backend/Dockerfile
frontend/Dockerfile
docker-compose.yml
They are already included in this project.
From the project root:
docker compose up --buildThis will:
- Build the FastAPI backend image
- Build the React frontend image
- Start both services together
Frontend (React): 👉 http://localhost:3000
Backend API (FastAPI): 👉 http://localhost:8000
API Documentation (Swagger): 👉 http://localhost:8000/docs
Press:
CTRL + C
Or use:
docker compose downdocker compose up --build- No Python or Node installation required
- Same environment on every computer
- Simple to run for collaborators
- Easy to deploy later
If you want a production-ready Docker setup (nginx, SSL, optimized builds), just ask.