ReviewWeb.site is an intelligent platform that uses AI to analyze websites, extract content, and generate comprehensive reports.
Analysis & Review
- 10-step automated website analysis workflow
- AI-powered content summarization
- Screenshot capture (multiple viewports)
- Link extraction and status validation
- Metadata extraction (Open Graph, Twitter, SEO)
Content Processing
- HTML-to-Markdown conversion
- Intelligent data extraction with JSON templates
- Batch processing (10+ URLs/minute)
- Multi-language support
Developer Tools
- RESTful API with consistent response format
- API key management and OAuth2 (GitHub, Google)
- Webhook support for webhooks
- Token usage tracking and cost calculation
Subscription & Billing
- Tiered pricing plans (Free, Pro, Enterprise)
- Per-minute and per-month rate limiting
- Credit-based token tracking
- Payment integration (Polar, SePay, LemonSqueezy)
- Runtime: Node.js v20+ with TypeScript
- Framework: Express.js with EJS templates
- Database: PostgreSQL with Prisma ORM
- Cache: Redis (pub/sub, caching, sessions)
- Auth: Lucia (session-based with OAuth2)
- Validation: Zod schemas
- Styling: TailwindCSS
- Scraping: Playwright + 5-method fallback chain + TwitterAPI.io (replies)
- AI: OpenRouter (25+ LLM providers)
- Node.js v20+, PostgreSQL 12+, Redis 6+
- Bun (recommended) or npm/yarn
# Clone repository
git clone git@github.com:mrgoonie/url-review.git
cd url-review
# Setup environment
cp .env.example .env
# Edit .env with your credentials
# Install dependencies
bun i
# Setup database
bun run db:push
# Start development server
bun dev
# Available at http://localhost:3000# Local stack (db + redis)
docker compose up
# Production build
docker build -t reviewweb-site .
docker run -p 3000:3000 reviewweb-site| Method | Endpoint | Purpose |
|---|---|---|
| POST | /api/v1/review |
Analyze a website (10-step workflow) |
| POST | /api/v1/scrape |
Extract HTML content |
| POST | /api/v1/scrape/extract |
Extract data with JSON template |
| POST | /api/v1/screenshot |
Capture webpage screenshot |
| POST | /api/v1/convert |
Convert URL to Markdown |
| POST | /api/v1/summarize/url |
Summarize single URL |
| POST | /api/v1/summarize/website |
Summarize full website |
| GET | /api/v1/profile |
Get user profile |
| GET | /api/v1/api_key |
Manage API keys |
Option 1: API Key
curl -H "x-api-key: your-api-key" \
https://api.reviewweb.site/api/v1/profileOption 2: Bearer Token
curl -H "Authorization: Bearer your-api-key" \
https://api.reviewweb.site/api/v1/profileAll API responses follow this standard:
{
"status": 200,
"data": { ... },
"messages": ["optional", "messages"]
}ReviewWeb.site uses a layered architecture:
- Middleware Layer: CSRF protection, API authentication, rate limiting
- API Layer: RESTful endpoints (/api/v1/*)
- Business Logic: 18 focused modules (review, scrape, summarize, etc.)
- Library Layer: 97 utility files (AI, scraping, auth, payment, etc.)
- Data Layer: PostgreSQL + Redis
See /docs/system-architecture.md for detailed architecture diagrams.
- Project Overview & PDR - Vision, goals, requirements, roadmap
- Codebase Summary - Directory structure, modules, libraries, database
- Code Standards - Coding conventions, patterns, best practices
- System Architecture - Architecture diagrams, data flows, integrations
# Deploy to production
dx up --prod
# Deploy to preview (on PR)
dx upGitHub Actions automatically deploys on:
- PR merge to
main→ production - PR creation → preview environment
- Environment Variables: See
.env.example - Database: PostgreSQL connection pooling (5-20 connections)
- Cache: Redis with configurable TTL
- Monitoring: Comprehensive logging and error tracking
All code must follow:
- TypeScript strict mode
- Zod validation on inputs
- Error handling with context
- Modular structure (one module per directory)
- Conventional commit messages
bun run test
bun run lint
bun run lint:fix# Create migration
bun run db:create
# Apply migrations
bun run db:push
# Prisma Studio (visual editor)
bun run db:studioWe welcome contributions! Please:
- Follow the code standards in
/docs/code-standards.md - Create a feature branch from
main - Make focused commits with conventional message format
- Submit a PR with description of changes
- API response time: <5s (p95) for single URL analysis
- Batch processing: 10+ URLs/minute
- Screenshot capture: <10s per page
- 99.5% uptime SLA
- Horizontal scaling support
- HTTPS-only (TLS 1.2+)
- CSRF protection (double tokens)
- API key authentication
- Rate limiting (per-minute and per-month)
- SQL injection prevention (Prisma ORM)
- XSS protection (template escaping)
- Session management (HttpOnly cookies)
All endpoints enforce rate limits based on subscription plan:
- Free: 10 requests/minute, 1,000/month
- Pro: 100 requests/minute, 10,000/month
- Enterprise: Custom limits
Returns HTTP 429 when exceeded.
- Author: Goon Nguyen (@goon_nguyen)
- Organization: TOP GROUP, DIGITOP, XinChao Live Music
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- IndieBoosting.com - Feature your indie product
- DigiCord AI - AI chatbot for Discord
- TopRanking.ai - AI product directory
- ZII.ONE - Link shortener
- VidCap.xyz - YouTube tools
See LICENSE file for details.
Last Updated: 2026-02-27 Repository: git@github.com:mrgoonie/url-review.git Demo: https://reviewweb.site