AI Artwork Gallery

Jazz Gallery

A curated AI artwork gallery with authentication, admin dashboard, and community submissions. Live on Render.com.

React 19 FastAPI Firestore JWT Auth

The Concept

A luxury-styled gallery
for AI-generated art

Key Features

Everything you need to
curate and share

Masonry Grid

8 categories: Surreal, Portrait, Landscape, Abstract, Anime, Cinematic, Experimental, Narrative

Like / Favorite

Persistent like and favorite system across sessions for logged-in users

Community Submissions

Users submit artwork for admin review and approval before publishing

Batch Upload

Upload up to 50 images at once with spreadsheet-style metadata editor

Background Removal

Built-in rembg tool for removing image backgrounds server-side

Password Reset

Secure password reset flow via email with token-based verification

Architecture

Full-stack cloud-native design

Frontend

  • React 19 + TypeScript
  • Vite build tooling
  • Tailwind CSS + Framer Motion
  • Zod schema validation

Backend API

  • FastAPI (Python)
  • JWT: 15-min access + 7-day refresh
  • httpOnly cookies + auto-refresh
  • Roles: Admin, Editor, Viewer

Data Layer

  • Google Cloud Firestore
  • Google Cloud Storage
  • Resend (email)

Deployment

Render.com (frontend + backend)

Browser → React SPA → FastAPI REST → Firestore + GCS

Jazz Gallery architecture

Tech Stack

Built with modern tools

React 19UI Framework
TypeScriptType Safety
ViteBuild Tool
Tailwind 4Styling
Framer MotionAnimation
FastAPIBackend
FirestoreDatabase
GCSFile Storage
JWT / bcryptAuth
ResendEmail
ZodValidation
rembgBG Removal

Admin Dashboard

Complete content management

Stats Widgets

Real-time analytics on artworks, users, and engagement

CRUD Artworks

Create, read, update, and delete artworks with full metadata

Category Management

Organize artworks across 8 curated genre categories

Submissions Review

Approve or reject community-submitted artworks

User Management

Manage roles, contacts viewer, newsletter signups

Security

Production-grade security

By The Numbers

Project at a glance

52
Tests Passing
8
Art Categories
50
Batch Upload Limit
3
Auth Roles

Jazz Gallery

Built by Jazz Lien

2026