Snapchat
Camera-first messenger where snaps, stories and streaks disappear · the app is the friend graph
The mechanics one-shot fine: ephemeral photo messages, 24-hour stories and streak counters are CRUD plus a delete timer. None of that is the product. Snapchat is where your friends already are · the value of a disappearing photo is who is on the other end, and a self-hosted clone with two users is a group chat with extra steps. Add the AR lens stack built on years of face-tracking models, screenshot detection that needs OS-level app privileges, and media infrastructure moving billions of snaps a day, and the honest verdict is that the network is the app. The prompt below is the consolation build: a private snap relay for one friend group that opts in.
Build verification: not recorded. How we judge buildability
What you give up
- the people: everyone you snap with is on Snapchat, not on your server
- AR lenses and filters backed by years of face-tracking models
- screenshot detection · a web app cannot see or stop screenshots
- Snap Map, Discover, Spotlight and the creator ecosystem
- reliable mobile push · web push on iOS is best-effort, not messenger-grade
Why people still pay
Almost nobody pays for Snapchat itself · the app is free and the subscription sells cosmetics and vanity telemetry: pin a #1 BFF, see who rewatched your story, wear a badge. People pay 3.99 USD because the network underneath is where their friends live, and status inside a graph only matters in a graph with people in it. That is also exactly why a rebuild is pointless: you can clone every feature and you will have cloned none of the value.
Your build guide
The stack, security requirements, and agent rules for a focused replacement.
Before you start
- a small VPS or free-tier Node host with HTTPS (camera and push APIs require it)
- friends willing to install the PWA and actually use it
Use these project rules and optional skill references alongside the prompt. Review each skill before adding it to your agent; the AGENTS.md export includes the same guidance.
Project rule, data: Model sources or channels, posts, dated observations, drafts, and reports; keep stable source IDs and timestamps.
Project rule, behavior: Core loop: open the camera with getUserMedia, capture a photo, type or draw a caption overlay on a canvas, send it to one or more friends.
Project rule, recovery: Node 22 + Fastify + better-sqlite3, and a vanilla-JS installable PWA served from /public with no build step: manifest, service worker, an offline shell that caches the UI but never caches snaps.
Implementation plan
Phase 1, architecture and data
Node 22 + Fastify + better-sqlite3, and a vanilla-JS installable PWA served from /public with no build step: manifest, service worker, an offline shell that caches the UI but never caches snaps. Model sources or channels, posts, dated observations, drafts, and reports; keep stable source IDs and timestamps.
Phase 2, implement
Core loop: open the camera with getUserMedia, capture a photo, type or draw a caption overlay on a canvas, send it to one or more friends.
Phase 3, implement
Accounts are invite-code only: the admin seeds codes with a CLI script, signup is username plus passcode, sessions are httpOnly cookies.
Phase 4, review and output
Group stories: a snap posted to my story is visible to all members and hard-deleted after 24 hours by a sweep job. Be honest in the UI: label view-once as deleted from our server, and state plainly that screenshots cannot be detected on the web.
Phase 5, recovery and acceptance
Node 22 + Fastify + better-sqlite3, and a vanilla-JS installable PWA served from /public with no build step: manifest, service worker, an offline shell that caches the UI but never caches snaps. Verify this invariant with a saved fixture: A failed platform call retains the draft and cannot be marked published; retries use a stable delivery key. State the practical limit: the people: everyone you snap with is on Snapchat, not on your server.
Build me a private ephemeral photo-messaging app, snaps for one friend group that opts in. Requirements: - Node 22 + Fastify + better-sqlite3, and a vanilla-JS installable PWA served from /public with no build step: manifest, service worker, an offline shell that caches the UI but never caches snaps. - Core loop: open the camera with getUserMedia, capture a photo, type or draw a caption overlay on a canvas, send it to one or more friends. - A snap is viewable exactly once for up to 10 seconds; the server deletes the image file immediately after the view and keeps only a minimal sent/opened log row. - Accounts are invite-code only: the admin seeds codes with a CLI script, signup is username plus passcode, sessions are httpOnly cookies. - Per-pair daily streaks tracked server-side, shown next to each friend. - Group stories: a snap posted to my story is visible to all members and hard-deleted after 24 hours by a sweep job. - Media lives as files on disk outside the web root; metadata in SQLite with WAL mode. - Web push for new snaps behind a permission prompt; the app must work fully without it, and the README says iOS web push is best-effort. VAPID keys and session secret in .env, with a documented script that generates them and a .env.example. - HTTPS is required for camera and push: document local dev with a self-signed cert and production behind Caddy on a cheap VPS. - Be honest in the UI: label view-once as deleted from our server, and state plainly that screenshots cannot be detected on the web. - Tests for delete-after-view, the 24-hour story sweep, and streak day-boundary math with a fake clock. - Out of scope: AR lenses and face filters, Snap Map, Discover or Spotlight feeds, video calls, screenshot detection, analytics, and third-party auth. - README: setup, deploying, where data lives, how deletion actually works, and how to invite the first two friends.
$ open in your agent (prompt prefilled, you press enter), copy the prompt or copy AGENTS.md
prompt copied. want to know what dies next week?
new verdicts + top votes, weekly. free. one-click out.
Questions about Snapchat
Can you build your own Snapchat with AI?
A full replacement is not the recommended project. The mechanics one-shot fine: ephemeral photo messages, 24-hour stories and streak counters are CRUD plus a delete timer. None of that is the product. Snapchat is where your friends already are · the value of a disappearing photo is who is on the other end, and a self-hosted clone with two users is a group chat with extra steps. Add the AR lens stack built on years of face-tracking models, screenshot detection that needs OS-level app privileges, and media infrastructure moving billions of snaps a day, and the honest verdict is that the network is the app. The prompt below is the consolation build: a private snap relay for one friend group that opts in.
What does the Snapchat build prompt cover?
The prompt starts with this scope: Snap a photo with a caption overlay and send it to an invited friend group; each snap deletes after one timed view, with daily streaks and 24-hour group stories. Full-product capabilities excluded from the comparison include: the people: everyone you snap with is on Snapchat, not on your server; AR lenses and filters backed by years of face-tracking models; screenshot detection · a web app cannot see or stop screenshots. Follow the implementation plan and its prerequisites before expanding the build.
How do I use the prompt, AGENTS.md and agent skills?
Start with the Snapchat prerequisites and stack, then copy the prompt into your coding agent. Save the project rules as AGENTS.md in the project root. Linked skills are optional packages or source instructions for specific tasks; review their current contents and install only those matching the chosen stack. A skill does not supply API credentials or verify the finished app.
How long will this Snapchat project take?
The catalogue estimate is closest consolation build: one sitting for the limited scope. Setup, integration approvals, debugging, deployment and ongoing maintenance can add time. This is an estimate, not a delivery guarantee.
What would I give up by replacing Snapchat?
the people: everyone you snap with is on Snapchat, not on your server; AR lenses and filters backed by years of face-tracking models; screenshot detection · a web app cannot see or stop screenshots; Snap Map, Discover, Spotlight and the creator ecosystem; reliable mobile push · web push on iOS is best-effort, not messenger-grade. Almost nobody pays for Snapchat itself · the app is free and the subscription sells cosmetics and vanity telemetry: pin a #1 BFF, see who rewatched your story, wear a badge. People pay 3.99 USD because the network underneath is where their friends live, and status inside a graph only matters in a graph with people in it. That is also exactly why a rebuild is pointless: you can clone every feature and you will have cloned none of the value.
What price is this guide comparing against?
The recorded Snapchat+ plan is $3.99/mo (monthly), checked 2026-08-02. Check the linked pricing source before buying. Building your own also has hosting, API and maintenance costs; the recorded amount is not a guaranteed saving.
What can I use instead of building Snapchat?
The prior-art section lists Signal, Pixelfed as starting points. Review their current scope, license and maintenance before adopting one.