IndoxHub 3-Month Plan — April to June 2026
Current State (May 2, 2026 — Week 4)
| Area |
Status |
| SEO/Crawling |
✅ Cloudflare unblocked, robots.ts + sitemap.ts live, Google Search Console verified |
| GitHub Repo |
✅ indoxhub-backend, branch production, runner indoxhub-backend |
| CI/CD |
✅ Prod + dev pipelines green, zero-downtime rollout |
| Frontend |
✅ Next.js 15 live at indoxhub.com — playground (arena multi-model), TTS/STT, account settings shipped |
| Backend |
✅ FastAPI healthy at api.indoxhub.com — SSE async streaming live across 9 providers (Phase 7B canary) |
| Resemble |
✅ TTS/STT/agents shipped, R2 mirror, billing fixed (Phase 6 complete) |
| Bedrock |
✅ Registered, Nova Micro live-validated |
| Rate Limiting |
✅ Per-user + per-tier in middleware, nginx zones (50r/s api, 10r/s admin), 429 + headers |
| chapar / hardcoded OAuth |
✅ Removed |
| Users |
0 paying customers |
| PyPI |
indoxhub package published; SDK has 429 detection but no auto-retry |
| Docs |
✅ Live at indoxhub.com/docs/ (mkdocs-material) |
🎯 NEXT TASK TO START
Pick: 3.16 — Free tier with signup credits (2hr)
Why this one:
- Smallest unblocker — Phase 4 launch outreach (4.5 "offer free credits", 4.11 "free credits for reviews") requires this to exist
- All Phase 0–2 infra blockers are clear; backend + billing already track credits
- Direct revenue/funnel impact vs. another internal feature
- 2 hours vs. 8–16 hours for the other Phase 3 items
Implementation sketch:
1. Backend: on user signup, grant N free credits via existing add_credits flow (app/db/billing_modules/add_credits.py)
2. Env var: SIGNUP_FREE_CREDITS (default 10000 tokens worth)
3. Frontend: surface "10K free tokens — no card required" on signup page
4. Audit: cap to one grant per email/IP to prevent abuse
Alternative if you want longer/higher-impact: 3.3 Auto-fallback routing (8hr) — competitive parity with OpenRouter, leverages existing provider abstraction.
PHASE 0: Stabilize ✅ COMPLETE
| # |
Task |
Status |
| 0.1 |
Fix prod CI/CD |
✅ Done |
| 0.2 |
Verify dev CI/CD |
✅ Done |
| 0.3 |
Verify prod containers healthy |
✅ Done |
| 0.4 |
/api/v1/health returns 200 |
✅ Done |
| 0.5 |
/robots.txt returns 200 |
✅ Done (Frontend/src/app/robots.ts) |
| 0.6 |
/sitemap.xml returns 200 |
✅ Done (Frontend/src/app/sitemap.ts, +8s timeout fix) |
PHASE 1: Visibility (Weeks 2-3)
Goal: Google indexes you, humans find you, social links look professional.
| # |
Task |
Details |
Time |
| 1.1 |
Add OG meta tags to all pages |
og:title, og:description, og:image, og:url, twitter:card — in layout.tsx or per-page metadata |
2hr |
| 1.2 |
Create OG image |
1200x630 branded image for link previews. Use Figma or Canva. |
1hr |
| 1.3 |
Add structured data (JSON-LD) |
Organization and WebApplication schema on homepage |
1hr |
| 1.4 |
Submit sitemap to Bing Webmaster Tools |
https://www.bing.com/webmasters — add site, submit sitemap |
15min |
| 1.5 |
Verify Google indexing after 7 days |
Check Search Console → Coverage → see which pages indexed |
15min |
1B: Homepage & Key Pages
| # |
Task |
Details |
Time |
| 1.6 |
Update homepage headline |
Change to: "One API for AI Text, Images, Video & Web Data" — clear value prop |
1hr |
| 1.7 |
Remove filler AI story prompts from homepage |
Replace with real feature demos, code snippets, model counts |
2hr |
| 1.8 |
Create/update pricing page (/upgrade) |
Tiers: Free (1K requests) / Developer $20 / Pro $50 / Team $200 / Enterprise contact |
3hr |
| 1.9 |
Add models count badge to homepage |
"200+ Models from 14+ Providers" — dynamic from API |
1hr |
| 1.10 |
Add code snippet to homepage |
Show 5-line Python quickstart with pip install indoxhub |
30min |
1C: Comparison & SEO Pages
| # |
Task |
Details |
Time |
| 1.11 |
Create /vs-openrouter comparison page |
Feature-by-feature comparison table. Target "OpenRouter alternative" searches |
3hr |
| 1.12 |
Create /vs-portkey comparison page |
Same format. Target "Portkey alternative" searches |
2hr |
| 1.13 |
Update /about_us page |
Team info, mission, Indox ecosystem overview |
1hr |
| 1.14 |
Add all new pages to sitemap.ts |
Update the static pages array |
15min |
1D: Profiles & Branding
| # |
Task |
Details |
Time |
| 1.15 |
Update Crunchbase profile |
Company: IndoxHub, Category: AI API Gateway, Description updated |
30min |
| 1.16 |
Update LinkedIn company page |
Banner, description, link to indoxhub.com |
30min |
| 1.17 |
Update Twitter/X bio |
"One API for 200+ AI Models. Text, Images, Video & Web Scraping." + link |
15min |
| 1.18 |
Update GitHub org (osllmai) description |
Match new branding |
15min |
| 1.19 |
Update indoxHub repo README on GitHub |
Add badges, demo GIF, quickstart, comparison table |
2hr |
| 1.20 |
301 redirect indoxrouter.com → indoxhub.com |
If you still own the domain. Set up in Cloudflare or registrar |
15min |
PHASE 2: Content & Infrastructure (Weeks 4-7)
Goal: Content drives traffic, infrastructure is clean, docs are live.
2A: Blog Posts
| # |
Task |
Details |
Target Keywords |
Time |
| 2.1 |
"IndoxHub vs OpenRouter: Which AI Gateway?" |
Feature comparison, pricing, unique features |
openrouter alternative |
3hr |
| 2.2 |
"How to Generate AI Videos via API" |
Tutorial with code samples using IndoxHub |
ai video generation api |
3hr |
| 2.3 |
"Web Scraping with AI: IndoxHub Guide" |
Show web scraping capability |
ai web scraping api |
2hr |
| 2.4 |
"Cheapest Way to Access Claude, GPT, Gemini" |
Price comparison table |
cheap ai api, ai api pricing |
2hr |
| 2.5 |
"Build a Multi-Modal AI App with One API Key" |
End-to-end tutorial: text + image + audio |
multi modal ai api |
3hr |
| 2.6 |
Cross-post all blogs to Dev.to, Medium, Hashnode |
Copy-paste with canonical URLs pointing to indoxhub.com |
— |
2hr |
2B: Video Content
| # |
Task |
Details |
Time |
| 2.7 |
YouTube: IndoxHub Demo Walkthrough (5-10 min) |
Sign up → get API key → make first call → show playground |
4hr |
| 2.8 |
YouTube: Video Generation API Demo |
Show text-to-video through IndoxHub |
3hr |
| 2.9 |
YouTube: "Migrate from OpenRouter in 2 Minutes" |
Show drop-in replacement with base_url change |
2hr |
| 2.10 |
Create YouTube channel with branding |
Banner, profile, description, links |
1hr |
2C: Documentation
| # |
Task |
Details |
Time |
| 2.11 |
Move docs from docs.indoxhub.com to indoxhub.com/docs |
Proxy mkdocs behind /docs path in nginx, or migrate to Docusaurus/Mintlify |
4hr |
| 2.12 |
Write API quickstart guide |
Authentication, first request, response format |
2hr |
| 2.13 |
Write models reference page |
All 200+ models with provider, pricing, context length, capabilities |
3hr |
| 2.14 |
Write SDK documentation |
Python: install, auth, chat, completions, embeddings, images, TTS, streaming |
3hr |
| 2.15 |
Write BYOK (Bring Your Own Key) guide |
How to use own provider keys through IndoxHub |
1hr |
| 2.16 |
Write error codes reference |
All error responses with explanations and fixes |
1hr |
2D: Server Consolidation (2 servers → 1)
| # |
Task |
Details |
Time |
| 2.17 |
Plan migration: which server stays? |
Evaluate: 8GB frontend vs 4GB backend. Likely keep 8GB |
1hr |
| 2.18 |
Set up nginx on single server |
Route: / → Next.js, /api/ → FastAPI, /admin/ → React admin, /docs → docs |
3hr |
| 2.19 |
Migrate backend Docker stack to frontend server |
Copy docker-compose, volumes, databases |
4hr |
| 2.20 |
Update Cloudflare DNS |
Point api.indoxhub.com to new single server IP |
15min |
| 2.21 |
Update CI/CD runner |
Re-register runner on new server |
1hr |
| 2.22 |
Test full deployment pipeline |
Push to dev and prod, verify both work |
1hr |
| 2.23 |
Decommission old server |
Archive, stop billing |
30min |
| 2.24 |
Clean up server paths |
Restructure to /home/indoxhub_backend/{production,development}/ |
2hr |
2E: Infra Cleanup
| # |
Task |
Details |
Time |
| 2.25 |
Rename all Docker containers indoxrouter → indoxhub |
docker-compose service names, container_name values |
2hr |
| 2.26 |
Remove old indoxrouterbackenduser and archived dirs |
After server merge confirmed working |
30min |
| 2.27 |
Fix refresh token error on frontend |
Investigate and fix the reported bug |
2hr |
| 2.28 |
Rotate Google OAuth credentials |
Update in Google Console + GitHub Secrets |
1hr |
| 2.29 |
Upgrade Next.js 15 → 16 |
After server merge. Test with next-intl, lottie-react compatibility |
4hr |
PHASE 3: Competitive Features (Weeks 8-10)
Goal: Features that differentiate IndoxHub from OpenRouter/Portkey.
3A: Core Gateway Features
| # |
Task |
Status |
Details |
Time |
| 3.1 |
Response Healing |
🟡 Not started |
Auto-fix malformed JSON before returning to user |
8hr |
| 3.2 |
Semantic Caching |
🟡 Not started |
Cache similar prompts using Redis + embeddings |
16hr |
| 3.3 |
Auto-fallback routing |
🟡 Not started |
If primary provider fails, auto-route to backup |
8hr |
| 3.4 |
Usage analytics dashboard |
🟡 Not started |
Per-model cost tracking, latency, token analytics in admin |
12hr |
| 3.5 |
Rate limiting per API key |
✅ Done |
Implemented: middleware + per-tier check_rate_limit + nginx zones + 429 + X-RateLimit-* headers |
— |
3B: Indox Ecosystem Integration (Unique Differentiators)
| # |
Task |
Details |
Time |
| 3.6 |
IndoxJudge API endpoint |
/v1/evaluate — benchmark any model on user's specific use case. Nobody else has this natively |
16hr |
| 3.7 |
IndoxMiner API endpoint |
/v1/extract — upload PDF/doc, get structured data via any model. Document-aware routing |
12hr |
| 3.8 |
Model comparison endpoint |
/v1/compare — send same prompt to N models, get side-by-side results with latency/cost/quality |
8hr |
| 3.9 |
IndoxGen synthetic data endpoint |
/v1/generate/synthetic — generate synthetic datasets for testing/training |
12hr |
3C: MCP Gateway Support
| # |
Task |
Details |
Time |
| 3.10 |
Basic MCP server support |
IndoxHub as MCP gateway — route tool calls through the API. 75% of gateways will have this by EOY per Gartner |
16hr |
| 3.11 |
MCP tool discovery endpoint |
List available MCP tools through IndoxHub |
4hr |
| 3.12 |
MCP authentication layer |
Centralized auth for MCP tool access |
8hr |
3D: Developer Experience
| # |
Task |
Status |
Details |
Time |
| 3.13 |
Python SDK v2 |
🟠 Partial |
indoxhub published on PyPI, raises RateLimitError on 429 — missing auto-retry/backoff |
8hr → ~3hr remaining |
| 3.14 |
TypeScript/Node SDK |
🟡 Not started |
npm install indoxhub |
8hr |
| 3.15 |
Web playground |
✅ Done |
Live with arena multi-model comparison + TTS/STT (commits 5e1b367, 55b77f4) |
— |
| 3.16 |
Free tier with signup credits |
🟡 Not started — NEXT |
10K free tokens on signup |
2hr |
PHASE 4: Launch & Acquire (Weeks 11-12)
Goal: First 10 paying customers.
4A: Launch Events
| # |
Task |
Details |
Time |
| 4.1 |
ProductHunt launch |
Prep: assets, tagline, description, screenshots, 10-15 upvoters lined up |
4hr prep + launch day |
| 4.2 |
HackerNews "Show HN" post |
"Show HN: IndoxHub — AI gateway with model evaluation, video gen, and web scraping" |
1hr |
| 4.3 |
Reddit posts |
r/LocalLLaMA, r/MachineLearning, r/artificial, r/SaaS — provide value, mention IndoxHub |
2hr |
4B: Direct Outreach
| # |
Task |
Details |
Time |
| 4.4 |
Find 50 OpenRouter users on Reddit/Twitter |
Search complaints, feature requests, pricing discussions |
3hr |
| 4.5 |
DM 20 potential users |
Offer free credits, show comparison |
2hr |
| 4.6 |
Search Twitter for OpenRouter/Portkey complaints |
Reply with alternative. Be helpful, not spammy |
ongoing |
| 4.7 |
Find GitHub repos using OpenRouter |
Open issues suggesting IndoxHub as alternative |
2hr |
| # |
Task |
Details |
Time |
| 4.8 |
Launch Discord community |
Activate existing Discord link. Create channels: announcements, support, feedback, showcase |
2hr |
| 4.9 |
Join AI developer Discord servers |
Provide value, mention IndoxHub when relevant |
ongoing |
| 4.10 |
Write integration guides |
"Use IndoxHub with LangChain", "Use IndoxHub with CrewAI", "Use IndoxHub with Claude Code" |
6hr |
4D: Partnerships
| # |
Task |
Details |
Time |
| 4.11 |
Reach out to AI YouTubers/bloggers |
Offer free credits for honest reviews |
2hr |
| 4.12 |
Chinese model spotlight content |
MiMo-V2-Pro, Qwen 3.6, DeepSeek V3.2 = 45% of OpenRouter traffic. Blog: "Access Chinese AI Models via IndoxHub" |
3hr |
| 4.13 |
Create affiliate/referral program |
Give referrers 20% credit for referred signups |
4hr |
Positioning Summary
Don't compete as "another OpenRouter." Position as:
"The AI gateway with built-in intelligence" — model evaluation, document extraction, synthetic data, video generation, and web scraping. All through one API key.
Feature Matrix: IndoxHub vs Competitors
| Feature |
IndoxHub |
OpenRouter |
Portkey |
Vercel AI Gateway |
| 200+ models |
✅ |
✅ 500+ |
✅ 1600+ |
✅ |
| Video generation |
✅ |
❌ |
❌ |
✅ (new) |
| Web scraping |
✅ |
❌ |
❌ |
❌ |
| Model evaluation (IndoxJudge) |
✅ |
❌ |
❌ |
❌ |
| Document extraction (IndoxMiner) |
✅ |
❌ |
❌ |
❌ |
| Synthetic data (IndoxGen) |
✅ |
❌ |
❌ |
❌ |
| BYOK |
✅ |
✅ |
✅ |
✅ |
| Semantic caching |
Phase 3 |
❌ |
✅ |
❌ |
| MCP Gateway |
Phase 3 |
Docs only |
✅ |
❌ |
| Guardrails |
Phase 4+ |
❌ |
✅ 60+ |
❌ |
| Response Healing |
Phase 3 |
✅ |
❌ |
❌ |
Success Metrics
| Metric |
Month 1 |
Month 2 |
Month 3 |
| Google indexed pages |
24+ |
40+ |
60+ |
| Monthly site visits |
500 |
2,000 |
5,000 |
| Registered users |
20 |
100 |
500 |
| Paying customers |
0 |
2-5 |
10+ |
| GitHub stars (indoxHub SDK) |
5 |
25 |
100 |
| Blog posts published |
3 |
5 |
6 |
| YouTube videos |
1 |
3 |
4 |
| API requests/day |
100 |
1,000 |
10,000 |
Rules
- Never manually edit
.env files on server — GitHub Secrets is source of truth
- No new features until Phase 0 is done — prod must be healthy first
- No framework upgrades (Next.js 16) until Month 2 — stability over shiny
- No new tool integrations (Onyx, oh-my-codex) until Phase 3 — focus
- Content before code — blog posts and docs drive more growth than features when you have 0 users
- One task at a time — finish before starting next