Skip to main content

Juniro Product Status

Comprehensive view of product features, implementation status, and next steps.

Last Updated: February 17, 2026


Status Legend​

StatusMeaning
DoneShipped and functional end-to-end
API DoneBackend API exists, needs frontend wiring
UI DoneFrontend UI exists, needs API wiring
In ProgressActively being built
PlannedOn roadmap, not started
DeferredNot needed for MVP

Executive Summary​

LayerStatusNotes
Pre-Launch (Waitlist)βœ… DoneFully functional with CRM, email, analytics
Backend APIβœ… MVP Done25 route modules, 32 DB models, Supabase Auth
Public Website🟑 UI DoneDeployed but uses mock data
Parents Portal🟑 UI DoneDeployed but uses mock data
Providers Portal🟑 UI DoneDeployed but uses mock data
Admin Portal🟑 UI DoneDeployed but uses mock data
Frontend↔API Integration❌ Not DoneCritical 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​

ParentsStatusProvidersStatusCommon/IntegrationStatus
Launch page for waitlist signupDoneLaunch page for waitlist signupDoneViral Loops referral programDone
Provider onboard form (custom)DoneLoops email marketingDone
Attio CRM integrationDoneResend transactional emailsDone
Posthog analyticsDone
WhatsApp (Gupshup)Planned

Backend API (juniro-api)​

Database Schema - 32 Models βœ…β€‹

ModelPurposeStatus
UserAuth sync from SupabaseDone
AdminUserAdmin roles and invitationsDone
AdminAuditLogAdmin action audit trailDone
ParentParent profilesDone
ChildChild profilesDone
ParentInterestCategory preferencesDone
FavoriteParent activity wishlistsDone
ProviderAccountBusiness accountsDone
ProviderUserMulti-staff supportDone
LocationVenues/facilitiesDone
ActivityPrograms/classesDone
OfferingPricing variantsDone
SessionScheduled instancesDone
BookingEnrollmentsDone
PaymentTransactionsDone
ReviewRatings/feedbackDone
CategoryActivity taxonomyDone
Country/City/LocalityGeographyDone
PlanFreemium pricing plansDone
PlanFeatureFeatures per planDone
SubscriptionProvider subscriptionsDone
AddonPurchaseProvider addon purchasesDone
FeatureFlagFeature flagsDone
NotificationIn-app notificationsDone
NotificationPreferenceNotification settingsDone
Conversation/MessageMessaging systemDone
SupportTicketSupport ticketsDone
ContentCMS (blog, FAQ, guides)Done
IdempotencyKeyRequest deduplicationDone

API Endpoints - 25 Route Modules βœ…β€‹

ModuleEndpointsStatus
HealthGET /health (liveness, readiness)Done
ConfigFeature flags configDone
AuthPOST /auth/sync, DELETE /auth/accountDone
MeGET /me, GET /me/region-checkDone
ParentsProfile CRUD, children CRUD, interestsDone
ProvidersAccount CRUD, locations, staff managementDone
ActivitiesSearch, CRUD, status transitionsDone
OfferingsPricing variants (single/multi/camp/term)Done
SessionsScheduling, capacity, enrollmentDone
BookingsCreate, status updates, cancellationDone
PaymentsPayment processingDone
ReviewsSubmit, list, provider responsesDone
Admin ReviewsAdmin review moderationDone
CategoriesHierarchical taxonomyDone
GeographyCountries, cities, localitiesDone
FavoritesParent activity wishlistsDone
NewsletterNewsletter subscriptionsDone
UploadsFile uploads (logos, images)Done
PlansFreemium plans & subscriptionsDone
SupportSupport ticketsDone
ContentBlog, FAQ, guides, announcementsDone
NotificationsIn-app notificationsDone
MessagingConversations and messagesDone
Admin UsersAdmin user managementDone
AIAI-powered featuresDone

Integrations​

ServicePurposeStatus
Supabase AuthJWT authenticationDone
PostgreSQL 16DatabaseDone
PrismaORMDone
ResendTransactional emailDone
OpenAPI/ScalarAPI docs at /docsDone
StripeUS paymentsConfig ready, SDK not yet installed
RazorpayIndia paymentsConfig ready, SDK not yet installed

What's Missing in API​

FeaturePriorityNotes
Payment SDKsP0Install Stripe/Razorpay, implement webhooks
Email notificationsP0Booking confirmations via Resend
AI SDKsP2Install Groq/Together AI SDKs for semantic search

Public Website (juniro-web-public)​

FeatureUI StatusAPI StatusWired?
HomepageDoneN/A (static)βœ…
Activity searchDoneDone❌ Uses mock
Activity detailDoneDone❌ Uses mock
Provider profilesDoneDone❌ Uses mock
Booking flowDoneDone❌ Uses mock
User login/signupDoneDone❌ Demo only
Blog/ResourcesDoneN/Aβœ… Static
Support/FAQDoneN/Aβœ… Static

Deployment: https://juniro.com (Vercel, static export)


Parents Portal (juniro-web-parents)​

FeatureUI StatusAPI StatusWired?
DashboardDonePartial❌
Search activitiesDoneDone❌
View activity detailDoneDone❌
Book sessionDoneDone❌
My bookingsDoneDone❌
Family calendarDonePlanned❌
Children managementDoneDone❌
Profile settingsDoneDone❌
MessagesDonePlanned❌
NotificationsDonePlanned❌
ReviewsDoneDone❌
FavoritesDonePlanned❌
Login/SignupDoneDone❌ Demo only

Deployment: https://juniro-web-parents.vercel.app (static export)


Providers Portal (juniro-web-providers)​

FeatureUI StatusAPI StatusWired?
DashboardDonePartial❌
Classes managementDoneDone❌
Create activityDoneDone❌
Manage offeringsDoneDone❌
Schedule/sessionsDoneDone❌
BookingsDoneDone❌
StudentsDoneDone❌
AttendanceDonePlanned❌
MessagesDonePlanned❌
ReviewsDoneDone❌
AnalyticsDonePlanned❌
SettingsDoneDone❌
Login/SignupDoneDone❌ Demo only

Deployment: https://juniro-web-providers.vercel.app (static export)


Admin Portal (juniro-web-admin)​

FeatureUI StatusAPI StatusWired?
DashboardDonePlanned❌
Parents managementDoneDone❌
Providers managementDoneDone❌
Activities managementDoneDone❌
Bookings managementDoneDone❌
BillingDonePartial❌
AnalyticsDonePlanned❌
Content managementDonePlanned❌
Support ticketsDonePlanned❌
Platform settingsDonePlanned❌
Admin usersDonePlanned❌

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)​

TaskEffortImpact
Replace mock auth with Supabase Auth in all frontends3 daysβœ… Done (TASK-004/005/006)
Wire public site search to API2 daysReal activity discovery
Wire booking flow to API3 daysCore transaction
Wire parent profile/children to API2 daysUser data
Wire provider dashboard to API3 daysProvider value

Phase 2: Payment Integration (1-2 weeks)​

TaskEffortImpact
Implement Stripe webhooks3 daysUS payments
Implement Razorpay webhooks3 daysIndia payments
Wire payment UI to API2 daysEnd-to-end booking

Phase 3: Communications (1 week)​

TaskEffortImpact
Booking confirmation emails2 daysUser experience
Provider notification emails2 daysProvider engagement
WhatsApp notifications (Gupshup)3 daysIndia market

Phase 4: Admin & Polish (2 weeks)​

TaskEffortImpact
Admin API endpoints5 daysOperations
Wire admin portal to API3 daysManagement
Analytics dashboards3 daysInsights

What's Actually Live Today​

ComponentURLStatus
Public Websitehttps://juniro.comβœ… Live (waitlist mode)
Parents Portalhttps://juniro-web-parents.vercel.appβœ… Deployed (demo mode)
Providers Portalhttps://juniro-web-providers.vercel.appβœ… Deployed (demo mode)
Admin Portalhttps://juniro-web-admin.vercel.appβœ… Deployed (invite-only login)
APIhttps://api.us.juniro.com🟑 Ready (not connected)
API Docshttps://api.us.juniro.com/docsβœ… Available

What's Collecting Real Data​

SystemPurposeData
Viral LoopsReferral programReferral signups
LoopsEmail marketingWaitlist subscribers
PosthogAnalyticsPage views, events
AttioCRMProvider leads
Custom onboard pageProvider onboardingjuniro.com/providers/onboard
ResendTransactional emailEmail delivery

Key Technical Decisions​

DecisionCurrent ChoiceStatus
Auth providerSupabase Authβœ… Implemented in API
DatabasePostgreSQL + Prismaβœ… Schema deployed
API frameworkHonoβœ… Built
Frontend frameworkNext.js 15βœ… All portals
HostingVercelβœ… All deployed
Payments (US)StripeConfig ready, SDK not installed
Payments (India)RazorpayConfig ready, SDK not installed
EmailResendβœ… Configured
WhatsAppGupshupPlanned

Repository Summary​

RepoPurposeLOCStatus
juniro-designDesign system409 componentsβœ… Mature
juniro-web-launchPre-launch site (juniro.com)-βœ… Live
juniro-web-publicPublic website~15KUI Done, needs API
juniro-web-parentsParents portal~12KUI Done, needs API
juniro-web-providersProviders portal~12KUI Done, needs API
juniro-web-adminAdmin portal~10KUI Done, needs API
juniro-apiBackend API~9Kβœ… MVP Done
juniro-docsDocumentation-βœ… Maintained
juniro-infraScripts/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.