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.
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.
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.