Vercel-ready Next.js app for an Instagram Hook Generator micro SaaS.
- Landing page and pricing
- Browser-based generator UX
POST /api/generateAPI route- OpenAI-backed generation when
OPENAI_API_KEYis configured - Local fallback generator when OpenAI is not configured
- Razorpay payment-link upgrade flow
- Supabase auth scaffold
- Privacy and terms pages
- Meta Pixel and Google Analytics placeholders
- Supabase schema starter in supabase/schema.sql
C:\Users\manas\instagram-hook-generator
Copy .env.example to .env.local and fill what you have:
NEXT_PUBLIC_SITE_URL=https://your-domain.com
NEXT_PUBLIC_RAZORPAY_PAYMENT_LINK=https://razorpay.me/manasmahodaya
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
OPENAI_API_KEY=
NEXT_PUBLIC_GA_ID=
NEXT_PUBLIC_META_PIXEL_ID=npm install
npm run devOpen http://localhost:3000
- Push the project to GitHub.
- Import the repo into Vercel.
- Keep the framework preset as
Next.js. - Add the environment variables from
.env.localin Vercel Project Settings. - Deploy.
- Add your custom domain in Vercel.
- Point your domain DNS from Namecheap to Vercel using the records Vercel shows.
- Create a Supabase project.
- Copy the project URL and anon key into:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY
- Run the SQL in supabase/schema.sql.
- Enable email auth in Supabase Authentication.
- Set your site URL and redirect URL in Supabase auth settings:
https://your-domain.comhttps://your-domain.com/dashboard
- Add
OPENAI_API_KEY. - The app will use the
/api/generateroute automatically. - Without the key, the app falls back to local generation logic.
- Create or keep your payment link:
https://razorpay.me/manasmahodaya
- Put it in
NEXT_PUBLIC_RAZORPAY_PAYMENT_LINK. - The pricing CTA and upgrade CTA will point to it.
- Create a Meta Pixel and put the ID in
NEXT_PUBLIC_META_PIXEL_ID. - Create a GA4 property and put the Google tag ID in
NEXT_PUBLIC_GA_ID. - Redeploy after adding env vars.
- Replace the draft legal text before running paid traffic.
npm run buildProduction build currently passes.
- persist generations and saved hooks per authenticated user in Supabase
- add paid entitlement checks after Razorpay payment
- replace payment-link flow with a membership/gating flow if needed
- add dashboard analytics and usage limits