Case · Online learning platform and migration
PROGRESSYLC: YLC Valencia platform
A language school moved from ProgressMe to its own platform in 4 days and took all 921 lessons with it
Courses, marathons, students, groups and their answers have been moved to the school's server in Valencia. The logic is familiar to teachers from ProgressMe, only now the platform belongs to the school.
- 43 courses, 921 lessons and 9,873 exercises migrated from ProgressMe
- 412 students, 6 teachers, 21 groups and 1,907 answers
- 4 days from the first line of code to full migration
Why did the school need its own platform?
Client: YLC Valencia (Your Language Club), a bilingual learning center in Valencia. Spanish for Russian speakers and expats, English for Spaniards.
The school's teachers built their lessons on ProgressMe. It is a Russian platform for language schools: an exercise builder, marathons, homework, a student account. All the working material lived there, including student answers and their progress.
Teachers had no copies of their own lessons. From outside Russia, the ProgressMe site is behind a captcha, and the school paid for access on a plan that grows with the number of students.
The risk is clear to any school: all materials live on someone else's server in another country. If the server goes down, the school is left without lessons in the middle of the school year.
The task was this: a platform of its own on the school's server, with the tools teachers are used to, and with migration of everything already built.
What was done for YLC Valencia?
The platform was built on the school's own server and reproduced what teachers used every day. The logic stayed familiar: course, lesson, sections, exercises, and a separate homework tab.
Two options for video calls were compared: an external link to a third-party service or the school's own media server. The own server won. Reviews of ProgressMe complained about the video most of all, and an external link would have put the school back into the same dependency.
Students moved over with their groups and answers, and teachers with their students. There was no need to write to everyone or hand out access again.
- Lesson builder. 40 block types: text, images, audio, video, fill-in-the-blanks, tests, matching pairs, essays, voice recording, and embeds from Quizlet, Wordwall and Genially. Exercises with correct answers are checked automatically, and attempts and a timer are switched on in the settings.
- AI assistant. The teacher describes the task in words and gets a ready exercise in 23 of the 40 templates, plus a picture for it. Then they adjust it as they like.
- Online lesson. Video, chat and timer right on the lesson page. The teacher leads the class with the "Follow me" button, highlights an exercise with the "Attention" button, and mutes a student's microphone. Next to it is a shared whiteboard where you can place a PDF of up to 20 pages.
- Homework. Deadline, submission, and the statuses "Submitted", "Needs revision", "Checked". The teacher leaves a comment in text or voice, and corrects mistakes in essays with color, like a red pen. Student and teacher get emails in their own language, and the class register shows all students across all lessons.
- Migration from ProgressMe. 4 GB of the school's materials were exported and the 29 ProgressMe exercise types were mapped to the platform's templates. Correct answers, hints in blanks, "teacher only" notes and even exercise numbering carry over. A sample of lessons was checked against the original in ProgressMe, matching number for number. A run over the whole export: no exercise was rejected by the format check and no file was lost during import.
What does the school's platform look like?
- Course library: the school's courses migrated from ProgressMe, filter «Spanish, A2»
- A lesson in the editor: sections on the right, exercises numbered 1.1, homework deadline
- The same lesson from the student's view on a phone: exercise 1.3 with blanks
- Online class: participants on top, the lesson below them, timer, microphones and chat on the right
- Whiteboard with an open PDF during the class
- A checked essay from the student's view: color corrections, grade and voice comment
- The lesson «4. Un lugar para vivir» in full on the platform
What changed for the school?
How was it before and how is it now?
| Before | After |
|---|---|
| Lessons and student answers on a Russian platform's server | Everything on the school's server, nightly backup of the database and files, 14 days of history |
| The plan price grows with the number of students | The platform belongs to the school |
| From Spain the site was blocked by a captcha | Platform on the school's own domain |
| Video calls, the most common complaint in reviews | Own video server: video, chat, whiteboard and class management inside the lesson |
What was migrated from ProgressMe?
Everything was migrated: 43 courses (26 marathons and 17 school courses), 921 lessons, 9,873 exercises, more than 3,100 images, audio files and covers.
The platform has 412 ProgressMe students and 6 teachers, 21 marathons became groups under their teachers (236 students in groups), and 1,907 student answers are stored in their lessons.
How long did the work take?
On October 12, the first line of code and, the same day, a working login on the school's server. On October 13, the builder, online classes and homework were in progress. On October 16, the migration from ProgressMe was uploaded to the platform.
The interface is in Russian, Spanish and English, and everyone picks their own.
What makes the platform reliable?
They check the platform before every release. A bug in answer checking won't reach the student.
Kept for 14 days. Restoring from the backup has been tested twice.
The class does not depend on a third-party service or its pricing.
Teachers are confirmed by the school administrator, and after a series of failed attempts login is blocked.
Lessons, crosswords and the class chat shrink to fit the screen width.
Do the school's lessons live on someone else's platform?
I'll estimate the move to your own platform in 2 days. I'll show what will transfer one to one, how long it will take and what you'll keep.
What is the platform built on?
The same stack as the school's site: shared experience and the same deployment.
Video, screen sharing, and a shared data channel for the whiteboard and teacher commands, with no per-minute fees.
A shared board where the teacher places lesson materials, and a lock that stops students from drawing.
Exercise texts based on the layouts of 23 templates, and images saved to the school's own storage without links to a third-party service.
Each course is tagged with its source, and a second run creates no duplicates. Each course is migrated in a single transaction.
Moving to the class.ylcvalencia.es subdomain takes one deployment and redirecting the old links.
Questions and answers
How many lessons did YLC Valencia move from ProgressMe to its own platform?
From ProgressMe to the YLC Valencia platform we migrated 43 courses, including 26 marathons and 17 school courses, plus 921 lessons and 9,873 exercises. More than 3,100 images, audio files and covers moved with them. The platform runs on the school's server at ylcvalencia.es/class.
How many days did it take to build the PROGRESSYLC platform, from the first line of code to migration?
From the first line of code to the full migration took 4 days. The first line of code was written on October 12, and login on the school's server worked the same day. On October 13 the builder, online lessons and homework were in progress. On October 16 the migration from ProgressMe was published to the platform.
Why did the language school YLC Valencia decide to leave ProgressMe?
All lessons, answers and student progress at YLC Valencia were stored on the server of a Russian platform, and teachers had no copies of their own. From outside Russia the ProgressMe site is behind a captcha, and the rate grows with the number of students. If the server went down, the school would be left without lessons in the middle of the school year.
What blocks are in the lesson builder of the YLC Valencia platform?
The builder has 40 block types: texts, images, audio, video, fill-in-the-blanks, tests, matching pairs, essays, voice recording, and embeds of Quizlet, Wordwall and Genially. Exercises with correct answers are checked automatically, and attempts and a timer are enabled in settings. The logic will be familiar from ProgressMe: course, lesson, sections, exercises and a homework tab.
How does the AI assistant in PROGRESSYLC create exercises for teachers?
The teacher describes the task in words and gets a ready exercise in one of 23 templates out of 40, plus an image, then edits the result to taste. Claude generates the exercise texts from the template schemas, fal.ai makes the images, and they are saved in the school's storage.
How does a teacher run an online lesson on the YLC Valencia platform?
Video, chat, and a timer are right on the lesson page. The teacher leads the class with the "Follow me" button, highlights an exercise with the "Attention" button, and can mute a student's microphone. Next to it is a shared whiteboard where you can place a PDF of up to 20 pages, and a lock stops students from drawing on it.
Why did YLC Valencia choose its own media server for video calls instead of an external link?
Two options were compared: an external link to a third-party service and our own media server. We chose our own because ProgressMe reviews complained most about video, and an external link would have put the school back in the same dependency. The LiveKit server provides video, screen sharing and a channel for the board with no per-minute fees.
How does homework and essay checking work in PROGRESSYLC?
Homework has a deadline, a submission and the statuses "Submitted", "Needs revision", "Checked". The teacher leaves a comment as text or voice, and in an essay marks errors in color, like a red pen. The student and teacher get emails in their own language, and the class register shows all students across all lessons.
How were ProgressMe's 29 exercise types moved to the school's platform without losses?
We exported 4 GB of the school's materials and mapped 29 ProgressMe exercise types to the platform's templates. Correct answers, hints in the blanks, "teacher only" notes and numbering are carried over. A sample of lessons was checked against the original number by number, and when the whole export was run, no exercise was rejected and no file was lost.
Did YLC Valencia students have to get their access again after the move from ProgressMe?
No. Students moved over with their groups and answers, and teachers with their students; there was no need to write to everyone or reissue access. The platform has 412 students and 6 teachers, 21 marathons became groups under their teacher, the groups include 236 students, and 1,907 answers sit in their lessons.
How does PROGRESSYLC protect lessons and student answers from loss?
A copy of the database and files is made every night, history is kept for 14 days, and restoring from a copy has been tested twice. Before every release, 339 automated tests check the platform, so an error in answer checking will not reach a student. Everything is stored on the school's server, and the materials no longer depend on someone else's platform in another country.
How do students and teachers log in to the YLC Valencia platform?
Login works with email and a 4-digit code. Teachers are approved by the school administrator, and after a series of wrong attempts login is blocked. The interface is available in Russian, Spanish and English, and each user picks their own language. The platform runs on the school's domain, so the captcha that blocked ProgressMe from Spain is no longer a problem.
Can I study on the YLC Valencia platform from a phone?
Yes, lessons, crosswords and the online class chat shrink to fit a phone screen. Among the case screenshots is a lesson seen through a student's eyes on a phone: exercise 1.3 with blanks. The screenshots were taken from a local copy of the platform on 19.10.2026, and the students are anonymous, labeled "Student 1" and "Student 2".
What stack is the PROGRESSYLC platform written in, and can the import be repeated?
The platform is built on Next.js 16 and TypeScript with PostgreSQL and Prisma, the same stack as the school's website. Video runs on LiveKit, the whiteboard on Excalidraw with PDF. The ProgressMe import is repeatable: a course is tagged with its source, a second run creates no duplicates, and each course is transferred in a single transaction.
What other projects can I look at?
Clients from neural network answers: the SEO7 studio's own website
View case study200+ participants in three months from a single page for the "Sila Soznaniya" training center
View case studySpreadsheets, chats and manual counting → a single Telegram bot with payment, a referral program and CRM for the "Sila Soznaniya" training center
View case study