Made for Sound Lab Music School

SoundLab Knowledge Check

Timed knowledge tests for music students. The teacher issues a personal link, the student takes the test on any device, and the graded result lands in Telegram a moment later.

  • Flutter Web
  • TypeScript · Hono
  • PostgreSQL
  • Telegram Bot API
Question screen: progress bar, session timer and four answer options, one selected

How it works

From one message to a graded result

  1. Issue

    The teacher sends /new Анна Петрова to the bot — or clicks «Выдать тест» in the admin panel — and gets a personal link for that student.

  2. Take

    The student opens the link on any device: a welcome screen, one shared timer, one question at a time, every answer saved the moment it's chosen.

  3. Review

    The score, every answer and a supervision summary arrive in the teacher's Telegram and in the admin panel.

Admin panel

A calm studio for the teacher

Write tests, hand them out, follow a lesson live and read every answer — in a panel designed down to its colour tokens.

/admin/tests/edit
Test editor: test settings on the left, question with answer options on the right
Test editorQuestions, answer options and the correct one, shuffling, time limit and language. Drafts save themselves; «Как увидит ученик» previews the test exactly as the student will see it.
/admin/students
Student page: active and past tests, every answer marked correct or wrong
Every student, every answerTests in progress and history, with each answer next to the correct one.
/admin/tests
Test page in Armenian: test settings, results per question and the students who took it
Results per questionHow the class answered each question — here for a test in Armenian.

Student app

Every outcome has its own screen

Ten dedicated screens cover the whole journey — a finished test, time running out, an expired link, a lost connection — each with a clear next step.

Thank-you screen after submitting
Submitted
Time is up screen
Time's up
Connection lost screen
Offline

Under the hood

Built to be trusted

  • One server clock

    The deadline is set by the server at Start. Reloads, other tabs and other devices all count down the same time.

  • Graded on the server

    Each answer is stored as it's chosen and scored server-side, so the result reads the same everywhere.

  • Personal links

    One link, one student, one attempt. The teacher can revoke or reissue it in a click.

  • Steady on any network

    Saving retries by itself and every request is idempotent, so answers get through on a shaky connection.