Juniro Product Status
Comprehensive view of product features, implementation status, and next steps.
Last Updated: February 17, 2026
Status Legendβ
| Status | Meaning |
|---|---|
| Done | Shipped and functional end-to-end |
| API Done | Backend API exists, needs frontend wiring |
| UI Done | Frontend UI exists, needs API wiring |
| In Progress | Actively being built |
| Planned | On roadmap, not started |
| Deferred | Not needed for MVP |
Executive Summaryβ
| Layer | Status | Notes |
|---|---|---|
| Pre-Launch (Waitlist) | β Done | Fully functional with CRM, email, analytics |
| Backend API | β MVP Done | 25 route modules, 32 DB models, Supabase Auth |
| Public Website | π‘ UI Done | Deployed but uses mock data |
| Parents Portal | π‘ UI Done | Deployed but uses mock data |
| Providers Portal | π‘ UI Done | Deployed but uses mock data |
| Admin Portal | π‘ UI Done | Deployed but uses mock data |
| FrontendβAPI Integration | β Not Done | Critical gap - frontends not connected to API |
Bottom Line: The API and UI are both built. The critical missing piece is wiring the frontends to the API.
Pre-Launch Phaseβ
| Parents | Status | Providers | Status | Common/Integration | Status |
|---|---|---|---|---|---|
| Launch page for waitlist signup | Done | Launch page for waitlist signup | Done | Viral Loops referral program | Done |
| Provider onboard form (custom) | Done | Loops email marketing | Done | ||
| Attio CRM integration | Done | Resend transactional emails | Done | ||
| Posthog analytics | Done | ||||
| WhatsApp (Gupshup) | Planned |
Backend API (juniro-api)β
Database Schema - 32 Models β β
| Model | Purpose | Status |
|---|---|---|
| User | Auth sync from Supabase | Done |
| AdminUser | Admin roles and invitations | Done |
| AdminAuditLog | Admin action audit trail | Done |
| Parent | Parent profiles | Done |
| Child | Child profiles | Done |
| ParentInterest | Category preferences | Done |
| Favorite | Parent activity wishlists | Done |
| ProviderAccount | Business accounts | Done |
| ProviderUser | Multi-staff support | Done |
| Location | Venues/facilities | Done |
| Activity | Programs/classes | Done |
| Offering | Pricing variants | Done |
| Session | Scheduled instances | Done |
| Booking | Enrollments | Done |
| Payment | Transactions | Done |
| Review | Ratings/feedback | Done |
| Category | Activity taxonomy | Done |
| Country/City/Locality | Geography | Done |
| Plan | Freemium pricing plans | Done |
| PlanFeature | Features per plan | Done |
| Subscription | Provider subscriptions | Done |
| AddonPurchase | Provider addon purchases | Done |
| FeatureFlag | Feature flags | Done |
| Notification | In-app notifications | Done |
| NotificationPreference | Notification settings | Done |
| Conversation/Message | Messaging system | Done |
| SupportTicket | Support tickets | Done |
| Content | CMS (blog, FAQ, guides) | Done |
| IdempotencyKey | Request deduplication | Done |
API Endpoints - 25 Route Modules β β
| Module | Endpoints | Status |
|---|---|---|
| Health | GET /health (liveness, readiness) | Done |
| Config | Feature flags config | Done |
| Auth | POST /auth/sync, DELETE /auth/account | Done |
| Me | GET /me, GET /me/region-check | Done |
| Parents | Profile CRUD, children CRUD, interests | Done |
| Providers | Account CRUD, locations, staff management | Done |
| Activities | Search, CRUD, status transitions | Done |
| Offerings | Pricing variants (single/multi/camp/term) | Done |
| Sessions | Scheduling, capacity, enrollment | Done |
| Bookings | Create, status updates, cancellation | Done |
| Payments | Payment processing | Done |
| Reviews | Submit, list, provider responses | Done |
| Admin Reviews | Admin review moderation | Done |
| Categories | Hierarchical taxonomy | Done |
| Geography | Countries, cities, localities | Done |
| Favorites | Parent activity wishlists | Done |
| Newsletter | Newsletter subscriptions | Done |
| Uploads | File uploads (logos, images) | Done |
| Plans | Freemium plans & subscriptions | Done |
| Support | Support tickets | Done |
| Content | Blog, FAQ, guides, announcements | Done |
| Notifications | In-app notifications | Done |
| Messaging | Conversations and messages | Done |
| Admin Users | Admin user management | Done |
| AI | AI-powered features | Done |
Integrationsβ
| Service | Purpose | Status |
|---|---|---|
| Supabase Auth | JWT authentication | Done |
| PostgreSQL 16 | Database | Done |
| Prisma | ORM | Done |
| Resend | Transactional email | Done |
| OpenAPI/Scalar | API docs at /docs | Done |
| Stripe | US payments | Config ready, SDK not yet installed |
| Razorpay | India payments | Config ready, SDK not yet installed |
What's Missing in APIβ
| Feature | Priority | Notes |
|---|---|---|
| Payment SDKs | P0 | Install Stripe/Razorpay, implement webhooks |
| Email notifications | P0 | Booking confirmations via Resend |
| AI SDKs | P2 | Install Groq/Together AI SDKs for semantic search |
Public Website (juniro-web-public)β
| Feature | UI Status | API Status | Wired? |
|---|---|---|---|
| Homepage | Done | N/A (static) | β |
| Activity search | Done | Done | β Uses mock |
| Activity detail | Done | Done | β Uses mock |
| Provider profiles | Done | Done | β Uses mock |
| Booking flow | Done | Done | β Uses mock |
| User login/signup | Done | Done | β Demo only |
| Blog/Resources | Done | N/A | β Static |
| Support/FAQ | Done | N/A | β Static |
Deployment: https://juniro.com (Vercel, static export)
Parents Portal (juniro-web-parents)β
| Feature | UI Status | API Status | Wired? |
|---|---|---|---|
| Dashboard | Done | Partial | β |
| Search activities | Done | Done | β |
| View activity detail | Done | Done | β |
| Book session | Done | Done | β |
| My bookings | Done | Done | β |
| Family calendar | Done | Planned | β |
| Children management | Done | Done | β |
| Profile settings | Done | Done | β |
| Messages | Done | Planned | β |
| Notifications | Done | Planned | β |
| Reviews | Done | Done | β |
| Favorites | Done | Planned | β |
| Login/Signup | Done | Done | β Demo only |
Deployment: https://juniro-web-parents.vercel.app (static export)
Providers Portal (juniro-web-providers)β
| Feature | UI Status | API Status | Wired? |
|---|---|---|---|
| Dashboard | Done | Partial | β |
| Classes management | Done | Done | β |
| Create activity | Done | Done | β |
| Manage offerings | Done | Done | β |
| Schedule/sessions | Done | Done | β |
| Bookings | Done | Done | β |
| Students | Done | Done | β |
| Attendance | Done | Planned | β |
| Messages | Done | Planned | β |
| Reviews | Done | Done | β |
| Analytics | Done | Planned | β |
| Settings | Done | Done | β |
| Login/Signup | Done | Done | β Demo only |
Deployment: https://juniro-web-providers.vercel.app (static export)
Admin Portal (juniro-web-admin)β
| Feature | UI Status | API Status | Wired? |
|---|---|---|---|
| Dashboard | Done | Planned | β |
| Parents management | Done | Done | β |
| Providers management | Done | Done | β |
| Activities management | Done | Done | β |
| Bookings management | Done | Done | β |
| Billing | Done | Partial | β |
| Analytics | Done | Planned | β |
| Content management | Done | Planned | β |
| Support tickets | Done | Planned | β |
| Platform settings | Done | Planned | β |
| Admin users | Done | Planned | β |
Deployment: https://juniro-web-admin.vercel.app (static export) Access: Login required (invite-only, no self-registration)
Integration Status Summaryβ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CURRENT STATE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Public β β Parents β β Providers β β
β β Website β β Portal β β Portal β β
β β (UI Done) β β (UI Done) β β (UI Done) β β
β ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ β
β β β β β
β β MOCK DATA β MOCK DATA β β
β β ββββββββββββ β ββββββββββββ β β
β βΌ βΌ βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β β NOT CONNECTED β β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β juniro-api β β
β β (MVP DONE - 9,000 LOC) β β
β β β β
β β β
Auth β
Parents β
Providers β
Activities β β
β β β
Sessions β
Bookings β
Reviews β
Categoriesβ β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β PostgreSQL + Supabase Auth β β
β β (Ready) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Priority Roadmapβ
Phase 1: Wire Frontends to API (2-3 weeks)β
| Task | Effort | Impact |
|---|---|---|
| β Done (TASK-004/005/006) | ||
| Wire public site search to API | 2 days | Real activity discovery |
| Wire booking flow to API | 3 days | Core transaction |
| Wire parent profile/children to API | 2 days | User data |
| Wire provider dashboard to API | 3 days | Provider value |
Phase 2: Payment Integration (1-2 weeks)β
| Task | Effort | Impact |
|---|---|---|
| Implement Stripe webhooks | 3 days | US payments |
| Implement Razorpay webhooks | 3 days | India payments |
| Wire payment UI to API | 2 days | End-to-end booking |
Phase 3: Communications (1 week)β
| Task | Effort | Impact |
|---|---|---|
| Booking confirmation emails | 2 days | User experience |
| Provider notification emails | 2 days | Provider engagement |
| WhatsApp notifications (Gupshup) | 3 days | India market |
Phase 4: Admin & Polish (2 weeks)β
| Task | Effort | Impact |
|---|---|---|
| Admin API endpoints | 5 days | Operations |
| Wire admin portal to API | 3 days | Management |
| Analytics dashboards | 3 days | Insights |
What's Actually Live Todayβ
| Component | URL | Status |
|---|---|---|
| Public Website | https://juniro.com | β Live (waitlist mode) |
| Parents Portal | https://juniro-web-parents.vercel.app | β Deployed (demo mode) |
| Providers Portal | https://juniro-web-providers.vercel.app | β Deployed (demo mode) |
| Admin Portal | https://juniro-web-admin.vercel.app | β Deployed (invite-only login) |
| API | https://api.us.juniro.com | π‘ Ready (not connected) |
| API Docs | https://api.us.juniro.com/docs | β Available |
What's Collecting Real Dataβ
| System | Purpose | Data |
|---|---|---|
| Viral Loops | Referral program | Referral signups |
| Loops | Email marketing | Waitlist subscribers |
| Posthog | Analytics | Page views, events |
| Attio | CRM | Provider leads |
| Custom onboard page | Provider onboarding | juniro.com/providers/onboard |
| Resend | Transactional email | Email delivery |
Key Technical Decisionsβ
| Decision | Current Choice | Status |
|---|---|---|
| Auth provider | Supabase Auth | β Implemented in API |
| Database | PostgreSQL + Prisma | β Schema deployed |
| API framework | Hono | β Built |
| Frontend framework | Next.js 15 | β All portals |
| Hosting | Vercel | β All deployed |
| Payments (US) | Stripe | Config ready, SDK not installed |
| Payments (India) | Razorpay | Config ready, SDK not installed |
| Resend | β Configured | |
| Gupshup | Planned |
Repository Summaryβ
| Repo | Purpose | LOC | Status |
|---|---|---|---|
| juniro-design | Design system | 409 components | β Mature |
| juniro-web-launch | Pre-launch site (juniro.com) | - | β Live |
| juniro-web-public | Public website | ~15K | UI Done, needs API |
| juniro-web-parents | Parents portal | ~12K | UI Done, needs API |
| juniro-web-providers | Providers portal | ~12K | UI Done, needs API |
| juniro-web-admin | Admin portal | ~10K | UI Done, needs API |
| juniro-api | Backend API | ~9K | β MVP Done |
| juniro-docs | Documentation | - | β Maintained |
| juniro-infra | Scripts/CI | - | β Working |
Critical Path to Launchβ
1. β
Wire auth (Supabase) to all frontends βββ
2. β
Wire search/discovery to API β
3. Wire booking flow to API βββ MVP Launch
4. Implement payment webhooks β
5. Add booking confirmation emails βββ
6. Wire provider dashboard βββ
7. Wire admin portal βββ Full Launch
8. Add WhatsApp notifications βββ
Estimated time to MVP launch: 3-4 weeks of focused development
This document reflects actual codebase analysis as of February 17, 2026.