AI Product Manager intelligence platform for B2B SaaS companies. MarketLens watches the web for competitor moves, pricing changes, job signals, and compliance alerts, and surfaces structured insights with optional Jira/Linear integration.
- Competitor Radar — Monitor competitor pricing, job postings, changelogs, and reviews
- Compliance Radar — Track regulatory circulars (e.g. BSE/NSE) for fintech and regulated verticals
- Dashboard — Overview, Status, Information, and Insights views
- Auth — Sign up, login, JWT (access + refresh), company-scoped multi-tenancy
- Node.js 18+
- MongoDB (local or MongoDB Atlas)
- Optional: Redis (for future rate limiting / caching)
-
Clone and install
git clone <repo-url> cd MarketLens npm install
-
Environment variables
Copy the example env and fill in values:
cp .env.example .env
Edit
.env:Variable Required Description MONGODB_URIYes MongoDB connection string; include DB name, e.g. mongodb+srv://user:pass@cluster.mongodb.net/marketlensJWT_ACCESS_SECRETYes (production) Min 32 characters; used to sign access tokens JWT_REFRESH_SECRETYes (production) Min 32 characters; used to sign refresh tokens TINYFISH_API_KEYFor scans API key for TinyFish (Competitor Radar / Compliance scans) REDIS_URLOptional e.g. redis://localhost:6379JWT_ACCESS_EXPIRES_INOptional Default 15mJWT_REFRESH_EXPIRES_INOptional Default 7dGenerate JWT secrets locally:
openssl rand -hex 32
Run twice and set as
JWT_ACCESS_SECRETandJWT_REFRESH_SECRET. -
Run locally
npm run dev
Open http://localhost:3000. Sign up to create a company and user, then use the dashboard.
| Command | Description |
|---|---|
npm run dev |
Start Next.js dev server |
npm run build |
Production build |
npm run start |
Start production server |
npm run lint |
Run ESLint |
- Next.js 15 (App Router), React 19, TypeScript
- MongoDB + Mongoose for persistence
- Zod for validation; Zustand for client auth state
- JWT (httpOnly cookies) for auth; bcrypt for passwords
- Tailwind CSS, Framer Motion, Chart.js
- Set all env vars in the host dashboard (especially
MONGODB_URIwith the database name in the path). - For MongoDB Atlas, use Network Access → Allow access from anywhere (
0.0.0.0/0) so serverless can connect; protect the DB with a strong password and keepMONGODB_URIserver-side only.