Finnish YKI exam preparation service @ yki-testi.fi (pet project)

Full CV index — Tony Miasoedov

Context

yki-testi.fi is a set of practice tasks for the Finnish YKI language exam.

Stack: Next.js, TypeScript, server-side rendering, PostgreSQL.

The business problem it solves:

How the service solves it:

What I did well

Tasks that feel like the real exam

The tasks are not just generated texts on a topic — they are the work of a team of agents.

First, I ran an AI agent in deep research mode over every known source of sample tasks: closed groups where people share tasks after the exam, photos of tasks, PDFs and other documents.

Based on the research, I built 2 agents: one generates tasks from a prompt, the other checks them against real exam tasks.

The real YKI exam also has traps and special rules for composing tasks. In our generator each of them is a parameter. As in the real exam, some tasks contain traps — about 9 types, spread evenly across the tasks.

An exam strategy built from 100+ closed forums

I ran an AI agent in deep research mode over forums, Reddit and WhatsApp groups in Russian, English, Hindi and other languages to collect tips, recommendations and best practices for language exams.

Based on this, I built a help page for users, YKI tips, with tips, recommendations and best practices for the exam.

Finnish audio for listening tasks

The site has 1,000+ Finnish audio files with tasks, generated with the ElevenLabs API. Problems I had to solve:

  1. Finnish wasn't fully supported at the time, so every voice had to be picked by hand.
  2. Many texts are dialogues with several speakers. ElevenLabs didn't keep a voice tied to a speaker and didn't allow setting it manually. So I split dialogues into separate audio files and merged them with FFmpeg. The whole process is automated with scripts.

Development run from a phone

I work on YKI in my free time — only 1–2 hours a month. So I automated the whole development process to work from a phone:

  1. Agents and workflows are orchestrated with my own spec kit, sdd-spec-kit, built for a solo developer working with Vercel and GitHub Projects.
  2. The project is covered with tests and has use cases for agents, so they collect the right context for any task.
  3. A permanent staging branch has its own credentials for the Stripe sandbox, Google Auth and other services. It runs end-to-end tests of the full flow, including payments and sign-up, and I can check any process by hand before deploying to production — online, from a phone.

Additional features

Results

yki-testi.fi launched in March 2026. So far:

Top 5 in search and AI search (SEO and GEO):

Costs:

What I learned:

Stack & skills

Full CV index — Tony Miasoedov