Design consumer firework shows from a catalogue, build a timed sequence with optional music analysis, and preview it in the browser. Retailers can manage assortments and offer public QR entry for fixed-bundle shows.
The web app uses Next.js 16, React 19, TypeScript, Tailwind and Supabase. Python services handle music analysis and firework video imports on Modal.
Use Node 24 and pnpm 12.3.4:
nvm use
corepack enable pnpm
pnpm install --frozen-lockfile
cp apps/web/.env.example apps/web/.env.local
pnpm devFill the app's environment file with development credentials. Service setup, verification and deployment instructions live in Development.
pnpm typecheck # Focused TypeScript check
pnpm check # Formatting, lint, types, application tests and build
pnpm audit:ui # Page inventory and component import review.agents/skills/ Project workflows for coding agents
apps/web/ Web code, assets, tests and Next.js configuration
services/ Independently deployed Python services
supabase/ Database migrations, seeds, templates and SQL tests
docs/ Architecture and development guidance
Architecture explains file ownership, shared UI and the colour scheme. My Store analytics and credit top-ups currently include labelled preview data. Security describes private vulnerability reporting.
apps/web/ui/primitives/ Radix and shadcn controls
apps/web/ui/patterns/ Forms, tables, feedback and other reusable compositions
apps/web/ui/shell/ Shared workspace layout and navigation
apps/web/ui/<domain>/ Features used across routes
apps/web/ui/theme.css Semantic colours for light and dark themes
Keep page-specific UI beside its route in app/**/_components/. Reuse the shared
controls and shells; ESLint enforces the direction of imports.