PostForge AI is a modern SaaS marketing site and dashboard prototype for an AI-powered social media content generator. The site is designed for startups, creators, agencies, gyms, and ecommerce brands that want to generate posts, captions, ad copy, and promotions faster.
- Website: https://postforge-ai.vercel.app
- Repository: https://github.com/mouadhhhallem/postforge-ai
- Community hub: https://postforge-ai.vercel.app/community
- GitHub discussions: https://github.com/mouadhhhallem/postforge-ai/discussions
- Good first issues:
good first issue
Good for newcomers
- Open in GitHub Codespaces: https://codespaces.new/mouadhhhallem/postforge-ai
- Open in StackBlitz: https://stackblitz.com/github/mouadhhhallem/postforge-ai
- Run locally: clone repo, create
.env.local, then runnpm install && npm run dev
The first contributor sprint is live now.
- Pick an issue: https://github.com/mouadhhhallem/postforge-ai/issues
- Start with beginner tasks:
good first issue
Good for newcomers - Join discussions: https://github.com/mouadhhhallem/postforge-ai/discussions
/— landing page with hero, problem/solution, feature sections, pricing preview, testimonials, revenue goal, and final CTA/pricing— three-tier SaaS pricing page with the Pro plan highlighted/dashboard— interactive app-style generator UI for posts, captions, ads, gym promos, and streetwear content
- Next.js App Router
- TypeScript
- Tailwind CSS
- Modern dark UI with neon-accent styling
npm run devVS Code task available: Run PostForge AI Dev Server
Create a .env.local file (or copy from .env.example) with:
DATABASE_URL="file:./dev.db"
SESSION_SECRET="a-long-random-secret-at-least-32-characters"
OPENAI_API_KEY=sk-...
STRIPE_SECRET_KEY=sk_test_...
STRIPE_PUBLISHABLE_KEY=pk_test_...
STRIPE_PRICE_STARTER=price_xxx
STRIPE_PRICE_PRO=price_yyy
STRIPE_PRICE_BUSINESS=price_zzz
APIFY_TOKEN=apify_api_xxx
Validate your environment before deploy:
npm run env:checkThis app now includes a basic user system backed by Prisma and SQLite (or another SQL provider).
- Install Prisma CLI (already added as dependency).
- Set your database URL in
.env.local, for example:DATABASE_URL="file:./dev.db" - Run migrations and generate client:
npx prisma migrate dev --name init npx prisma generate
- Signup and login forms post JSON to
/api/auth/signupand/api/auth/login. Passwords are hashed with bcrypt. - Auth now uses signed,
httpOnlycookies for session integrity. - Dashboard features are persisted in Prisma tables (notes, campaigns, calendar events, settings, and AI generation history).
You can use any SQL database instead of SQLite by updating datasource in the Prisma schema and DATABASE_URL accordingly.
The STRIPE_PRICE_* values should be the IDs of your Stripe price objects for each plan. If these are not set the checkout form will still render a mock message.
npm run env:check
npm run lint
npm run build- SEO targets include
AI social media generator,AI caption generator,AI marketing copy tool, andAI Instagram post generator - The pricing funnel is structured around a $39 Pro plan to support a $2k MRR goal
- Basic OpenAI generation and Stripe checkout routes are wired and environment-driven.
- Do not commit
.envfiles; keep secrets in deployment provider environment settings.
Contributions are welcome. See CONTRIBUTING.md for setup, branch naming, and PR flow.
Community standards are documented in CODE_OF_CONDUCT.md.
If you like the project, please star it on GitHub and share the live demo.
This project is open source under the MIT License. See the LICENSE file.
