← Back to Projects
Web App

SmartPost

AI-powered social media automation platform with multi-platform posting, content generation, and a full SaaS website.

TypeScriptNext.jsFastAPIPythonPostgreSQLDocker

Overview

SmartPost is a full-stack social media automation platform built in two layers: a FastAPI backend that handles AI content generation (text, image, video via Gemini), multi-platform posting (Telegram, Twitter, Instagram, LinkedIn, and more), and content scheduling; and a Next.js 14 SaaS website with authentication, Stripe/Paddle billing, per-user encrypted platform credentials, and a dashboard for generating and publishing posts. It solves the problem of managing social media presence across channels without juggling separate apps or API keys.

Key Features

  • AI content generation with up to 4 variations per prompt, token estimation, and unused content archiving
  • Multi-platform posting via Telegram Bot API and Zernio OAuth aggregator (Twitter, Instagram, Facebook, LinkedIn, TikTok, and more)
  • Scheduled posting with APScheduler; per-user bot tokens and channel IDs stored with AES-256-GCM encryption
  • SaaS subscription system with FREE / STARTER / PRO / ENTERPRISE tiers, Stripe and Paddle billing, and usage enforcement
  • Multilingual website (English, Arabic RTL, Portuguese) using next-intl with locale-aware routing
  • Dockerized deployment behind Caddy reverse proxy with internal service-to-service API key auth

Technical Decisions

The project separates concerns into a Python/FastAPI backend (content logic, platform plugins, scheduling) and a TypeScript/Next.js frontend (user-facing SaaS, billing, auth), communicating over an internal API. Prisma 7 with a driver adapter pattern was chosen for the Next.js side to support edge-compatible PostgreSQL access. Per-user Telegram bot tokens are decrypted server-side and forwarded to FastAPI at post time rather than stored in the session, keeping credentials out of the browser entirely.