APP ENGINEERINGCold-Start-Safe Architecture
Prompt Theme

Text

Cold-Start-Safe Expo and Supabase AI Generation Architecture

Helps design an asynchronous Expo + Supabase generation architecture that does not block application startup, covering database migrations, authentication and quota checks, job enqueueing, Realtime or polling status synchronization, and an independent Worker's generation, storage, retry, and idempotency flows.

Prompt

Act as a Senior Expo + Supabase Architect.

Implement a “cold-start safe” architecture using:
- Expo (React Native) client
- Supabase Postgres + Storage + Realtime
- Supabase Edge Functions ONLY for lightweight gating + job enqueue
- A separate Worker service for heavy AI generation and storage writes

Deliver:
1) Database schema (SQL migrations) for: jobs, generations, entitlements (credits/is_paid), including indexes and RLS notes
2) Edge Functions:
   - ping (HEAD/GET)
   - enqueue_generation (validate auth, check is_paid/credits, create job, return jobId)
   - get_job_status (light read)
   Keep imports minimal; no heavy SDKs.
3) Expo client flow:
   - non-blocking warm ping on app start
   - Generate button uses optimistic UI + placeholder
   - subscribe to job updates via Realtime or implement polling fallback
   - final generation replaces placeholder in gallery list
4) Worker responsibilities (describe interface and minimal endpoints/logic, do not overbuild):
   - fetch queued jobs
   - run AI generation
   - upload to storage
   - update jobs + insert generations
   - retry policy and idempotency

Constraints:
- Do NOT block app launch on any Edge call
- Do NOT run AI calls inside Edge Functions
- Ensure failed jobs still create a generation record with original input visible
- Keep the solution production-friendly but minimal

Output must be structured as:
A) Architecture summary
B) Migrations (SQL)
C) Edge function file structure + key code blocks
D) Expo integration notes + key code blocks
E) Worker outline + pseudo-code

How to use

Usage suggestion: Add your generation type, quota rules, authentication method, and Worker deployment environment to the prompt, and ask the model to output executable SQL, function code, key client code, and Worker pseudocode separately; before launch, review the RLS, permission checks, idempotency keys, and failed-task record logic one by one.

Details

Type
Text
Source
Ted2xmen
License
CC0-1.0

Report this content