An AI headshot generator that produced batches of professional profile photos from a few reference images.Founder & Developer · Deprecated · October 15, 2024
UniBooth was an AI headshot generation platform built to help users quickly generate professional profile photos without a photographer. Users authenticated, uploaded reference images, selected attributes like gender and background style, and received batches of AI-generated headshots with different poses and compositions.The product is now deprecated. Building and operating it gave me experience with image-generation workflows, request tracking, and recovery from failed jobs.
Key Features
Batch Headshot Generation
Users could generate multiple headshots at once, each with different pose variations, compositions, and framing, optimized for professional use cases.
Attribute-Based Customization
Generation was conditioned on selected attributes such as gender and background style to improve realism and consistency across outputs.
Authenticated User Flow
Users were required to log in before generating images, enabling request tracking, quota control, and abuse prevention.
Request Tracking and Recovery
The system tracked generation requests that succeeded, failed, or timed out, allowing incomplete jobs to be handled gracefully.
Technologies Used
SvelteKit
Used for the frontend and application routing, handling authenticated flows and UI state.
Tailwind CSS
Provided a clean, responsive interface optimized for previewing and comparing generated images.
Supabase
Managed authentication, image storage, request metadata, and validation of generation jobs.
Custom AI Backend (Express.js + Google Cloud Run)
A custom image generation backend was built using Express.js, deployed on Google Cloud Run, to orchestrate the full generation workflow and handle scaling.
Flux + LoRA Models
Headshots were generated using Flux with LoRA fine-tuning to achieve consistent, professional portrait styles rather than generic image outputs.
Stripe
Integrated to support paid usage tiers and generation limits.
Challenges and lessons
The primary challenge was reliability. AI image generation is inherently asynchronous and failure-prone, especially at scale. Designing a system that could validate inputs, queue requests, handle partial failures, and reconcile storage state with user-visible results required careful backend design.I also learned how model quality, generation time, and hosting costs affect one another, and how those tradeoffs shape the product experience.
Outcome
UniBooth gave me practical experience taking an AI product from development through deployment and supporting it in use.