2.7.0
2026-09-11·168 updates
Added
- Clear out test attempts from quiz results. A quiz's results grid now has a delete control on each participant's row, so the runs left behind while testing a quiz can be removed one at a time. Deleting a row removes that person's answers with it and the accuracy and completion figures are recalculated without them. Only the lesson's teacher and workspace administrators can do it, and every deletion is confirmed first and recorded in the activity log.
- Invitations and join-request replies in your language. Lesson invitations, team invitations and the approve/decline reply to a join request are now written in the language of the person who sends them — English, Armenian or Russian, following the dashboard language they are working in. Names, dates, times, links and your own message are passed through untouched. Anyone working in English sees exactly the emails they saw before.
- Quiz emails in your participants' language. A quiz now carries the language its participants read — English, Armenian or Russian — set on the quiz's Settings tab. The confirmation after the before-quiz, the results and growth report after the after-quiz, and their subject lines are all written in that language; the teacher's own titles and lesson names are left exactly as written. Existing quizzes stay English until someone changes them.
- The quiz screens themselves in your participants' language. The public quiz a participant opens is now written in the language the quiz carries — English, Armenian or Russian: the welcome and email screen, the countdown, the questions and their prompts to answer, every "please choose…" message, the finish and results screens, the lesson-by-lesson breakdown, the share and download buttons and the shareable growth image. Titles, question wording and lesson names stay exactly as the teacher wrote them, and a quiz left in English reads exactly as it did.
- The after-quiz stays shut until you open it. A before/after quiz now has a switch for the after-quiz. Until it is on, the confirmation email carries no "take the post-assessment" button and the link itself shows a short "not open yet" note instead of the quiz, so a cohort cannot sit both halves in one sitting. Quizzes that already existed keep their after-quiz open, so links already handed out are unaffected.
- See your own lesson the way a student sees it. A teacher or administrator can open their material in the student view without enrolling: the lesson opens even though they are on no roster for it, a banner says plainly that this is the student view and nothing is being recorded, and links from there stay in it. No lesson is marked complete, no points, no streak and no study time are recorded for them — not from the page, and not from anywhere else. A quiz opened this way can be taken end to end and scored, and none of it is kept: no attempt, no answers, no points, and it does not spend one of the learner retakes.
- Retakes for signed-in learners. A teacher can now say how many times a signed-in learner may take a quiz and how long they wait in between. The learner sees how many attempts are left, and when a wait is on, when the next one opens — and a learner with none left is told before answering anything rather than after. The attempt starts when they press Start, which fixes that attempt's questions even if the quiz is edited meanwhile. Quizzes shared as a public link are unchanged: still one attempt per email address, and the before/after comparison works exactly as before.
- One bad day no longer kills a streak. Hit your weekly goal and you bank a streak freeze, up to three. If you then miss a day, a freeze is spent automatically to bridge it and the streak carries on — the saved day shows on the week rail. A gap too wide for the freezes you hold spends nothing, and today is never covered while there is still time to show up.
- Your daily goal ring now measures real minutes. The ring counts the time actually spent with a lesson open against the workspace's daily goal in minutes, instead of standing in with points; the activity strip shows the minutes behind each day.
- A week rail that tells studying apart from saving. The week now shows each day as studied, covered by a streak freeze, or empty, with the freezes you have left shown beside your streak.
- Moments worth a moment. A short message appears when a badge lands, when the day's goal closes and when a streak reaches 3, 7, 14, 30, 50 or 100 days — plus a nudge when a live streak has nothing on the board yet today. Badges earned before you opened the page are never announced as new.
- Time spent reading a lesson now counts. Minutes accrue while a lesson page is open in front of you, so a day spent studying keeps the streak alive and shows real minutes even when nothing was marked complete. Time stops when the tab is in the background, several open tabs still count once, and a day tops out at four hours.
- A public landing page at the site root for visitors who are not signed in: what LumiLearn does, the self-evolving feedback loop, a tour of all eight feature areas, pricing highlights and a way to start free or book a pilot. Demo-video slots sit beside each feature — six play existing tutorials and five are labelled with the recording still wanted.
- A sitemap listing the public pages (home, pricing, changelog) for search engines.
- Design variants: a small floating arrow lets you try alternative designs of most pages and vote for your favourite; your choice is remembered.
- Every alternative design in the product is now selectable on staging — the live quiz player screens, speech evaluation, settings, video and pricing were the last ones left out, and they are all in.
- Programs, Lessons and the program detail page each gained the full set of alternative designs, so those pages can be compared and voted on like the rest.
- On a page built from several parts, one click applies the same design to every part at once, and one more puts the whole page back to the original.
- The reveal now shows how many LumiCoins an answer paid, beside the points it scored. The two are earned at different rates — a four-question quiz pays 60 points and 84 coins for the same fast correct answer — so a player who read the points headline previously watched their wallet climb by a different number with nothing on screen to explain it.
- Players now see the countdown to the next question while the answer is being revealed — the same clock the teacher's screen is counting — instead of an open-ended "waiting…".
- Buying and playing a card in a live quiz is now visible. The price lifts off the coin wallet as a red "−25" and the wallet pulses, so a purchase is something the player sees leave their pocket rather than a number that quietly differs a moment later; selling floats the refund back in green the same way. Playing a card raises a short flash across the middle of the screen with the card's own colour, its name and the rule it just switched on — which matters most for the cards whose effect is invisible on the board, like a streak shield or double points. Buying a face-down Mystery card shows the same flash, and that is where its identity is revealed.
- Live quizzes are now played with the LumiCoin card shop (on by default for every quiz, including ones saved before it existed; switch it off per quiz in the live settings tab). Every question deals a hand of three cards to each player, drawn from an eighteen-card roster across five tiers: Common cards give one small nudge (a bigger speed bonus, cross out a wrong option, five more seconds, extra coins), Uncommon cards change the odds (50/50, keep your streak, a guaranteed 40% even if you are wrong, a lens that lights up two options), Rare cards change the outcome (second chance, freeze the clock, double points, 2.5x for answering in four seconds, or swap the question for a different one), Epic cards are permanent and last the rest of the game (+20% points, +50% coins, an automatic streak shield every third question, or a free 50/50 every time your streak breaks) — you can only hold one, so it is a real choice. The single Legendary, the Golden Ticket, makes every card in the shop free for the rest of the game. The third slot has much better odds of something rare, and gets better still over the closing half of the quiz. Some cards arrive face-down as a cheaper Mystery — always of the tier its border shows, so a cheap Common mystery can never hide an Epic. Players hold up to two cards and play them on whichever question they choose, or sell one back for part of what they paid. Coin payouts and prices scale with the length of the quiz, so a five-question blitz and a fifty-question marathon both pay for about the same amount of shopping, and everyone starts with enough to buy something early.
- Players who fall well behind the class now get a comeback boost: their correct answers are worth 20–30% more and cards cost a tenth of the usual price, until they have caught back up — at which point everything quietly returns to normal.
- Live quizzes can now finish with a Redemption round (off by default). When the questions are over, each student is given back only the ones they got wrong, one at a time, for half points and up to three tries each. The results screen reports both what they knew first time and what they know by the end.
- LumiCoins are a separate wallet from the score: they are earned by answering and spent on cards, so buying a card never costs a player their place on the leaderboard.
- Feedback forms now ask one score question per teacher: participants on a co-taught lesson rate each teacher separately (or both at once when the lesson is set up that way), every score is required before sending, and manual entry takes the same per-teacher scores. Each teacher's score is stored on its own, so teacher pages can show a teacher's own number; the lesson-level score becomes the average when a form carries more than one.
- The lesson page now shows the feedback form in the open instead of behind a collapsed "Customize" toggle. Its teacher score questions sit in their own "Teacher scores" block at the top: each card names the teacher(s) it scores (locked to the one teacher on a single-teacher lesson, a multi-select on co-taught lessons where one score can cover both), and its wording is editable in English, Armenian and Russian with a working auto-translate. Cards can be added or removed down to one, and a teacher on the lesson with no score question gets a gentle nudge.
- Every new lesson now owns its feedback form from the start: one score question per teacher plus the program's default questions. Changing a lesson's teachers keeps those score questions in step, and a form with no score question is rejected instead of silently falling back to the program's questions.
- A live quiz's Settings tab is now a full console for how the game plays, instead of only saying that it is a live quiz. Pace (a countdown per question, or one clock for the whole set, with presets and a slider), flow (auto-advance after the answer or wait for the host, late join, shuffle questions), results (reveal after each question or only at the end, leaderboard full or top five), all scoring modifiers, and a Draft / Open / Closed control the live quiz never had. Every choice is saved as you make it and is applied to each new session hosted from that quiz.
- Two more scoring modifiers: No consolation (a wrong answer is worth nothing instead of 10 points) and Time pressure (every question runs for 60% of its set time). Each modifier now carries its own mark and a line saying exactly what it does to the score, on the settings screen and on the card.
- Press Cmd+K (Ctrl+K on Windows) anywhere in the app to open a search box that jumps you where you want to go: any page, the create-program and create-quiz flows, and your programs, lessons, quizzes and teachers by name. Arrow keys move, Enter opens, Esc closes — and there is a Search button in the sidebar and the teacher/learner header for the same thing on a phone. Everyone only ever sees what their own role can already open.
- Live quizzes now carry scoring modifiers, toggled straight from the card: streaks (escalating bonus for consecutive correct answers), double points (answers in the closing stretch of the game count twice), and a speed bonus (+10 points for a correct answer in the first 5 seconds). Each quiz keeps its own set, so every session hosted from it plays by the same rules — and the rules are now actually applied when the game scores an answer, frozen at the moment the session starts so a mid-game edit cannot re-price answers already given.
- A new "Liquid Glass" color theme: frosted, translucent panels and menus over a soft iridescent gradient, in both light and dark mode. Pick it from the palette menu in the sidebar.
- Every color theme's dark mode has been redesigned: instead of one muddy near-black shared by all themes, each theme now sits on a deep base in its own hue — warm brown for Warm Amber, deep green for Forest, navy-teal for Ocean, rosewood for Watermelon, deep violet for Coolors, and so on — with cards clearly lifted off the background and more visible borders. Dark mode also gains an ambient glow behind the page, a gradient sheen and soft coloured glow on cards and menus, and glowing primary buttons — all in the theme's hue. In light mode, cards pick up a whisper of the theme's accent color and a soft tinted shadow. (Liquid Glass keeps its own frosted treatment.)
- The teacher dashboard's score panel now also shows "NPS per lesson" — each lesson's own NPS summarized across lessons, median by default and switchable to the mean, always saying how many lessons it covers. The overall NPS number in the headline row is unchanged.
- A teacher's own home and the admin's view of that teacher now show the same dashboard. What the admin sees on a teacher's profile is what the teacher sees at home — KPIs, score statistics, speech evaluation and the lesson list all match, with admin-only controls staying admin-only.
- A "Typical score" tile shows the teacher's median score out of 10 (switchable to the mean), always alongside how many responses it rests on, with a "low sample" flag under ten. It sits next to a score-distribution chart covering all responses ever — the classic NPS number is untouched and stays the headline.
- An "Evaluation overview" sums up all of a teacher's speech evaluations: how many were run, when the first and last happened, the average filler-word rate, an all-time tally of their most frequent filler words, and average/median per analyzer. When there are no evaluations yet — or the evaluation service is down — the section says so instead of disappearing.
- Evaluation trend charts now appear for teachers on their own home page, not just for admins.
- The lesson list on both views is sortable (date, name, program, score, responses) and searchable, with a program filter; each lesson row shows its score, response count and a low-sample flag.
- Live Quiz lobby now includes an interactive live chat & reactions feed allowing participants and host to send real-time floating emojis and greetings while waiting for the game to begin.
- Live Quiz host lobby now features a Telegram share button and quick-open action to send join links directly into the program's Telegram group or any Telegram chat.
- Program settings now include a dedicated Telegram Group / Channel configuration card for associating a Telegram group with the program.
- The sidebar's Changelog entry now shows a small dot when a release has shipped since you last opened the changelog. Opening the changelog clears it — on every device you use, until the next release.
- A quiz now says how it is run: Before & after (two links, one before the lesson and one after) or Live quiz (in class, join by PIN). Pick it when you create the quiz, change it any time in the quiz's settings, and the quiz page shows only what that mode actually uses. Existing quizzes stay Before & after; a quiz you only ever hosted live is moved to Live quiz for you.
- A live quiz's page now shows what a host needs before pressing start — the address learners type, a QR code for the projector, how many questions are in play and roughly how long the game runs — plus every past session with its players, accuracy, winner and a link to its report. Questions with no correct answer are marked as skipped in play, so the question count is never a surprise mid-lesson.
- The Quizzes page is easier to read at a glance. The three sections — Pre-Post quizzes, Real-Time quizzes and Analytics — are now labelled cards that say what each one is for, and the quiz list has been rebuilt: every quiz is a single row carrying its status, phase, three key numbers and the program's own banner artwork with the lesson name.
- Clicking a quiz opens a quick view instead of a full page load. It holds the Pre and Post learner links with copy and open buttons, the quiz's numbers, links through to the program and the lesson, a button to open or close the quiz, and a second click through to the full quiz page.
- Each quiz gets its own icon. Pick from twelve marks and twelve colours in the quick view, or leave it and the quiz keeps a stable icon chosen for it.
- Eight new program banner patterns — gradient mesh, dot matrix, blueprint grid, layered waves, topography, diagonal stripes, hex weave and terrazzo — alongside the original pastel set, in Settings → Banner → Patterns.
Fixed
- Comments in the exported sheet hold only what the participant wrote. Every open-ended question now has its own column, headed by the question itself, so a cell carries the answer and nothing else — the question is no longer repeated in front of each comment.
- The feedback form names the lesson's current teacher. Changing the teacher on a lesson used to leave the previous teacher's name in the question asking how likely participants are to recommend their lesson. The question now follows the teacher, and lessons already showing the wrong name correct themselves the next time the form is opened. A question whose wording was edited by hand is left exactly as it was written.
- AI answers now come back in the language you are reading. Insights, feedback and survey analyses, suggested lesson descriptions and Q&A answers used to follow the language of the transcript, the comments or the previous message — so an Armenian recording handed an English-reading teacher an Armenian summary, and the other way round. The interface language now travels with each request and is followed for every reply, whatever language the material is in. Learner quotes are still shown in the words they were written in, and roadmap and quiz generation still follow the teacher's chosen content language.
- The pricing page and public legal pages now use the LumiLearn name.
- Search engines can read the site's robots.txt and sitemap again; both used to be redirected to the login page.
- Add a Telegram topic by link. A topic the bot has never seen a message in — one created before the bot joined, say — can now be added by pasting its link (or just its thread number) into the group card in Integrations or into the Telegram card of a lesson. It appears at once as "Topic N", is renamed the first time someone posts in it, and can be mapped straight away; a topic already listed is pointed out rather than duplicated.
- Map a topic from inside the lesson. Every "Map a topic" link — the header chip, the empty homework block, the program's Homework tab — now opens that lesson's own Integrations section, where the Telegram card offers a picker of the group's still-unmapped topics next to the add-by-link box. On the Integrations page the per-topic picker reads Maps to lesson, with a line explaining that each topic maps to one lesson and that mapping from inside a lesson works too, and a hint on what to do when a topic is missing.
- A playful homework dashboard on the lesson page. The flat submitted / not-submitted line is now a ring of three colours — submitted, not submitted, never posted — over the group's real size, sticker tiles with the counts, a strip of one marker per member, and the student roll beneath it, where a row the bot has hearted wears a small ❤.
- The Telegram bot can now react with ❤ on homework: seconds after a student posts in a mapped lesson topic, AI judges whether the message is a homework submission (an attachment, a link to their work, code, or a substantive answer — never a bare "done" or a question) and the bot hearts it. Running Check homework keeps the hearts in sync with the teacher's verdicts. Off by default; an admin turns it on per workspace in Integrations → Telegram.
- A Comments tab now sits on the right edge of every page inside the app. Click it, write what is confusing, broken or missing on the page you are looking at, and send — it reaches the LumiLearn team with the page you were on attached.
- The Comments panel now shows the comments already left on the page you are on, under the box you write in, each with where it stands — sent, handled or archived. An administrator sees everything written about that page; everyone else sees only their own comments. Sending no longer closes the panel: your comment appears in the list underneath it.
- The Comments inbox is now grouped by page, so everything anyone has written about one screen sits together under that screen's name instead of scattered down a single list.
- Students can now see what they got right and wrong. The final screen of a live quiz has a Details button: it opens every question of the run with the student's own answer and the correct one marked, so the game ends on a review instead of a score. It is on by default and switches off in a quiz's live settings (Results → Students can review their answers), or in Game rules before a game starts, for a paper you are about to reuse with the next group.
- The live-quiz host screen now shows what this game plays by. A strip of icons above the PIN says whether gamification, the LumiCoin card shop, the redemption round, late join, shuffling and the top-5 leaderboard are on or off, how long a question runs, how long the reveal is held, when students see results, and how many modifiers and cards are in play. Game rules opens the full panel, where every one of them can be changed before the game starts — including modifiers and individual cards, which the host screen never offered. Once the first question opens the rules are frozen and the panel becomes a read-only reference.
- Design variants (staging only, behind the experiment flag): every admin page now offers six alternative designs alongside the original, each rethought around the job the page does rather than re-skinned — the dashboard home, calendar, lessons list and create-lesson form, program create, quizzes list and quiz detail, reports, teachers list and teacher detail. The teacher portal's home, lesson, feedback and programs pages get the same treatment. Cycle designs with the floating arrow in the bottom-right corner and thumbs-up the one you prefer.
- The program's Homework tab now opens on a leaderboard: students ranked by lessons submitted, with a medal for the top three, a completion meter, one dot per lesson (submitted, not submitted, not checked, no topic), a streak flame and the time of the last submission; a row expands to every lesson's verdict and its Telegram message. The lesson × student register is one click away under Grid, and the page remembers which view you prefer. The lesson page's homework block is the same leaderboard for that one lesson — submitted first, reason beside each name — and the Telegram card in Integrations shows the submitted tally.
- Every lesson now has an Integrations section: one card each for Telegram, Zoom, Google Drive, Google Calendar and Slack, showing whether the workspace is connected, what this lesson holds (meeting ID and join link, recording, calendar sync, reminder settings), and a button to the place it is edited. The Telegram card does the work in place: pick the group, map this lesson's topic, see the message count and last check, and run Check homework — no trip to Settings needed.
- Check homework is hard to miss now: a lesson with a mapped Telegram topic shows a Homework chip in its header with the last check time and a Check now button, and each lesson column in the program's Homework tab has its own Check now.
- The Telegram card's program and lesson pickers are now searchable: type a few letters to filter a hundred-item list, use the arrow keys and Enter to pick, and clear a mapping with one click.
- Narrated slide videos are now animated decks. Instead of the presenter being pasted into the corner of a flat slide image, the slides are drawn as a moving deck — titles and bullets arrive as they are spoken, charts draw themselves — with the presenter standing over them. Pick one of four looks, an accent colour, and which side the presenter stands on. (Staging only for now.)
- A finished presentation can be re-made for free. Try another look re-rolls the design and Rewrite slides lets the AI rework the titles, bullets and charts. The presenter's recording is reused in both, so nothing is filmed again and nothing is billed; up to five re-makes a day per video.
- Animated presentations get a cover image again: the first person to play one saves a frame from it as the thumbnail.
- Programs with a Telegram group get a Homework tab: a register of lessons across and students down, each cell one of four marks — submitted, not submitted, not checked yet, or no topic mapped — with completion per lesson, the last check time, and a click-through to the exact Telegram message. On the lesson page, a Check homework button sends the topic's messages to the AI and lists who submitted and why; a lesson with no topic yet shows who has been posting in the group's unmapped topics instead.
- Telegram joins the Integrations page. Paste a bot token from BotFather, add the bot to your forum group as an admin, and the group appears in the card with a program picker; post one message in each lesson topic and the topics appear with a lesson picker and message counts. The card says plainly that tracking starts when the bot joins (earlier messages are never seen), that edits update and deletions never arrive, and shows whether Telegram is currently delivering updates.
- Deleted Telegram messages no longer count as homework. Telegram never tells a bot about deletions, so a removed submission used to stay in every count and in what the AI was shown. Now, whenever the bot tries to heart a message that is gone, the message is marked deleted and dropped from every count, every check and the AI's context; the helper text says plainly that this only happens for messages the bot had reacted to.
- The privacy step stops saying "not done" when it is done. The Telegram card recognises that a bot which is an admin in every detected group sees every message, and shows step 1 as Done — admin bots see every message whatever BotFather says; when the bot is not an admin, the setting is re-checked with Telegram every five minutes and on Refresh instead of once at connect time, and the step explains that Telegram applies a privacy change only after the bot is removed and re-added to the group.
- The empty homework standings on a program with no mapped topic now link to the first lesson without a topic, not to the general Integrations page.
- The LumiCoin card shop has moved off the question screen and into its own break between questions. The beat is now the same in every live quiz: answer, three seconds on your result, five seconds in the shop, next question. Buying and answering no longer share one countdown — the shop used to sit above the answer options while the clock ran, so it was either ignored by anyone racing the speed bonus or it ate the question. The break's screen shows the three cards dealt for the question you are about to see, your hotbar (so a full hand can be sold out of), and its own five-second timer. In a quiz where each question has its own time limit, those seconds are added to the gap you already set between questions; nothing new to configure.
- Cards that the other rules leave nothing to act on are no longer sold. With the Streak modifier off, the Streak Shield, Immunity Idol and Phoenix Blessing protected a streak nobody was paid for; in a quiz played on one total clock, Time Freeze and +5s stopped or stretched a countdown the player was not on. Super Speed is the Speed bonus modifier's +10 made bigger, so with that modifier off it went too. All six are now taken out of the shop and the power-up deal whenever their rule is off, the settings screens show them greyed out with the reason, and the teacher's own tick is kept so the card returns the moment the rule is switched back on. Turning streaks off now also stops the streak bonus in LumiCoins, not only in points.
- Switching the LumiCoin card shop off now switches every purchasable ability off with it. Cards are bought with LumiCoins; with the shop off there was nothing to buy them with, yet the older power-up deal kept offering them. Now the shop is the one switch: off, and no card is offered anywhere. Your per-card choices are kept for when it comes back on.
- A shop with every card switched off now counts as off. With nothing left to sell, the game runs without LumiCoins or the card break, the settings screen shows the shop as off and says why, and enabling any one card brings it straight back.
- A card break with nothing to offer now says so. In a game left with only one rarity in play — a single Legendary, say — most rounds deal no card at all, and the break showed a titled, empty shop for five seconds with no explanation. It now says there is nothing to buy this round and to try the next one.
- The card shop and the old power-up deal can no longer both be open in one game. A game with the shop on accepted power-up purchases through the older route as well — at the old flat prices, past the hotbar and once-per-break limits, and with "All or nothing" free — so a student who knew the address could shop around the shop.
- A game's rules are now frozen once it starts. The host console only offered the rules panel in the lobby, but the game accepted any rule at any time — switching the economy off under players holding cards, or changing the clock mode mid-paper. After the first question only the safe knobs remain changeable: when results show, the reveal delay, the per-question time, late join, top-5 and answer review.
- The Phoenix Blessing respects the teacher's card list. Its free 50/50 was dealt even when the teacher had switched 50/50 off for that quiz.
- 50/50, Remove One and Hint Lens no longer burn on questions with nothing to hide. On a true/false or open-text question they had no wrong option to strike out or highlight, yet the card was spent. They are now refused with the card still in the tray, the way Question Swap already was.
- The card break no longer flickers, and it really does hold its five seconds. Between questions the screen could bounce shop → question → shop before settling, and the break often closed early, before there was time to pick a card. Two causes: the game was deciding "is the shop open?" from data that arrives and departs a beat out of step with the break itself, and a slow reply could overwrite a newer one. The five seconds now start when the cards are actually on screen, and the countdown shown is the one that closes the break.
- The first question of a live quiz is no longer skipped the moment it is answered. In a quiz played on one total clock, answering the first question jumped straight to the second: no right/wrong result held on screen, and no card break. The client was restoring the player's saved position — the mechanism that puts you back where you were after a reload — and it fired on the player's own first answer instead of only on a reload.
- The card tray no longer covers the last answer option. The hotbar is pinned to the bottom of the screen, and on several designs the page did not reserve room for it, so the bottom answer sat underneath it — on a phone the option could not be read or tapped.
- The card shop no longer locks itself for the rest of a self-paced game. In a quiz played on one total clock, buying a single card greyed out all three cards permanently: the shop was keyed to the host's question number, which never moves in that mode, so "already bought this round" stayed true from the first purchase to the podium. Players who spent their purchase on a permanent skill were left with a dead shop and nothing to activate for the rest of the run.
- The card you tap is now the card you get. In a quiz with no spare questions, the shop screen and the server dealt from slightly different decks, so a purchase could deliver a different card from the one on the button.
- Pausing a live quiz now actually pauses it. The pause button used to change only the host's own screen: students' countdowns kept running, answers were still accepted and the game moved on by itself. Now the whole room stops with the teacher — every student sees a "Lesson is paused" screen with their timer held, no answers or purchases go through, and on resume the clock picks up with exactly the seconds that were left. A paused game also stays open for a week instead of expiring the same day, so a lesson can be resumed days later.
- A live quiz hosted with gamification off now really is a plain graded round. It used to pay LumiCoins anyway, so players watched a coin balance climb beside their score and got a "+1 LumiCoin" chip on every reveal — a currency for a shop that game does not have. The wallet, the streak flame and the coin chip are gone from that mode; points and rank stay.
- The host console no longer runs a second, phantom countdown between questions. After the real 2-second reveal beat it started a 5-second "next question in…" clock over the standings — a screen that is now passed straight through in under half a second, so the number was counting down to nothing and the next question opened while it was still running. It says "moving on to the next question…" instead.
- The speed bonus is no longer promised by a game that does not award it. The banner over the question, and the confirmation under a fast answer ("locked in 3.1s — +10 Speed Bonus active, 60 if correct"), both appeared regardless of whether the modifier was switched on.
- The live-quiz lobby no longer misreports the clock. It used to open on "45 seconds per question" whatever the quiz was configured with — and write that 45 seconds over the real setting — so a quiz saved as a five-minute self-paced round quietly played as something else.
- Signing in with no internet connection no longer claims the password is wrong. When the sign-in request cannot reach the server at all, the page now says something went wrong and to try again, instead of telling people their password doesn't match and sending them off to reset a password that was correct.
- Exported PDF reports arrive with a proper filename again. A program whose name contains a quotation mark, a slash or a colon produced a download the browser refused to name, so the file landed as
downloadwith no extension and would not open by double-click. The report itself was always fine; now the name is too. - After Check homework or Check now, opening the lesson's Homework block for the first time now shows the fresh verdicts straight away; it no longer says "Not checked yet" until the page is reloaded.
- The AI's one-line reason beside each homework verdict now explains the decision (what was sent, or what was missing) instead of repeating the student's message; a reason that merely echoes the message is replaced with a plain "Submitted a homework link" / "Ուղարկել է տնային աշխատանքի հղում".
- Switching a lesson's Telegram topic no longer loses the mapping when the save fails half-way. The card now claims the new topic before letting go of the old one, and if either step fails it re-reads what the server actually holds, so it never shows a topic as mapped that the server has dropped — and Check homework no longer offers a check that would fail for lack of a topic.
- Check homework no longer counts any link as a submission. A message like "here is my homework" followed by a bare google.com or youtube.com address was being marked as done; now the AI looks for an actual piece of work — an attached file, photo or recording, a link to a specific document, upload or repository, code, or a real written answer — and a "didn't do it", a question or a bare well-known address is marked not submitted, with the reason in the student's own language.
- Pages no longer download design code they do not use. Every page — the login screen most of all — was fetching the whole library of alternative designs before showing anything, several megabytes of it, and it happened on staging where the designs are switchable and on the released build where they are switched off entirely. Both are fixed: the released build carries none of that code at all, and on staging a page fetches a design only for the visitor who picked one, and only the one they picked. The login screen is back to the weight it had before the design library existed. A design you have chosen now appears a moment after the page instead of arriving with it.
- A design picked while signed out is now remembered. The choice reported itself as saved but was never stored, so it lasted only as long as the browser's own copy.
- The +5 seconds card now actually gives five seconds. It never did: the extra time existed only as a number the player's own timer used to draw its arc, so the countdown still hit zero at the same instant, the server still refused anything past the original deadline, and the host moved the class on regardless. Now the player who plays it may answer for five more seconds, the question stays on screen for them, and everyone else — who may not answer in that window — is told the wait grew and why. Several players on one question do not stack: the question waits five seconds, not five per card.
- The points shown when a live quiz answer is revealed now match what was actually scored, and explain where they came from. A correct answer used to read "+50 points (+50 for correct answer)" — the total printed twice, so it looked like two separate awards — and the figure was stuck at 50 no matter what really happened. It now shows the real total once; and when something lifted it above the base — a streak, the double points on the final questions, or a played card — a small row underneath names each part (base, streak ×1.1, ×2 final), so a big number like +110 is no longer a mystery.
- A program's Telegram group link now actually saves. The Program → Settings field wrote only to the teacher's own browser, so its promise — a group link for sending quizzes and links to students — reached neither the server nor a co-teacher nor a second device, and vanished when the cache was cleared, all while showing "saved". It is now stored with the program, shared by everyone who can see it and available to the server, the same way a lesson's Telegram link already is. (Requires the accompanying database migration.)
- The live quiz background theme is now personal to each participant. Picking a backdrop is a private, on-your-own-device choice, but host and player shared a single browser setting, so on one screen — a teacher previewing a student view, or the host and a player open in the same browser — whoever changed the theme last took over the other's background. Each role now keeps its own choice, saved only in that browser.
- Players no longer lag seconds behind the host, still looking at the previous question after the next one has started. Each player's screen refreshes once a second, and that refresh was loading every question in the quiz one at a time — so the refresh itself took longer the longer the quiz, and the screen fell further behind. It now loads them in a single request, and in a normal host-paced game only loads the question actually on screen. Self-paced quizzes and the Redemption round still get the whole set, because they need it.
- The "connection lost" warning on the player screen now actually appears when the live connection fails. It could never light up before, so a player whose realtime connection had dropped was left on the slow fallback with nothing on screen explaining why the game seemed frozen.
- Replaying a live quiz no longer leaves players unable to play their cards. Replay reset the scores, wallets, answers and cards but not the record of which question each player had already spent an effect on, so in the new run every question they had used a card on the time before silently refused — the card sat in the hotbar and tapping it did nothing. Replay now clears that record, and also resets the answer count, the best streak and any permanent skill or Golden Ticket the deleted cards had unlocked.
- A refused purchase or activation now says why — one card per question, the answer is already in, not enough LumiCoins, or the question has closed — instead of leaving the tap looking like a broken button.
- Buying and playing cards is noticeably quicker: the server was making its database lookups one after another where most of them do not depend on each other, and it no longer looks up swap questions at all unless the card being played is the one that swaps questions.
- The public survey page no longer risks near-white text on a white card for visitors in dark mode — it now locks to light chrome the same way the feedback page already does.
- In the "Ledger" feedback design, the response filters (all / comments / promoter / passive / detractor) are announced correctly by screen readers — they no longer read as tabs with nothing to switch to.
- Buying a card in a live quiz silently did nothing from the second question onwards. The purchase was being sent against the previous question and refused, so the card never arrived in the player's hand and no error was shown.
- Restarting a live quiz with the same players now really starts a fresh game. Scores and streaks were reset but coins and bought cards were not, so players began question one with a wallet and a hand carried over from the previous run.
- The question timer no longer flickers and disappears on the player's screen. A slow status refresh arriving out of order could roll the game back to the previous phase for a moment, taking the countdown with it.
- The countdown no longer jumps back up as it nears zero. Each refresh re-measured the clock against the server without allowing for how long the reply took to arrive, so one slow moment added seconds back onto the clock.
- The "create a quiz for these lessons" button on the roadmap success message now stays on screen long enough to press. It was disappearing while the lesson list was still re-rendering underneath it.
- Generating a roadmap from a program's documents now actually creates the lessons. Committing a reviewed roadmap failed every time with "Couldn't create the lessons", because the lessons were being saved with a state the database does not recognise; they are created as undated drafts instead.
- Live quiz cards are now clickable anywhere, not only on the title.
- Opening a live quiz no longer highlights "Pre-Post Quizzes" in the sidebar. A live quiz — and the screens for hosting and running a game — now keep the "Live" section highlighted, while before/after quizzes keep Pre-Post.
- Teachers with long evaluation histories no longer risk seeing "No evaluations yet" in the Evaluation overview and Evaluation History sections — very large evaluation records now load reliably, and when the evaluation service genuinely can't be reached those sections now say "couldn't load" instead of pretending the history is empty.
- The selected sort chip on the lesson list (teacher home and admin teacher view) and on the Teachers page toolbar now actually shows as selected — dark pill with light text — instead of looking identical to the unselected chips.
- The Live Quiz start button waits for players again: it stays disabled (with its "waiting for players" hint) until at least one participant is in the lobby, instead of being clickable immediately and doing nothing.
- The Live Quiz demo page's Host/Player view switcher works again — the new full-screen stage was covering the demo controls so they could not be clicked.
- When the calendar shows an empty state because of the filters, it now explains itself instead of just saying "Nothing matches these filters." It names the window you are looking at (a Week, a Month, a custom range) and gives you two one-click ways out — switch to Month for a wider view, or clear the filters — so a teacher whose lessons sit outside the default week or status filter is no longer left guessing why the calendar looks empty.
- Speech practice no longer gives confident coaching on a recording with no speech in it. A silent take, a muted or dead microphone, or a steady tone could be transcribed into a plausible-looking sentence and scored as if you had spoken — now the report recognises there was nothing to coach and asks you to check your mic and record again.
- Inviting someone who already uses LumiLearn now works. The invite page used to offer everyone a create-account form, so a person who already had an account was told to check their email and nothing ever arrived. Now the page recognizes them: signed in with the invited address, one click accepts and lands them in the new workspace; signed out, they sign in — with their password or Google — and join in the same step. Creating an account is only offered to addresses that don't have one.
- Speech practice reports for pasted-text sessions no longer show a bogus "0:00" duration. With no recording there is nothing to time, so the duration now says "— needs audio", matching the words-per-minute card.
- The calendar now speaks your language everywhere: the "failed to load" message, the clear-date-range control, the unscheduled-lessons panel, the timeline's lesson and program detail cards, and the status board all follow the selected language instead of staying in English.
- The Activity Log now shows a proper translated description for every action — API keys, invitations, tags, question bank, team membership and QR changes included — instead of raw codes like "api_key.created", and old entries written before the product's rename no longer show the retired "cohort" wording.
- Importing lessons from a JSON file now actually creates the lessons. The import was sending every row to an address the server didn't have, so nothing was ever created — and a row that fails now says which lesson failed and why, instead of disappearing into a bare count.
- The Create Lesson dialog no longer vanishes mid-typing on slow connections. Creating a lesson and immediately reopening the dialog could have the first lesson's late-arriving page update close the open form and lose what you had typed; the update now waits until the dialog is closed.
- Partner reports are now accurate for large programs. When a program had collected more than a thousand feedback responses, the report's NPS, response count and quiz count were silently computed from only the first thousand rows; every response and quiz is now included.
- The Slack reports-channel picker now says when the workspace has more channels than it can list, instead of silently showing a shortened list.
- Saving or publishing a quiz now takes you to that quiz. It used to drop you on the lesson's page — on its Feedback & Surveys section, with the quiz you just built nowhere in sight.
- Choosing what kind of quiz to build is now its own step. The builder runs Kind → Setup → Questions → Review, and the kind you picked is shown at the top of Setup with a Change button if you want to go back. Coming from the Quizzes page, the tab you were on already answers it, so you go straight to Setup with the step marked done — the kind step only appears when nothing chose for you, such as a bookmarked link.
- The quiz builder now asks what you are creating first, and then only asks what that kind of quiz actually needs. A live quiz no longer offers "before / after / both" phase links or the "All on one page vs question by question" choice — neither means anything for a quiz the host paces by PIN — and the tip beside the form explains how live scoring works instead of describing pre-post.
- Creating a quiz from the Real-Time tab now starts a live quiz. Both tabs shared one New quiz button that always opened a before-and-after draft, so a live quiz meant noticing the run-mode toggle partway through the wizard. Each tab now has its own create button — New quiz on Pre-Post, New live quiz on Real-Time — and the empty Real-Time list offers the same live action.
- Opening a live quiz no longer shows it as a before-and-after test. It used to open the same page as any other quiz, offering PRE-TEST and POST-TEST share links for a quiz that has neither phase — and the Real-Time tab listed every quiz in the workspace, not just the live ones.
- The buttons on a quiz page are in a sensible order. Seven equal-sized buttons — including a red Delete — used to sit side by side with nothing marked as the thing to do; now there is one main action for the quiz's mode, Edit beside it, and everything else behind a "…" menu.
- The quiz list no longer scrolls sideways. It used to carry ten columns, so reading a quiz meant dragging the table left and right.
- The Quizzes page no longer flashes the wrong section on load when you had previously switched to Real-Time quizzes or Analytics.
- The four tabs on a program page (Lessons, Insights, Feedback questions, Settings) no longer run together into one line of text. In Armenian and Russian the labels are long enough to touch, and the strip behind them was nearly invisible; each tab now has an icon, real spacing, and an active state that is clearly visible in both light and dark themes.
- Program banners look right again on the program page. Two of the ready-made photo banners had gone dead and showed nothing, the buttons sitting on top of the banner rendered as black boxes, and a light banner got white text it could not carry. Banner artwork now also fills its frame everywhere it is shown — the settings preview and the picker swatches used to show a random tiled crop.
- A dark banner no longer swallows the text on the public feedback page and in the Q&A room, which put dark text straight onto the artwork.
Changed
- Homework counts now read against the whole group, not just the people who have posted. LumiLearn asks Telegram how many members the group has (minus the bot) and keeps it fresh — when the bot joins, on every open of the Integrations card after five minutes, and on Refresh. The lesson block, its header chip, the program's Homework tab and the Integrations tally all say "1 of 7 submitted · 6 never posted"; the Students tile on the program tab shows the member total and how many never posted; and the group card in Integrations shows the member count. When Telegram has not reported a size, nothing is guessed — the old "of judged" wording stays.
- The lesson's homework block now says "N messages seen", and "(M deleted)" when some of them have since been removed in Telegram.
- A live quiz question now always runs its full time, even once everyone has answered. It used to be cut short a second after the last answer landed, so in a small class the question ended almost the moment it began and the clock vanished off the projector. Teachers can still end a question early with Skip.
- The gap between two questions is now about two seconds instead of nine. The separate standings screen that sat between every pair of questions is gone — the teacher already has the live standings on screen throughout — and the countdown on the reveal now says how long until the next question instead of promising a results screen.
- The card shop in live quizzes has moved off the question screen. Questions are now just questions; the shop opens as its own short break between rounds — after every second question in a short quiz, less often in a long one, and never after the last — where each player sees their coins and a fresh hand of three cards for ten seconds before the next question starts on its own. Cards already held can still be played from the hotbar during a question.
- The host screen no longer miscounts the questions in a live game. It showed every question in the quiz — including the open-text ones a live game cannot score — so a run with four gradeable questions read "1 of 6" on the projector and never reached six. It now shows the same count the students do.
- The talking-head video dialog is now a guided three-step composer — Narration, Presenter, Voice — with a step bar across the top, length/style/language grouped into one compact strip, and a live word counter under the narration box that shows how many words the chosen clip length buys and roughly how long what you have written will run. Presenters are picked from a grid of cards and voices from a list of named rows instead of two dropdowns, speed, pitch, engine and stability fold into one "Advanced voice settings" panel, and the footer keeps a running summary of your choices next to the render button.
- The live settings tab now lists the whole card catalogue — all thirteen cards grouped by rarity, with each tier's real price for this quiz — instead of the seven it was still showing at prices that no longer applied. Card prices scale with quiz length, so a shorter quiz shows higher numbers.
- Switching a card off in the live settings now actually removes it from the game: it will not appear in the LumiCoin shop, and it will not appear in the no-shop power-up deal either. Previously these tick boxes had no effect on the shop at all.
- Teacher pages now score each teacher on their own NPS answers, including lessons they co-taught.
- The Live section now opens straight on the list of quizzes. The large "Host live interactive quizzes" banner that filled the top of the screen is gone; its three-step explainer and the interactive demo now sit behind a compact "How it works" button in the header, next to the tutorial video.
- Live quiz cards were rebuilt around what a teacher needs before hosting: the quiz's state (Draft / Open / Closed, with a pulsing dot while a session is actually running) sits above the name, the program it belongs to underneath, then the six-digit join code — hidden behind a show/hide toggle, since this list gets opened on classroom projectors — with a one-click copy of the join link.
- The Live list can now be filtered by category and by status, alongside the existing search and program filter. Searching also matches a join code, so a code read off the projector finds its quiz.
- The sidebar is now grouped into labelled sections — Overview, Teaching (Programs, Calendar, Lessons), Assessment (Quizzes, Live, Reports), Operations (Teachers, Integrations), plus Library and Settings — instead of one nine-item "Navigate" list. Collapsed, the groups are separated by thin dividers.
- Real-time (live) quizzes now have their own "Live" section in the main navigation. The old "Quizzes / Surveys" section is renamed "Pre-Post quizzes" and covers before/after assessments only — its Real-Time tab redirects to the new section, so hosting a live game and building a pre/post assessment no longer share a screen or a name.
- The "Active programs" tile on the teacher dashboard is now "Programs taught" — in English, Armenian and Russian — so it reads as what it counts.
- "Active Lessons" is now "Lessons held", and "Total Responses" left the headline row — the count now rides beside the response rate under the NPS number, so the hero numbers are ones a teacher can act on.
- The back button on a teacher's profile now returns to wherever you came from (falling back to the teachers list) instead of always jumping to the list — and never lands on a retired page address.
- Archived programs no longer show up in a teacher profile's program badges or its assignment dropdown.
- Lesson videos can now be as short as 10 seconds — the length choice is 10, 20 or 30 seconds, one minute or two — and two minutes is the new maximum. Very short clips drop the greeting and the wrap-up so they say one thing and stop.