Ticket 04 — Case Study Beta

SlidePress

Turn a topic into post-ready carousel campaigns and AI-narrated video in minutes — then publish without bouncing between five different tools.

An AI-powered social content platform that generates slides, images, and voiceover, then ships to YouTube, TikTok, and Instagram — built solo from AI integration through Google Play (and App Store review in flight).

The problem

Social campaigns get stuck in a tool pile: one place for copy, another for images, another for voiceover, another for export, and then four more for posting. By the time you're ready to publish, the idea's gone cold — or you've lost the thread between drafts.

SlidePress collapses that into one campaign workspace: topic in, editable slides and narration out, export or publish without leaving the product.

SlidePress carousel slide editor with AI voiceover
Slide editor
SlidePress AI topic and content generation
Topic → campaign
SlidePress export carousel and video
Export
SlidePress publish to YouTube, TikTok, and Instagram
Publish

The approach

One Next.js app on Vercel, same deploy inside Capacitor for iOS/Android — no separate mobile API. AI and publishing stay on the server; the client never holds Gemini, Fal, or ElevenLabs keys.

  • Campaign as the unit of work. Topic or URL ingest drafts structure and copy; the slide editor owns headlines, images, and voiceover in one place.
  • Async AI pipelines. Gemini for structured copy and captions; Fal.ai for image generation and video compose (queue + webhooks); ElevenLabs for TTS — with Realtime updates and polling fallback so long jobs don't hang the UI.
  • Publish through formal OAuth review. YouTube, TikTok, Instagram (and Facebook Page in product) each required navigating that platform's developer review — not a “paste an API key and ship” integration.
  • Dual billing into one ledger. Stripe on web, RevenueCat for IAP, shared usage balances and entitlements — same discipline as KeyMacro, different product surface.

What's actually running

  • Topic → campaign — start from an idea or website URL; Gemini drafts angle, structure, and copy you can edit before anything posts.
  • Slide editor + AI voiceover — carousel workspace with Fal-generated imagery and ElevenLabs narration baked into the flow.
  • Export — carousel zip or narrated video (4:5 / 9:16), plus TTS preview before you commit.
  • Multi-platform publish — OAuth posting to YouTube, TikTok, and Instagram, with platform connection grace and metering behind the scenes.
  • Web + native — Next.js 16 / React 19 on Vercel; Capacitor shells for Google Play (live) and App Store (in review).
  • Stripe + RevenueCat — web checkout and native IAP feeding shared usage balances; webhook-driven entitlements.

The numbers

Counted from the live repo. Next.js App Router handles the API surface (no Supabase Edge Functions) — 77 route handlers, 59 Postgres migrations, Capacitor for stores.

76
UI components
22
Page routes
77
API routes
59
DB migrations
~70k
Lines of TS
21
Test files
Next.js 16React 19Supabase CapacitorGeminiFal.ai ElevenLabsStripeRevenueCat

Lighthouse (mobile): 77 Performance, 100 Accessibility, 100 Best Practices, 100 SEO.

The hardest part

Getting past each platform's front door. YouTube OAuth verification, TikTok Content Posting (Direct Post), and Meta App Review for Instagram publish aren't “wire up an SDK” tasks — they're separate review processes with different rules, scopes, and failure modes. Carousel vs Reels, token storage locked to service role, connection grace when a token dies mid-campaign: the product only works if those integrations survive production, not a demo sandbox.

Close second: keeping Gemini → Fal → ElevenLabs → export/publish as one coherent pipeline — structured JSON with Zod, Fal webhooks, Realtime plus polling fallback — so a creator isn't staring at a spinner wondering which vendor hung.

Where it stands

Live on the web and Google Play. Soft launch in progress; iOS submitted and waiting for App Store review. Marked Beta on the portfolio because early subscribers are already finding it while the product is still being hardened — not because it's a mockup.

If you're evaluating this for your own project

This is AI product work that has to clear real platform gates: multi-vendor generation pipelines, dual billing, and OAuth publishing that only counts after Google, TikTok, and Meta say yes. If you need content tooling, Capacitor + Next.js, or integrations that survive formal developer review — let's talk.