welcomehola!Haii 🖐️AI engineeringdigital solutions
Profile
Rezkydesyafa
Back to projects

Jepretin: Browser-Based Photobooth Web App

A privacy-focused browser-based photobooth that allows users to capture, customize, and save photos directly from their device with aesthetic filters, custom frames, and an interactive camera experience.

Jepretin Dashboard View

Overview

Jepretin is a browser-based photobooth web application designed to provide a modern, interactive, and privacy-focused photography experience directly from the browser.

Users can access their device camera, capture a series of photos, customize the results with filters, frames, and visual elements, then save their creations to a local gallery without requiring an external photo storage server.

The application combines browser camera capabilities, client-side image processing, responsive UI design, and smooth animations to recreate a digital photobooth experience on desktop and mobile devices.

Problem

Traditional photobooth experiences usually require dedicated hardware, physical booths, or specialized applications.

Jepretin explores how the same experience can be delivered directly through a modern web browser without requiring users to install additional software.

The application also focuses on privacy by processing and storing captured images locally on the user's device.

Camera Experience

Jepretin provides an immersive browser-based camera experience.

Users can:

  • Access the device camera directly from the browser
  • View a mirrored camera preview
  • Capture photos using an automatic countdown
  • Take multiple photos within one photobooth session
  • Retake photos before continuing to the editing process

The camera interface is designed to minimize distractions and provide an immersive photobooth experience.

Photo Editor

After completing a camera session, users can customize their photos through an interactive editor.

The editor provides several customization options such as:

  • Black & White filter
  • Vintage filter
  • Sepia filter
  • Custom photobooth frames
  • Aesthetic frame templates
  • Sticker elements
  • Photostrip-style layouts

The project includes multiple aesthetic and technology-inspired frame designs such as Retro, Y2K, Circuit, Glitch, and other visual styles.

Client-Side Image Processing

Photo processing is handled directly inside the browser.

The application uses browser-based image processing to generate the final photobooth composition without requiring images to be uploaded to an external backend.

This architecture provides several advantages:

  • Better user privacy
  • Faster interaction after image capture
  • No external photo storage dependency
  • Reduced backend infrastructure requirements

Finished photos can be saved directly into the application's local gallery.

The gallery allows users to:

  • View previously saved photos
  • Store generated photobooth results
  • Remove photos from the collection
  • Keep photos available between browser sessions

Photo data is stored using browser LocalStorage.

Privacy-First Architecture

Jepretin was designed with a privacy-first approach.

Captured images are processed on the client side and are not automatically uploaded to an external server.

This approach keeps personal photos within the user's browser environment while still providing editing and gallery functionality.

Responsive Design

The interface was developed using a mobile-first responsive approach.

Several parts of the application were optimized for smaller screens, including:

  • Landing page
  • Camera interface
  • Photo editor
  • Action buttons
  • Settings
  • Frame selector
  • Sticker selector

The responsive layout allows the photobooth experience to work across desktop and mobile devices.

User Interface

The visual design combines a clean modern aesthetic with interactive UI elements.

The interface uses:

  • Glassmorphism
  • Mesh gradient elements
  • Smooth transitions
  • Animated navigation
  • Immersive camera and editor layouts
  • Responsive interaction states

Framer Motion is used to provide animated page transitions and interface interactions.

Application Architecture

The frontend is structured using reusable React components.

Major application sections include:

  • Landing Page
  • Camera
  • Photo Editor
  • Gallery
  • Settings

Application state controls transitions between each experience while keeping the overall interaction inside a single web application.

Tech Stack

React, Vite, JavaScript, Tailwind CSS, Framer Motion, Lucide React, Canvas API, Browser Camera API, LocalStorage, HTML, and CSS.