Study-in-Korea applications, from catalog to acceptance, in four languages.
A production platform that helps students from Central Asia discover Korean universities, scholarships and language courses, and apply through a guided workflow.
- ROLE
- Founder, sole engineer
- COMPANY
- Discovery Group
- TIMELINE
- AUG 2025 — NOW
- SCOPE
- Product design · Full-stack build · Admin panel · Deploy pipeline
- STACK
- 4 LANGUAGES
- 70+ UNIVERSITIES
- 6-STEP PROFILE WIZARD
- GOOGLE & TELEGRAM SIGN-IN
Students from Central Asia had no single place to compare Korean universities and apply with confidence.
K-Apply is a production full-stack platform where students browse universities, scholarships and language courses, complete a guided profile, and track every application — while agency staff review submissions from a dedicated dashboard.
Designed, built and deployed solo: a NestJS GraphQL API with MongoDB, role-based auth and rate limiting; a Next.js + MUI frontend with Apollo Client; Dockerized behind nginx on a Linux VPS.
Multi-provider auth
Google OAuth, Telegram Login with server-side HMAC verification, and JWT email/password sign-in.
University catalog
Majors, tuition, scholarships and multi-round GKS application periods, with rankings like Top 1% and Korea Top 10.
URL-synced filters
Every filter lives in the URL — bookmark, share or revisit any view and the exact search state comes back.
Guided application
A 6-step wizard for personal details, family, education, TOPIK/IELTS certificates and essays, saved as you go.
Visa status checker
A standalone microservice that checks visa status against visa.go.kr on demand.
Four languages
English, Korean, Russian and Uzbek across the whole product, with dark and light themes.
A NestJS monorepo — a code-first GraphQL API plus a batch app for scheduled jobs.
Next.js handles the frontend, and Apollo Client talks to the backend over GraphQL while caching responses locally. The API is split into independent modules — auth, student profiles, universities, scholarships, applications — that each own their resolvers and schemas, with data in MongoDB through Mongoose.
File uploads bypass GraphQL and go over REST into Cloudinary, and visa checks call the separately deployed checker service over HTTP. In production everything runs in Docker Compose behind nginx on a single Linux VPS, with PostHog for product analytics.
The role-based panel agency staff use to manage applicants and track each application through its rounds.
Catalog management
Universities, scholarship programs and language courses with rounds, deadlines, tuition and majors.
Application pipeline
Applied → Contacted → Contract signed → Submitted → Accepted, with internal notes on every applicant.
Full applicant profiles
Education, certificates and essays open without leaving the review screen.
Notices & inquiries
Publish multilingual notices and answer community questions in four languages.
Release discipline
Releases follow fixed GKS admissions deadlines, so the platform is stable when application windows open.