Reviewly tracks App Store apps and their recent reviews. It stores app metadata and review snapshots in SQLite, then serves them through a small Node API and a Next.js dashboard.
- Next.js web app in
apps/web - Node HTTP API in
apps/server - Drizzle + SQLite in
packages/db - pnpm workspaces + Turborepo
- Register an App Store app by its Apple app ID or URL.
- Fetch and store app metadata from Apple's lookup API.
- Poll recent US App Store reviews on a configurable interval.
- Persist tracked apps, reviews, poll status, and review change metadata.
- Browse tracked apps and paginated recent reviews in the dashboard.
flowchart LR
Web[Next.js dashboard] --> API[Node API]
API --> Lookup[Apple lookup API]
API --> RSS[App Store reviews RSS]
API --> DB
Poller[Review poller] --> RSS
Poller --> DB
DB --> API
pnpm installCreate env files from the examples:
cp apps/server/.env.example apps/server/.env
cp apps/web/.env.example apps/web/.envStart the server and web app
pnpm run devWeb: http://localhost:3001
API: http://localhost:3000
pnpm run dev- run all appspnpm run test- run testspnpm run build- build all appspnpm run check-types- typecheck all appspnpm run db:push- apply schema changespnpm run db:studio- open Drizzle Studio


