Institutions meet through cookies, conversation and culture.
V2 is the cultural-exchange network: memberships, an intelligent matching engine and brand-new peer-to-peer video sessions between schools — built for fun, safe cross-border conversation.
From solo sessions to institution-to-institution exchange
There is no third-party host in the equation. Schools and colleges buy annual memberships and connect directly with peer institutions:
Live matching engine
Availability and membership changes trigger matching. Suitable offers respect both institutions’ hours and calendars; the nightly sweep adds fairness and repair.
Two geo pools
India-interstate exchanges, and international exchanges (never within the same country) — enforced automatically.
Branded video sessions
WebRTC with a shared clock and agenda, normally 40 minutes. Delayed starts still receive the full duration; reconnecting resumes the same clock.
Memberships & top-ups
Oldest usable plan credits are effective first. Top-ups follow the plan-stack rules; returned credits keep their individually attributed validity.
Smart notifications
Offers, requests, reminders, feedback, credit returns and postcard readiness — in-app/web push respecting notification preferences.
Admin control room
Program Flow, read-only match/member monitoring, themes, coupons and audit records. Plain-language stage explanations include optional technical detail.
Safety & presence by design
Institution accounts complete their profile and availability before matching. Coordinators facilitate their classes through a shared, guided agenda, normally 40 minutes. The app shows partner locations rather than institution identities; authorized admins monitor program records and live presence separately from historical attendance.
How the business works
Membership plans
One active membership can hold multiple plan bundles. Prices include applicable GST; privately shared discount codes are validated at checkout.
Economics at a glance
- Recurring revenueAnnual memberships; renewals stacked on top of remaining credits create a natural re-buy cadence.
- Credit-based capacityEach finalized program consumes exactly 1 credit per institution. Payment/invoice records—not credit usage—measure money collected.
- Region-gated plansIndia plans (₹) drive domestic growth; an international plan ($) opens global markets without same-country pairing.
- Organic distributionCoupon generator + WhatsApp support keep acquisition lightweight for school coordinators.
The member journey
Choose a plan
Schools & colleges pick a membership that fits their program budget for the year.
Profile & availability
Complete the institution profile, confirm its time zone, then choose age-banded weekly windows and School/College Hours.
Find suitable offers
Offers respect geography, compatible age bands, usable credit category, hours and off days. No suitable partner right now is an honest possible outcome.
Both institutions confirm
One confirmation is still an offer. Both confirmations book the program and consume one eligible credit from each institution exactly once.
Connect and share
The shared clock starts when both booked participants connect, for the full configured duration. A private postcard follows genuine completion.
Top up & renew
Using the last credit does not block an unfinished booking. Renew through the usual checkout to add credits and return directly to bookings.
The Available screen
One list, three buckets. A first confirmation stays pending; both confirmations move the booked program to My Bookings. The feed refreshes while visible and hides offers that are no longer bookable.
The other side already requested — one click confirms.
Waiting on the other institution to confirm.
Newly proposed pairings ordered by how close they are to your preferred time.
The admin control room
Architecture & internals
Data model, at a glance
| memberships | One active membership per institution; credits, credits used, expiry, coupons, payment refs. |
| preferred_slots | Per-age-group weekly windows — each [day, time] slot serves one age group; the source of truth the engine matches on. |
| match_proposals | Pairing record: pair, theme, proposed day/window, per-side confirmation timestamps, status. |
| programs | Booked matched programs with scheduled UTC window, actual shared clock, lifecycle version and outcome. |
| program_credit_debits | Private exactly-once debit attribution and original-expiry credit returns. |
| participant_access_sessions · program_notification_outbox | Private verified-session access and durable lifecycle announcements. |
| program_postcards | Both PNG sizes and capture frames in private storage; byte-level ownership/admin authorization. |
| match_themes · theme_schedules | Managed topic roster + featured month windows (weeks removed). |
| coupons · admin_invites · password_reset_tokens | Commerce, admin bootstrap, and self-managed resets. |
How matching really runs
- 1 · Availability and membership changes trigger a participant-scoped pass. A bounded pass can report that matching is still in progress; the nightly sweep adds fairness and repair.
- 2 · Compatible age bands, different geography, usable credit category, saved hours and off days govern eligibility. Preferred-window overlap ranks offers; a fallback can use one institution’s filed time that both can attend.
- 3 · Interstate programs need Interstate credits; programs between different countries need International credits. The oldest usable plan entry determines the current category.
- 4 · Audience-appropriate monthly/calendar themes rotate by how recently each institution saw them. Recently shown themes move back; repeats can eventually occur.
- 5 · Both institutions must confirm before the program, its two bookings and one credit debit per institution are recorded atomically.
Security & trust
- Row-level security on every table — users only ever see their own data (admins via service role).
- Booking is atomic and retry-safe: both bookings and both attributed credit debits succeed together. Money is recorded separately through verified payment processing.
- Razorpay webhook verified with HMAC-SHA256; server-side coupon re-validation on every free path.
- Tokens for admin invites and password resets are single-use, expiring, stored as SHA-256 hashes only.
- First-claim wins: once a window is booked, overlapping open proposals are atomically expired.
Test scenarios for the review phase
Use synthetic institution accounts and an admin in a disposable development database with matching test-mode integrations. These scenarios describe expected product behaviour; never simulate bookings, no-shows, coupon use or payments against real schools in production.
Onboarding & access
Purchase & membership
Matching & booking
Live sessions
Ops & data
Ready when you are.
This documentation is kept close to the build. Point of contact for sourcing is the institutional support line on WhatsApp — and the internal system reference lives alongside the codebase.