10 Minute School Teardown
A feature-by-feature map of 10 Minute School (10MS), Bangladesh's largest edtech platform: what it sells, how a student moves through it, and what it would take to build something comparable. Everything under observed comes from the live website, the Google Play and App Store listings, and course pages. Items tagged proposed are my design for a comparable platform, not something 10MS has published.
What 10MS does
- Runs year-long online batches for Class 6–12 that follow the national (NCTB) curriculum, with live classes, recordings, printed Masterbooks and exams.
- Gives away a large free layer (YouTube, free courses, suggestions, lecture sheets) that feeds paid enrolments.
- Sells English (online and in five offline centres), skills & IT, and job-exam courses to older learners.
- Sells printed books through its own store, and grows through affiliates and a 24/7 sales hotline.
Who it serves
- School students Class 1–10 and SSC candidates.
- College students HSC 2026–2028 and university admission (A/B/C Unit + cluster exams).
- Young adults preparing for IELTS, study abroad, BCS, bank and government jobs.
- Professionals and freelancers learning design, programming, communication and MS Office.
- Parents (counselling sessions at offline centres) and kids (Kids' English, KG–Class 5).
User journeys
The paths a learner takes through the product, step by step. Journeys tagged Captured logged in were walked in a real account; the others are built from the website and course pages. Dashed steps are alternatives or branches.
Architecture
Current platform (observed from outside)
- The website is server-rendered Next.js (it ships Next.js meta tags) with Bangla as the default locale and English under
/en. - Every sellable thing lives at
/product/<slug>/: batches, skills courses, books, free courses. Catalogue pages sit at/categories/<slug>/,/skills/,/jobs-prep,/store/all/. - Two image CDNs:
cdn.10minuteschool.comandlm10-cdn.10minuteschool.com, with on-the-fly resize via?w=&h=. - Native Android and iOS apps carry the learning experience (live, recordings, quizzes, TenTen, downloads). Reviewers note there is no desktop app.
- Separate subdomains for side systems:
app.(policies),affiliation.(affiliate sign-up),affiliate-verification.,study-abroad.. - Publishes an
llms.txtdescribing every product for AI assistants. - Teacher recruitment runs on a Google Form.
- Recorded classes block screenshots in the app (a reviewer complaint), which points to DRM or secure-screen flags on video.
- Backend languages, databases and cloud come from a 10MS job ad; see the stack table below.
Observed tech stack
What 10MS actually runs, pieced together from the live site and public sources. The confidence column says how sure each line is.
| Layer | Technology | Evidence | Confidence |
|---|---|---|---|
| Web frontend | Next.js (React), server-rendered; Bangla default, English at /en | Next.js meta tags in every page; /en routes | Confirmed |
| Edge / CDN | Cloudflare in front of the site; own image CDNs cdn. and lm10-cdn.10minuteschool.com with ?w=&h= resizing | Cloudflare email-protection script on contact emails; image URLs | Confirmed |
| Backend languages | Node.js (JavaScript) and Go | 2023 job ad: Senior Product Engineer, Backend (Node.js / Golang) | Job ad |
| Databases | MySQL and MongoDB | Same job ad | Job ad |
| Cloud | AWS: S3, SQS, SNS, ElastiCache (Redis), Lambda | Same job ad, listed as "good to have" | Job ad |
| Mobile apps | Flutter (Android + iOS) | Former 10MS app developer's profile (2018); may have changed since | Likely |
| Analytics & ads | Google Analytics, Google Ads tags | _ga / _gcl_au parameters on site links | Confirmed |
| Free-class video | YouTube embeds | Past-class recordings on the booked class page play in a YouTube player | Confirmed |
| Support & community | Third-party live-chat widget; Facebook groups per batch; Google Forms for teacher sign-up | Seen on site | Confirmed |
| Company / apps | Apps published by 10MS TECH PTE. LTD. (Singapore) | Google Play developer listing | Confirmed |
| Live classes, paid video & DRM, payments, TenTen AI | Not visible | Need an enrolled course or a payment to inspect | Unknown |
Sources: 10MS backend job ad (2023) · former 10MS app developer profile · Google Play listing · the live site, 20 Oct 2026.
Comparable platform proposed
My suggested design for building something similar. To mirror 10MS more closely, swap PostgreSQL for MySQL + MongoDB and run Node.js / Go services on AWS.
Requests flow top to bottom. Each backend module lists the outside service it depends on, colour-matched to the bottom row.
Web app
Next.js · catalogue, checkout, SEO pages
Mobile app
Flutter / React Native · learning, offline downloads
Admin & teacher console
content, schedules, batches, reports
API gateway
OTP login → JWT · rate limiting · device limit (20 per account)
Catalogue
products, batches, courses, bundles
Orders & payments
checkout, pay links, coupons, affiliates
Payment gatewayLMS
lessons, progress, certificates
Video CDNLive classes
routine, free-class slots, attendance, polls
Live videoAssessment
question bank, SuperPrep quizzes, ranks
AI tutor
TenTen-style photo → solution
Vision LLMEngagement
streaks, learning report, recap, notices
SMS / pushCommerce
Masterbooks, shipping
Offline centres
bookings, parent counselling
PostgreSQL
all records
Redis
leaderboards, cache, queues
Object storage
PDFs, avatars, uploads
Workers
ranking, certificates, notifications
Live video
Agora / Zoom SDK
Video CDN + DRM
HLS, offline licences
Vision LLM + OCR
grounded on curriculum
Payment gateway
bKash, Nagad, SSLCommerz
SMS / push
OTP, reminders
Key design choices
- One product table for everything sold, with a
type(batch, course, bundle, book, free). This mirrors how 10MS routes every product through/product/. - Enrolment is the single access record: payment, free sign-up, bundle and gift all end in an enrolment row with an expiry.
- Leaderboards and national rank are computed in Redis sorted sets from quiz attempts, then snapshotted daily.
Bangladesh-specific
- OTP login by email (observed) or phone, so no password is needed to start; a password is set during onboarding.
- Mobile wallets (bKash, Nagad) matter more than cards. "Pay for a friend" links let a parent pay remotely.
- Offline video downloads with licence expiry, because data is costly and connections drop.
- Bangla-first UI and content, Bangla numerals in prices.
Product areas & menus
The full product tree, taken from the website navigation, homepage sections, catalogue pages and footer. Menu labels are translated from Bangla where needed.
Features: screenshot + sketch
Each feature shows its screens (click to enlarge) beside a wireframe of the layout. Features tagged Captured logged in use real screenshots from a logged-in web session; the rest use official images 10MS publishes. Captured screenshots ship in the zip; official images load from the shots/ folder after you run the download script, or from 10MS's servers while online.
Pricing seen
Prices listed on the website on 20 Oct 2026, in BDT. Struck-through numbers are the listed "before" price. Online batch prices were not shown in the catalogue and need a product-page check.
| Course | Area | Instructor | Price (৳) |
|---|
Database tables proposed
Tables needed to support every feature above on a comparable platform. Every table also carries created_at and updated_at, so those are left out. PK marks the primary key and → table a foreign key.
API routes proposed
A REST API under /api/v1, grouped by area. Click a route for an example request and response. List routes accept ?q=&page=&per_page= and return { data: [...], meta: { page, per_page, total } }.
Findings & open questions
What 10MS does well
- Free-to-paid funnel. Free Super Courses, exam suggestions and YouTube content lead straight into paid online batches.
- Branded learning loop. Super Live Class, SuperPrep and SuperSolve/TenTen each own one job: teach, practise, unblock.
- AI doubt solving by photo upload, available 24/7, with partial access as a free-tier teaser.
- Online + offline. Five English centres add trust with parents and a physical sales channel.
- Low-friction buying. 24/7 hotline, pay-for-a-friend links and affiliates.
Weak spots (from user reviews)
- No desktop app; the learning app is phone-only.
- Practice feels too short or easy for some students.
- Screenshots blocked on recorded classes, which annoys students who take visual notes.
- Playback bugs: recorded classes stuck on "please wait" after pressing start.
- The site's catalogue pages hide batch prices, so comparing options takes extra clicks.
Questions to settle before building something similar
- Which segment first: Class 6–12 batches, English, skills, or job prep? 10MS covers all four, but each needs its own content team.
- Live classes: build on a video SDK, or start with recorded content plus scheduled Q&A?
- AI tutor scope: free text only, or photo-of-a-problem like TenTen? Which curriculum does it ground on?
- Physical books: own the printing and courier, or partner?
- Payment rails: which wallets and gateway, and do you need pay-links for parents?
- Offline centres: in scope, or online only?
- Content protection: how strict? Blocking screenshots is a known pain point.
Gaps a competitor could take
- A web/desktop learning app with the same features as mobile.
- Adaptive practice that gets harder as students improve.
- Annotated note-taking inside recordings instead of screenshot blocking.
- Transparent pricing in catalogue cards.
- Parent dashboard online (10MS offers counselling only in offline centres).
Bugs & rough edges seen while logged in
- Test products on the live dashboard: "Bkash Test Product" and "RCT Product 4" appear under "English courses for you".
- Broken link: dashboard "See all" goes to
/undefined/popular-courses/. - Price mismatch: search shows HSC 28 Physics as "Free"; its product page charges ৳2000.
- Wrong button label: the free AI course still says "Buy course" (কোর্সটি কিনুন).
- Onboarding popup can't be closed without answering; the dashboard is blocked until then.
- SuperPrep "Continue" does nothing before a class is chosen, with no message why.
- Harsh empty state: a brand-new user with 0 classes is told their attendance is unsatisfactory.
- Mixed languages: the store page switches the header to English (Dashboard, Explore) while the rest is Bangla; Delivery Address, My Order and "No payment method found!" are English-only.
- Grouping label: Explore page puts Class 5 under "Class 6–8".
- Missing page title: the SuperPrep product page has an empty
<title>. - Orders page shows Previous/Next paging but no empty-state message.
- Booked class not on dashboard: after booking, the dashboard still shows the onboarding popup and no upcoming class; the class selector turns into a blank grey pill.
- Free class entry is HSC-only: the homepage "Free class (HSC)" wizard offers just HSC 2028, though the page title says Class 6–HSC.
Coverage
Which screens this teardown has actually seen. Captured screens were browsed in a logged-in web session on 20 Oct 2026, without buying, enrolling or changing account settings.
Captured (web, logged in)
- Sign-up: profile info, profile photo, onboarding steps 1–2
- Dashboard (with and without onboarding popup), learning report, recap, my courses, free bookings, subscription, notices, support chat
- Profile menu, profile, change password, devices, addresses, certificates, orders, payment methods, beta tester
- Explore menu and page, HSC 27 / SSC 27 / Class 8 catalogues, English online and offline, store, skills, search (popular, suggestions, results)
- Product pages: paid batch (full scroll), free course, SuperPrep pack, Masterbook, batch with free-class booking
- Free live class booking (all steps), booked class page, past-class recording
Not yet seen
- Email + OTP and student/guardian screens (account already existed)
- Guardian onboarding path
- Checkout and payment (skipped on purpose)
- Inside an enrolled course: lesson list, video player, live class, lecture-sheet download, exams, certificate
- SuperPrep quiz and results, TenTen chat (need a class choice or an enrolment)
- The live class itself (booked for 25 Oct, 8:30 PM)
- Beta tester join, profile edit forms (would change the account)
- Mobile app screens beyond store screenshots
Sources & images
Pages read for this teardown, and the full list of images bundled in the zip. All images belong to 10 Minute School, Google Play or the App Store and are included for internal analysis only.
Pages read
How to fill the shots/ folder
- Windows: right-click
download_images.ps1→ Run with PowerShell. - Mac / Linux: run
bash download_images.shin the unzipped folder. - Then open
index.html. Images load fromshots/and work offline. images.csvlists every file, its source URL and what it shows.
| File | Shows | Source |
|---|