Skip to content

Repository files navigation

Viralyze

AI-powered social growth intelligence for content creators.

Viralyze helps creators find what's trending, generate viral-ready scripts and captions, and plan their content calendar — powered by Google's Gemini AI, with real subscription billing via Stripe.


✨ Features

  • 🔥 Trend Radar — Discover trending topics, hashtags, and audio by niche, with growth scores and content hooks
  • 💡 AI Idea Generator — Generate 8 unique content ideas per request, complete with hooks, scripts, and captions
  • 🎬 Script Playboard Builder — Shot-by-shot video blueprints with visual instructions and narration splits (Pro/Elite)
  • 📊 Competitor Strategy Audit — Market share and competitor hook analysis (Elite only)
  • 🔖 Saved Vault — Bookmark trends and ideas for later, with tier-based storage limits
  • 👤 Profiles & Stats — Track usage against monthly quotas (searches, generations, saves)
  • 💳 Real Stripe Billing — Tiered subscriptions (Free / Pro / Elite) with Stripe Checkout, Billing Portal, and webhook-verified upgrades
  • 🔐 Authentication — Email/password signup & login with session tokens

🧱 Tech Stack

Frontend: React + TypeScript + Vite Backend: Node.js + Express AI: Google Gemini API Payments: Stripe Database: Local JSON file

📁 Project Structure

viralyze/
├── server.ts                    # Express API server (auth, trends, ideas, payments, webhooks)
├── vite.config.ts               # Vite config + dev-mode backend auto-spawn
├── database.json                # Local JSON "database" (auto-generated)
├── src/
│   ├── main.tsx                 # React app entry point
│   ├── App.tsx                  # Route definitions
│   ├── pages/                   # Route-level pages (Landing, Dashboard, Trends, Ideas, Pricing, Profile, etc.)
│   ├── components/               # Reusable UI components (modals, layout, backgrounds)
│   ├── context/                  # React context providers (Auth, Search, Upgrade Modal)
│   ├── server/
│   │   ├── db.ts                # Local JSON database access layer
│   │   └── services/             # Gemini AI service, Apify trend service, quota state
│   └── utils/
│       └── api.ts                # Axios API client wrappers
└── .env.example                  # Required environment variables

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • A Google Gemini API key
  • A Stripe account (test mode) for payments

🔑 Plans & Limits

Plan Price (mo/yr) Trend Searches AI Ideas Saved Vault Extras
Free $1 / $10 10/mo 15/mo 10 items
Pro $5 / $48 Unlimited 60/mo Unlimited Script Playboard Builder
Elite $15 / $144 Unlimited Unlimited Unlimited Competitor Strategy Audit, priority server slots

🔒 Security Notes

  • Payment card details are collected entirely on Stripe's hosted Checkout page — this application never sees or stores raw card data.
  • All subscription upgrades are verified server-side via Stripe signed webhook events, not client-supplied data.
  • Passwords are stored in the local JSON database for demo/offline purposes — swap in proper hashing (e.g. bcrypt) and a real database before any production deployment.

About

✨ Viralyze ✨ helps creators find what's trending, generate viral-ready scripts and captions

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages