Inspiration

Every founder I've talked to faces the same wall: Reddit is one of the best places to reach real buyers and early adopters, but it's brutally hard to do consistently. Every subreddit has its own rules, culture, and tone. Writing authentic posts takes time. Replying to comments fast enough to keep conversations alive is exhausting. And doing all of that across multiple communities — while also building a product — is simply not sustainable.

I hit that wall myself. I needed to promote my own work but didn't want to become a full-time marketer. That frustration became Uprivo.

What it does

Uprivo is an AI-powered Reddit growth platform that handles the full loop — so founders can stay focused on building.

  • Subreddit research — finds the right communities for your product using AI-generated keywords, fetching rules, flairs, and community context
  • AI post creation — writes posts that match each subreddit's tone, rules, and culture (not generic spam)
  • Scheduling & auto-posting — publishes on a cadence you control, or saves drafts for manual review
  • Comment monitoring — watches your posts for new comments on a schedule
  • AI reply generation — scores comments by priority and replies naturally, with a confidence threshold so low-quality replies go to review instead of going live
  • Review system — surfaces pending approvals, posted replies, and failed replies so you stay in control

Everything is organized per project, so you can run multiple products or campaigns without mixing context or Reddit accounts.

How we built it

The stack came together piece by piece as the product grew:

  • Frontend: Next.js + TypeScript on Vercel, with Supabase Auth and a dark-themed dashboard built in Tailwind CSS
  • Backend: Python + FastAPI on Railway, with RQ workers consuming jobs from a Redis queue
  • Database: Supabase (Postgres) for all project data, posts, monitoring state, usage tracking, and subscriptions
  • AI: Google Gemini — Flash Lite for free-tier scoring, Flash for Starter/Pro post creation and reply generation
  • Payments: Paddle Billing as Merchant of Record, handling global subscriptions, upgrades, downgrades, and VAT/GST automatically
  • Scraping: Firecrawl for website context extraction

This was my first large project. I built it with the help of AI-assisted coding tools, which let me move faster than my experience level would have otherwise allowed — but I still had to understand every decision deeply enough to make the right calls.

Challenges we ran into

The challenges were constant — and mostly architectural.

Reply posting isolation was one of the hardest. The original system used a global Redis sorted set and a sleeping thread for reply delays. The bug: one project's delay would freeze every other user's replies. The fix required rethinking the entire design — moving delay calculation to enqueue time so each project's pacing is independent and workers never sleep.

AI cost modeling was another. I was thinking in "runs" instead of tokens, which made costs unpredictable. The real lever is context window size per tier — so I built per-tier token budget caps on product context fed to Gemini, keeping user-facing pricing simple while controlling actual costs.

Idempotency in the comment pipeline — closing the gap between enqueuing a reply and marking it "reply pending" in the database, so a worker crash couldn't cause a double-post to Reddit.

And underneath all of it: this was my first time building at this scale. I was learning infrastructure, distributed systems, payment webhooks, and product design simultaneously — while shipping.

Accomplishments that we're proud of

Honestly? Getting here at all.

Building a full-stack SaaS with a job queue, subscription billing, per-tier AI cost modeling, Reddit OAuth integration, and a review/automation system — without a team, without prior experience at this scale — and having it actually work is something I didn't take for granted.

The reply posting redesign in particular: going from a broken global-lock architecture to a clean per-project, enqueue-time scheduling system felt like a real engineering win.

What we learned

  • How to think in tokens, not API calls when modeling AI costs
  • How distributed job queues work in practice (Redis + RQ, concurrency, idempotency, retries)
  • How to design for restarts being safe, not avoided
  • Paddle Billing, webhook verification, proration, and subscription lifecycle
  • That the hardest bugs aren't logic errors — they're atomicity gaps between state transitions
  • How to build with AI as a co-pilot without losing ownership of the architecture

What's next for Uprivo

  • Ship to real users and let actual usage data drive every next decision
  • Implement per-tier context truncation for tighter AI cost control
  • Add observability (Sentry, RQ Dashboard, Reddit API rate limit logging)
  • Explore Vertex AI migration once real usage patterns are visible
  • Grow the platform based on what founders actually need — not assumptions

Built With

Share this project:

Updates