Images: Google Cloud Storage holds original/current images.
Queue: API publishes edit requests to Pub/Sub.
Worker: Cloud Run worker fetches the current image, calls Gemini to add the requested object, writes back to GCS, and updates Firestore.
Live updates: The UI listens via SSE and refreshes when the version changes.
Admin: Panic switch (disable edits just in case if i go out of api credit or something), per‑room reset, “auto‑reset” with a countdown broadcast to rooms, and a banned‑words filter. Rate limiting per IP to avoid spam.
Infra odds‑and‑ends: simple presence via Firebase RTDB; GCS URLs as CDN.
I have some free Gemini credits from Google, so I’m keeping it open to see how it behaves in the wild: latency, error modes, costs, moderation edge cases, etc.
This is my first time watching a fully AI‑written codebase under real usage and load. Happy to answer questions or share more if people are curious.
sensahin•1h ago
I wondered how hard it would be to recreate it without touching code.
As an experiment, I used Codex with GPT‑5, gave it GitHub, Vercel, and GCP access, and asked it to build and deploy a minimal version.
How it works
Web: Next.js on Vercel. Users pick a room and type what to add (e.g., “add a lamp”).
State: Firestore stores room docs (paths, status, version).
Images: Google Cloud Storage holds original/current images.
Queue: API publishes edit requests to Pub/Sub.
Worker: Cloud Run worker fetches the current image, calls Gemini to add the requested object, writes back to GCS, and updates Firestore.
Live updates: The UI listens via SSE and refreshes when the version changes.
Admin: Panic switch (disable edits just in case if i go out of api credit or something), per‑room reset, “auto‑reset” with a countdown broadcast to rooms, and a banned‑words filter. Rate limiting per IP to avoid spam.
Infra odds‑and‑ends: simple presence via Firebase RTDB; GCS URLs as CDN.
I have some free Gemini credits from Google, so I’m keeping it open to see how it behaves in the wild: latency, error modes, costs, moderation edge cases, etc.
This is my first time watching a fully AI‑written codebase under real usage and load. Happy to answer questions or share more if people are curious.