A classic, web-based photobooth experience built with React and TypeScript. Snap 6 photos, choose your layout, apply vintage filters, and customize borders with fun themes.
- Camera Capture: Live camera feed with a 3-second countdown and flash effect.
- Photo Management: Snap up to 6 photos, with options to retake individual shots or clear all.
- Customizable Layouts: Choose from Vertical Strip, Horizontal Strip, 2x3 Grid, or 3x2 Grid.
- Vintage Filters: Apply filters like Grayscale, Sepia, Vintage, Cool, Warm, and Dramatic.
- Border Styles: Select from Simple, Thick, Polaroid, or Film Strip borders.
- Themed Backgrounds: 10 pre-made background styles including Classic, Love, Festive, Spooky, Funky, Retro, Ocean, Forest, Midnight, and Candy.
- High-Quality Export: Download your creation as a high-resolution PNG image.
- Framework: React 19 + TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS v4
- Animations: Motion (Framer Motion)
- Icons: Lucide React
- Image Generation: html2canvas
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to the local server URL (usually
http://localhost:3000).
- Allow Camera Access: The app requires camera permissions to function.
- Take Photos: Click the camera button to start the countdown. Take up to 6 photos.
- Edit: Once finished, click "Finish & Edit".
- Customize: Use the sidebar to change the layout, filter, border, and background theme.
- Download: Click "Download Strip" to save your photo strip.
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.