1
0 Comments

How I Built an EdTech Platform Serving 46,000+ Students Across 35 Countries

I was sitting in a coffee shop when my friend from Bangkok called me in a panic. She'd decided to study at a university in China on a government scholarship, but she had no idea how to prepare for the entrance exam. "Everyone just keeps saying 'good luck,'" she told me. "Can you help?"

I Googled "CSCA exam" and spent two hours drowning in Chinese-language university websites, random forum posts from 2018, and outdated agency articles that made no sense in English. The information was scattered, the translations were terrible, and even scholarship councils' official pages assumed you already knew what you were doing.

That conversation became the seed for csca.app — a platform I built to help international students navigate China's standardized university entrance exam. Three years later, it's serving 46,000+ students from 35+ countries, with zero ad spend and entirely organic growth.

This is how I got here.

The Problem: A Fragmented, Inaccessible Exam

The CSCA (Academic Proficiency Test for International Students, officially 来华留学本科入学学业水平测试) is administered by China's Scholarship Council. Every year, roughly 500,000 international students apply to Chinese universities, and most of them need to sit this exam.

Here's the thing: there's almost no good English-language resource for it.

The exam itself is straightforward: three core subjects (Math, Physics, Chemistry) with 48 multiple-choice questions each, plus a specialized Chinese section with 80 questions. Students have 60 minutes per core subject and 90 minutes for Chinese. The exam runs five times a year, online, from home. Scores range 0-100 per subject, and universities set their own cutoffs.

But the information ecosystem around it is broken. Official details hide in Chinese-language PDFs. Coaching agencies charge thousands. Forums are full of outdated advice. And if you're from Thailand or Vietnam or Indonesia, the English information barely exists — you're stuck reading machine-translated Chinese websites.

I saw an opportunity: what if I built the single comprehensive resource that didn't exist? A platform where a student from any country could understand the exam, access practice materials, explore universities, and track their progress — all in their own language.

Building the First Version

I started small. The MVP didn't need to be perfect; it needed to be useful.

My tech stack was born from pragmatism, not prestige:

  • Next.js 14 because SEO was going to be critical for organic growth. A static-first framework meant I could rank in Google's eyes from day one.

  • TypeScript because I didn't want to debug type errors at 2 AM when a student was prepping for the exam.

  • Tailwind CSS for fast, consistent styling without the framework bloat.

  • Supabase for the backend and database. I didn't want to manage servers. Supabase gives me PostgreSQL, real-time subscriptions, and easy scaling without the DevOps headache.

  • Clerk for authentication. I wasn't about to build login from scratch — Clerk handles social sign-in, email verification, and password resets reliably.

  • Vercel for deployment. Push code, and it's live in seconds. Zero infrastructure to think about.

  • KaTeX for rendering math formulas. Rendering math correctly across different fonts, languages, and browsers is surprisingly hard. KaTeX handles it beautifully.

  • Three.js for interactive 3D visualizations of spatial concepts — geometry that students struggle to visualize on paper suddenly clicks in 3D.

I took about four months from concept to launch. I focused on math first since every student needs it. Launched with roughly 200 practice questions and a basic university directory of about 100 institutions.

The technical execution was solid, but the real work was content.

Content as the Product

I learned early: content isn't a feature on this platform. Content is the product.

I built 1,600+ practice questions with detailed step-by-step solutions. Created 150+ glossary terms per subject (Math, Physics, Chemistry) with translations in nine languages. That's 450+ glossary entries across three subjects, each one translated and verified across English, Simplified Chinese, Thai, Vietnamese, Korean, French, German, Indonesian, and Russian.

Here's what made this harder than it sounds: technical translation isn't simple string replacement.

The Thai education system teaches math with different notation conventions than the Korean system. A "derivative" means different symbolic representations depending on where you learned it. I couldn't just dump text into Google Translate and call it done. I built a custom glossary system where each term had canonical definitions, example problems, and a translation matrix — each language version reviewed by native speakers familiar with that country's educational system.

If I'd tried to hire translators for everything, the cost would've been prohibitive. Instead, I built tooling to make the translation process scalable. Upload a glossary term once, translate it across nine languages, and the system keeps everything consistent.

By launch, I had coverage for all core subjects. By month six, I'd expanded to 306 universities in the database with scholarship information, acceptance rates, and program details — parsed from university websites and verified by hand.

The practice questions kept growing. By year one, I'd accumulated over 1,600 unique questions.

The SEO Growth Machine

I didn't spend a dollar on advertising. Not one.

My entire growth strategy was SEO, and it worked because I was targeting underserved markets.

English-language CSCA resources have some competition. But Thai-language resources? Vietnamese? Indonesian? The market was practically empty. I realized that international students search in their native language first. If I could rank for "สอบ CSCA" (CSCA exam in Thai) or "kỳ thi CSCA" (in Vietnamese) or "ujian CSCA" (in Indonesian), I'd own those search results.

I implemented proper hreflang tags to signal to Google which language version each page was written for. I created content answering the exact questions students typed into search engines. I built internal linking so related subjects connected logically. I tracked which keywords were driving traffic and which weren't.

The math worked out. Top traffic sources are now Thailand, Vietnam, Indonesia, South Korea, and Russia — the markets where information asymmetry is highest. English traffic exists but is a smaller portion.

One key insight: by serving underserved languages, I avoided the brutal competition of English-language ed-tech platforms like Chegg or Khan Academy. Instead, I became the default resource for students searching in Thai, Vietnamese, and Indonesian.

Within a year, I'd hit 10,000 users. By year two, 25,000. Now, 46,000+ active users, with growth accelerating organically.

The Validation Moment

The real turning point came when I compared the platform's mock exam to the actual March 2026 CSCA exam.

I had students take my practice math exam. Then, when the real March 2026 exam came out, I analyzed the questions. Thirty-five out of 48 questions matched the difficulty level, topic distribution, and problem structure of what I'd included in my practice set.

That's a 73% accuracy rate.

This wasn't luck. It meant the question patterns were genuinely representative of the real exam. Student trust skyrocketed after this validation. When they saw the correlation between practice problems and real questions, they knew the platform actually worked.

Monetization: Keeping It Affordable

I've kept monetization intentionally simple and focused on students from developing economies.

  • Practice papers and past exams on Gumroad for $4.99–$29.99. These are premium study materials — actual past exam papers, curated question sets by difficulty level, annotated solutions.

  • Google AdSense for passive revenue. It's modest but real.

  • Gumroad was the right choice because it handles multi-currency payments natively: USD, THB, VND, MYR, JPY, EUR. I didn't have to build custom payment processing or deal with currency conversion fees on my end.

The philosophy is simple: core content is free. If you're a Thai student from a working-class family, you shouldn't have to pay to understand what the CSCA exam is. But if you want past exam papers or specialized problem sets, those cost money. Most users come from countries with lower purchasing power — the pricing reflects that.

Revenue covers servers and my time. It's not venture-scale, but it doesn't need to be.

The Challenges I Didn't Expect

Building a truly multilingual platform running at scale teaches you things you can't anticipate.

Localization is brutal. Nine languages × 450 glossary terms = 4,050 individual translation-and-review cycles. And I didn't use just any translator. Each term needed verification by someone who understood the educational context of that country. The Thai translation of "probability" is different from the Vietnamese understanding of the same concept because they teach it differently. Getting this right consumed more time than building the platform's core features.

Multi-currency payments create a lot of small headaches. Some countries prefer bank transfers over credit cards. Payment success rates vary wildly by region. Gumroad handles the technical side, but I still need to monitor chargeback rates, failed transactions, and currency-conversion timing. A student in Russia using a Visa sees different pricing than a student in Indonesia using a local payment method.

Time zones are everywhere. When I release a new exam-strategy guide, it's morning in some markets and midnight in others. Support requests come 24/7. Exam sessions are staggered across time zones, so content relevance shifts throughout the day. I can't just "push an update" — I have to think about when different user cohorts are active.

What's Happening Next

I'm in the middle of building AI-powered study recommendations. The idea is simple: based on a student's weak areas from practice exams, the system suggests targeted content. If you're struggling with trigonometric identities, it serves you the glossary, example problems, and video explanations for that topic.

I'm also exploring university partnerships — helping schools directly admit qualified international students through the platform, skipping some of the exam bureaucracy.

The long-term vision is bigger: become the platform for international student mobility. Today it's the CSCA exam. Tomorrow it could be prep materials for any high-stakes exam international students face.

What I'd Tell Another Builder

If you're thinking about building in education or for underserved international markets, here's what worked:

Multilingual SEO is an underrated growth channel. Everyone focuses on English. The markets where you face zero competition are usually in other languages. Build for Thai first, English second.

Build for the underserved, not the oversaturated. I didn't try to out-Khan Academy Khan Academy or out-Chegg Chegg. I built for students in 35 countries who had nowhere else to look. That focus created defensibility that money can't buy.

Content quality compounds. Every question I add makes the platform more valuable. Every glossary term translated into nine languages makes it stickier. This isn't a software-as-a-service feature matrix — it's accumulated substance. Keep going.

You don't need venture funding to reach 46,000 users. I bootstrapped this. Organic growth is slower but more sustainable. Users who find you through Google are users who actually need you.

If you're curious to see how this actually plays out, you can check out the platform at csca.app [https://csca.app/en]. It's live, it's serving real students, and every week I'm getting messages from people saying it helped them understand the exam for the first time.

Building something that matters to people in 35 different countries has been the most rewarding part of my journey as a maker. The metrics are nice. But watching a student from Vietnam finally understand the physics problem they'd been stuck on for weeks? That's the real validation.

---

Want to build a global education platform? Start small. Pick an underserved language and an underserved exam. Create content that actually helps people. Let Google bring the users. The rest follows.


posted toAvatar for product https://techwavespr.com/
https://techwavespr.com/