AIRank is an open-source AI Brand Visibility Intelligence platform that measures, optimizes, and demonstrates how AI models (ChatGPT, Claude, Gemini, Perplexity, DeepSeek, Grok) represent brands. We're building the definitive open-source AI visibility layer.
- Multi-Model Scanning — Query 6+ LLM providers (OpenAI, Anthropic, Google, DeepSeek, Grok, Perplexity)
- AIRank Score™ — Proprietary 0-100 visibility scoring algorithm with confidence intervals
- Mention Detection — Real-time brand/competitor mention tracking with sentiment analysis
- Citation Intelligence — Track which sources AI cites when discussing your brand space
- Competitive Intelligence — Benchmark against 20+ competitors with threat scoring
- Prompt Engineering — 50+ pre-built prompt templates with A/B testing capabilities
- Entity Building — Automated entity profile construction across knowledge graphs
- Schema Validation — JSON-LD, Organization, Product, FAQPage validation
- Wikidata Integration — Claim extraction and verification
- Wikipedia Presence — Notability scoring and presence monitoring
- Entity Score™ — Proprietary entity completeness metric (0-100)
- Schema Generator — Auto-generate schema.org markup from brand data
- FAQ Optimizer — AI snippet extraction optimization
- AXP Script — Real-time crawler notification for instant re-indexing
- Content Gap Analysis — AI-powered recommendations for missing content
- Launch Readiness — Product/entity/schema readiness scoring
- Visibility Trends — Time-series analysis with predictive modeling
- Sentiment Analysis — Multi-dimensional sentiment tracking across platforms
- Citation Networks — Graph-based source relationship mapping
- GEO vs SEO — Comparative analysis of AI visibility vs traditional SEO
- Market Opportunity — Prompt gap analysis with prioritization matrix
- Multi-Tenancy — Agency branding and workspace isolation
- Role-Based Access — Granular permissions (Admin, Editor, Viewer, API)
- Webhook Framework — Real-time event streaming to external systems
- Scheduled Reports — PDF/HTML reports with automated email delivery
- Audit Logging — Comprehensive security and compliance tracking
- Razorpay Integration — Subscription management and invoicing
- 2FA Support — TOTP-based two-factor authentication
- Rate Limiting — Adaptive rate limiting per tier and endpoint
┌─────────────────────────────────────────────────────────────┐
│ AIRank Platform │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ Frontend │ │ API Server │ │ Worker Jobs │ │
│ │ (React 19) │◄─│ (Express) │ │ (BullMQ+Redis) │ │
│ │ │ │ │ │ │ │
│ │ • Dashboard │ │ • REST API │ │ • LLM Scanning │ │
│ │ • Reports │ │ • WebSockets │ │ • Citation Track │ │
│ │ • Settings │ │ • Auth │ │ • Entity Build │ │
│ └──────────────┘ └──────┬───────┘ │ • Alert Eval │ │
│ │ │ • Report Gen │ │
│ ┌────────────────────────▼───────────┴──────────────────┐│
│ │ Service Layer ││
│ │ LLM Service │ Entity Service │ Content Service │ ... ││
│ └──────────────────────────────────────────────────────────┘│
│ │ │
│ ┌────────────────────────▼──────────────────────────────┐│
│ │ Data Layer ││
│ │ PostgreSQL (Neon) │ Redis (Queue/Cache) ││
│ └──────────────────────────────────────────────────────────┘│
│ │ │
│ ┌────────────────────────▼──────────────────────────────┐│
│ │ AI Providers (Claude, OpenAI, etc.) ││
│ └──────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React 19, TypeScript, Wouter, Tailwind CSS v4 | Modern SPA with SSR-ready architecture |
| Backend | Express.js, TypeScript, Passport.js | RESTful API with session management |
| Database | PostgreSQL (Neon Serverless), Drizzle ORM | Type-safe queries with migrations |
| Queue | BullMQ + Redis | Background job processing |
| LLM | OpenAI, Anthropic, Google, DeepSeek, Perplexity, Grok | Multi-model AI scanning |
| Auth | JWT + httpOnly cookies, Google OAuth, Email/Password | Secure authentication |
| Payments | Razorpay | Subscription management |
| AWS SES / SMTP | Transactional emails | |
| Testing | Vitest, Playwright | Unit + E2E testing |
| Deploy | Docker, PM2, Nginx | Production-ready deployment |
- Node.js >= 18.x
- PostgreSQL >= 14.x (or Neon serverless)
- Redis >= 7.x (or Upstash)
- At least one LLM API key (OpenAI, Anthropic, or Google)
# Clone the repository
git clone https://github.com/SailendraDs/airank.git
cd airank
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your database URL, API keys, etc.
# Run database migrations
npm run db:push
# Seed demo data (optional)
npm run db:seed
# Start development server
npm run devVisit http://localhost:5000 in your browser.
# Build and run with Docker Compose
docker compose up -d
# View logs
docker compose logs -f
# Stop
docker compose downSee .env.example for the complete list. Minimum required:
# Database
DATABASE_URL=postgresql://user:pass@host:5432/airank
# Session
SESSION_SECRET=your-32+-char-secret-here
# LLM Provider (at least one)
OPENAI_API_KEY=sk-...
# ANTHROPIC_API_KEY=sk-ant-...
# GOOGLE_GENERATIVE_AI_API_KEY=...
# Optional
REDIS_URL=redis://localhost:6379
RAZORPAY_KEY_ID=...
AWS_SES_SMTP_HOST=...airank/
├── client/ # React 19 frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ │ ├── layout/ # App shell, navigation
│ │ │ ├── dashboard/ # Dashboard widgets
│ │ │ ├── landing/ # Public landing page
│ │ │ └── ui/ # ShadCN/ui primitives
│ │ ├── pages/ # Route-level pages
│ │ │ ├── admin/ # Admin panel
│ │ │ ├── auth/ # Login, signup, OTP
│ │ │ ├── Dashboard.tsx # Main dashboard
│ │ │ ├── Prompts.tsx # Prompt management
│ │ │ ├── EntityIntelligence.tsx
│ │ │ ├── Competitors.tsx
│ │ │ ├── GapAnalysis.tsx
│ │ │ └── ...
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # API client, utilities
│ │ └── test/ # Test setup
│ │ └── index.html # Vite entry
│ │
├── server/ # Express.js backend
│ ├── index.ts # App bootstrap
│ ├── routes.ts # Main API routes
│ ├── storage.ts # Database CRUD operations
│ ├── lib/ # Logger, env validation
│ ├── services/ # Business logic
│ │ ├── llm/ # LLM provider integrations
│ │ │ ├── openai.ts
│ │ │ ├── anthropic.ts
│ │ │ ├── google.ts
│ │ │ ├── deepseek.ts
│ │ │ ├── .ts
│ │ │ └── -fallback.ts
│ │ ├── entity-service.ts # Entity building & tracking
│ │ ├── content-optimizer.ts # Content & AXP engine
│ │ ├── agent-readiness.ts # Schema validation
│ │ ├── product-readiness.ts # Product schema analysis
│ │ ├── prompt-topic-matcher.ts # Prompt clustering
│ │ ├── email.ts # Transactional emails
│ │ ├── scheduler.ts # Report scheduling
│ │ ├── pdf-generator.ts # PDF report generation
│ │ ├── report-runner.ts # Scheduled report execution
│ │ ├── webhook-dispatch.ts # Webhook delivery
│ │ └── seed-data.ts # Demo data seeder
│ ├── integrations/ # Third-party integrations
│ │ ├── llm/ # LLM API wrappers
│ │ ├── enrichment/ # Firecrawl brand enrichment
│ │ └── notify/ # Slack/Teams notifications
│ ├── jobs/ # Background job workers
│ │ └── workers/
│ │ ├── llm-scan-worker.ts # LLM scanning jobs
│ │ ├── alert-evaluation.ts # Alert checking
│ │ ├── entity-builder.ts # Entity construction
│ │ └── ...
│ ├── routes/ # Modular route files
│ └── middleware/ # Express middleware
│
├── shared/ # Shared types (client + server)
│ ├── schema.ts # Drizzle ORM schema (50+ tables)
│ └── types.ts # TypeScript type definitions
│
├── script/ # Utility scripts
├── deploy/ # Deployment configurations
├── docs/ # Documentation & research
├── .github/ # GitHub Actions & templates
├── LICENSE # MIT License
├── CONTRIBUTING.md # Contribution guidelines
├── CODE_OF_CONDUCT.md # Contributor Covenant
├── CHANGELOG.md # Version history
├── SECURITY.md # Security policy
├── package.json # Dependencies
├── tsconfig.json # TypeScript config
├── vite.config.ts # Vite bundler
├── drizzle.config.ts # Drizzle ORM config
├── tailwind.config.ts # Tailwind CSS config
├── docker-compose.yml # Docker orchestration
├── Dockerfile # Production image
└── .env.example # Environment template
# Development (full stack)
npm run dev
# Frontend only (port 5000)
npm run dev:client
# Backend only
npm run dev
# Database
npm run db:push # Push schema changes
npm run db:migrate # Run migrations
npm run db:seed # Seed demo data
npm run db:studio # Open Drizzle Studio
# Code Quality
npm run check # TypeScript type checking
npm run test # Run test suite
npm run test:coverage # Run with coverage
# Production
npm run build # Compile TypeScript
npm start # Start production serverThe project uses Drizzle ORM with PostgreSQL. Key tables:
| Table | Purpose |
|---|---|
users |
User accounts with roles |
brands |
Brand profiles being analyzed |
competitors |
Competitor tracking per brand |
prompts |
AI prompts for visibility testing |
llm_answers |
Raw LLM responses |
answer_mentions |
Brand/competitor mentions |
answer_citations |
Source citations |
visibility_scores |
Time-series visibility metrics |
entity_checks |
Entity verification results |
schema_templates |
Schema.org markup templates |
action_plans |
Gap analysis action items |
subscriptions |
Razorpay subscription records |
webhooks |
Outgoing webhook configurations |
- Create provider class in
server/integrations/llm/ - Register in
server/services/llm/index - Add UI toggle in
client/src/pages/Settings.tsx - Update
.env.examplewith new key
- Create worker in
server/jobs/workers/ - Register job type in queue config
- Add API endpoint for job triggering
- Add admin monitoring in
client/src/pages/admin/
vercel --prod# render.yaml
services:
- type: web
name: airank-api
runtime: node
plan: starter
buildCommand: npm install && npm run build
startCommand: npm start
envVars:
- key: DATABASE_URL
fromDatabase:
name: airank-db
property: connectionString# Production
docker compose -f docker-compose.prod.yml up -d
# Development
docker compose up -dStatus: Production Ready
- Multi-model LLM scanning (6+ providers)
- AIRank Score™ visibility algorithm
- Competitor benchmarking
- Citation tracking
- Entity intelligence
- Gap analysis & recommendations
- Content optimization (AXP)
- Scheduled reports
- Multi-tenant SaaS
- Razorpay payments
Theme: Autonomous AI agents that act on your behalf
| Feature | Description | Impact |
|---|---|---|
| Autonomous Brand Monitor | AI agent that continuously monitors brand mentions and alerts on anomalies | High |
| Auto-Content Generator | LLM-powered content creation based on gap analysis | High |
| Competitive Response Engine | Automated competitive counter-strategy suggestions | Medium |
| Schema Auto-Fix | AI agent that automatically fixes broken schema.org markup | High |
| Citation Outreach | Automated outreach to high-authority citation sources | Medium |
Planned Improvements:
- Real-time WebSocket updates for live scanning
- Advanced caching layer with Redis Cluster
- GraphQL API alongside REST
- Mobile-responsive admin panel
- Multi-language support (i18n)
Theme: Predict the future of your AI visibility
| Feature | Description | Impact |
|---|---|---|
| Visibility Forecasting | Time-series prediction of AIRank Score trends | High |
| Competitive Threat Detection | ML-based early warning system for competitive moves | High |
| Prompt Opportunity Mining | AI discovers untapped prompt opportunities | High |
| Citation Velocity Tracking | Track how fast citations grow/shrink over time | Medium |
| Entity Health Dashboard | Real-time entity completeness monitoring | Medium |
Planned Improvements:
- Vector database integration for semantic search
- Custom model fine-tuning for brand-specific analysis
- Plugin system for custom LLM providers
- Advanced export formats (Notion, Airtable, Slack)
Theme: AIRank as an AI Visibility Platform
| Feature | Description | Impact |
|---|---|---|
| Marketplace | Community prompt templates and strategies | High |
| API Access | Public API for programmatic queries | High |
| White-Label | Full white-label deployment for agencies | Medium |
| Enterprise SSO | SAML/OIDC support for enterprises | Medium |
| Advanced Analytics | Cohort analysis, funnel visualization, attribution | High |
| AI Visibility API | Embeddable widget for external sites | Medium |
Planned Improvements:
- Microservices architecture
- Kubernetes deployment configs
- Multi-region support
- Advanced RBAC with custom roles
- Audit compliance exports (SOC2, GDPR)
Theme: Direct integration with AGI workflows
| Feature | Description | Impact |
|---|---|---|
| Claude Code Integration | Native MCP server for Claude Desktop | High |
| OpenAI Assistants API | Custom GPT with AIRank knowledge | High |
| Autonomous Optimization | AI that optimizes your AI visibility automatically | High |
| Cross-Platform Sync | Unified visibility across all AI platforms | High |
| Real-Time Learning | System learns from every scan to improve accuracy | High |
We welcome contributions! Please read CONTRIBUTING.md for:
- Code style guidelines
- Pull request process
- Issue reporting standards
- Development setup checklist
Look for issues labeled good-first-issue or help-wanted on GitHub.
- Discussions: GitHub Discussions
- Issues: GitHub Issues
- Discord: Join our Discord (coming soon)
- Email: opensource@airank.io
AIRank is released under the MIT License.
AIRank is built with the support of:
- Vercel — Frontend hosting and deployment
- Neon — Serverless PostgreSQL
- Drizzle ORM — Type-safe database access
- ShadCN/ui — Beautiful UI components
- Tailwind CSS — Utility-first CSS framework
Democratizing AI Brand Visibility Intelligence for Everyone.