[{"data":1,"prerenderedAt":433},["ShallowReactive",2],{"navbar-blog-translation-/ru/blog/2026-09-10-why-we-built-uclass-one/":3,"blog-article-ru-/ru/blog/2026-09-10-why-we-built-uclass-one":177,"blog-translation-ru-/ru/blog/2026-09-10-why-we-built-uclass-one":331},{"id":4,"title":5,"body":6,"description":164,"draft":165,"extension":166,"featured":167,"image":168,"meta":169,"navigation":167,"path":170,"publishedAt":171,"seo":172,"sitemap":173,"stem":174,"updatedAt":175,"__hash__":176},"blog_en/blog/2026-09-10-why-we-built-uclass-one.md","“How many classes do I have left?” — Why we built UClass.one",{"type":7,"value":8,"toc":156},"minimark",[9,17,20,23,30,33,36,41,44,62,65,68,72,75,78,81,84,87,90,93,97,103,106,109,112,115,121,125,128,131,134,142,150,153],[10,11,12,13,16],"p",{},"“Hey, how many classes do I have left?”",[14,15],"br",{},"\n“Two more.”",[10,18,19],{},"These days, that conversation takes a few seconds at Roman’s training sessions: a glance at his phone is enough. Before, it meant opening a spreadsheet and counting check marks, then, if the student had been ill, remembering which absences had already been accounted for and how far their pass had been extended.",[10,21,22],{},"UClass.one grew out of conversations like these.",[10,24,25],{},[26,27],"img",{"alt":28,"src":29},"A capoeira class: an instructor and children practising a movement together","/blog/why-we-built-uclass-one/class.jpg",[10,31,32],{},"We’re Roman and Natalia. Roman teaches capoeira; Natalia used to teach yoga. We’ve always worked independently: renting spaces, putting groups together, teaching, and handling everything that inevitably comes with it — from taking payments to figuring out why one student’s pass has expired while another’s apparently hasn’t.",[10,34,35],{},"On July 30, 2026, we released UClass.one for iPhone and Android. Several years passed between the first idea and the release, and it all started with a fairly ordinary problem.",[37,38,40],"h2",{"id":39},"when-a-spreadsheet-stops-helping","When a spreadsheet stops helping",[10,42,43],{},"Roman:",[45,46,47,50,53,56,59],"blockquote",{},[10,48,49],{},"In my first classes, I kept attendance on paper. Then I set up a Google Sheet — surely that would get my records in order.",[10,51,52],{},"It was manageable on a computer, but I needed to open it on my phone, right there in the room, with people standing in front of me waiting for an answer. Children’s classes were especially fun.",[10,54,55],{},"Kids got sick, parents brought doctor’s notes, and in our city the usual practice was that classes missed due to illness wouldn’t be lost. So each time I had to work out what the next pass should cost or how long to extend the current one, while remembering what I’d already adjusted last time.",[10,57,58],{},"And there you are, facing a parent with a doctor’s note. Five more people are waiting to pay. Class needs to start, and you’re counting check marks.",[10,60,61],{},"That was when I thought: this could just be a simple app. Mark attendance, record a payment, and see straight away where someone stands with their pass.",[10,63,64],{},"Natalia did things differently: she took payment for individual classes and didn’t keep detailed records. There were no pass balances to untangle, but there was no precise answer to “How much did yoga bring in this month?” either.",[10,66,67],{},"We worked differently, but both of us lacked clarity on things that kept coming up around our classes. How many visits are left? Who needs to buy their next pass? How much money came in this month?",[37,69,71],{"id":70},"building-it-for-ourselves-and-trying-it-in-class","Building it for ourselves — and trying it in class",[10,73,74],{},"We did look for an existing solution. But what we found at the time was mostly built for fitness centres, where an administrator sits at a computer and keeping records is part of their job.",[10,76,77],{},"We didn’t have an administrator — we did everything ourselves.",[10,79,80],{},"So the app had to work on a phone, right there “on the mat”: while students were arriving, while someone came over to pay, whenever there were a few seconds to check people in.",[10,82,83],{},"Roman is a backend developer, so he started building that tool himself. The first version ran in a browser, looked rough, and in places was frankly awkward to use. But it already did the jobs it had been built for, so it got used — and gradually it became clear what needed reworking.",[10,85,86],{},"The original aim was to make every action take three taps. In actual classes, some things turned out to need considerably more, while others were awkward not because of the buttons but because the underlying logic was too complicated. Passes, absences, and extensions took a particularly long time to get right.",[10,88,89],{},"Natalia helped with design and tested the app from the perspective of someone who hadn’t been told how everything worked beforehand. Is it obvious where to tap? What just happened? Why does an ordinary task take so many steps?",[10,91,92],{},"Over time, a personal tool became our family project. Building and refining the mobile app took another year or more.",[37,94,96],{"id":95},"being-able-to-answer-straight-away","Being able to answer straight away",[10,98,99],{},[26,100],{"alt":101,"src":102},"UClass.one screen composition: class attendance and a student's pass, using demonstration data","/blog/why-we-built-uclass-one/attendance-and-student.png",[10,104,105],{},"Roman uses UClass.one at his training sessions at least twice a week, recording attendance and payments. That’s still our main test: can you quickly do what you need and get back to teaching, or is the app demanding too much attention again?",[10,107,108],{},"You mark attendance with one tap and see what’s happening with a pass: how many classes are left, when it expires, whether it’s time for a payment reminder, or whether someone has already attended classes they still owe for. If the pass rules allow an extension, the app accounts for it.",[10,110,111],{},"Attendance and payments gradually add up to a wider picture, which you don’t want to piece together by hand at the end of every month either. The dashboard shows revenue and attendance rate: if people start coming less often, you can notice in time and think about recruiting new students before paying the rent becomes an urgent concern.",[10,113,114],{},"For us, that’s the whole point of the app. Keeping records takes more than time: you have to remember something, check it, decide whether to extend a pass or deduct a visit, then keep the result in your head. When it’s already accounted for and visible on screen, it gets a little easier to focus on teaching.",[10,116,117],{},[26,118],{"alt":119,"src":120},"UClass.one dashboard composition: school statistics, attendance and revenue, using demonstration data","/blog/why-we-built-uclass-one/dashboard.png",[37,122,124],{"id":123},"now-for-other-instructors","Now, for other instructors",[10,126,127],{},"For Roman, this release is something he’s dreamed about for the past several years. He wanted to make a useful tool for people facing the same difficulties, especially since we know so many instructors who do. His own capoeira master, for example, still keeps records in Google Sheets.",[10,129,130],{},"We have a clear picture of the person we’re building UClass.one for. They rent a space, teach group or individual sessions, sell class passes, and answer their students’ questions themselves. If they teach children, they probably know the whole story with absences too.",[10,132,133],{},"To us, UClass.one means “one app for the whole class.” Your class, your students, and the everyday tasks that determine how it all works. We started with attendance, payments, and passes; we have plenty more ideas, but we want to develop them the same way we began — by trying things in practice and listening to the people using the app.",[10,135,136,137,141],{},"If this sounds like your working day, ",[138,139,140],"store-download",{},"try UClass.one at your next class",".",[10,143,144,145,149],{},"The app is available on iPhone and Android, with a free plan for small groups of up to ",[146,147,148],"strong",{},"15 students",". Core attendance and pass management features will stay free for small groups. If you already have a student list in a spreadsheet, you can bring it across using the import feature — the free plan includes two import sessions.",[10,151,152],{},"And please write to us if something feels awkward, isn’t clear, or lacks a feature you rely on. There’s a feedback form in the app, and you can also reach us by email. We’re interested in how UClass.one fits into your classes: our own experience got us started, and yours will help us see things we haven’t encountered ourselves.",[10,154,155],{},"Roman and Natalia",{"title":157,"searchDepth":158,"depth":158,"links":159},"",2,[160,161,162,163],{"id":39,"depth":158,"text":40},{"id":70,"depth":158,"text":71},{"id":95,"depth":158,"text":96},{"id":123,"depth":158,"text":124},"Roman and Natalia’s story: from paper records and Google Sheets to an app for independent instructors who handle everything themselves.",false,"md",true,"/blog/why-we-built-uclass-one/cover.png",{},"/blog/2026-09-10-why-we-built-uclass-one","2026-09-10",{"title":5,"description":164},{"loc":170},"blog/2026-09-10-why-we-built-uclass-one",null,"qHG8t8UA4nLpK2AXa9FlhW7s0YZEXI_tZSSCOvknMe4",{"id":178,"title":179,"body":180,"description":324,"draft":165,"extension":166,"featured":167,"image":168,"meta":325,"navigation":167,"path":326,"publishedAt":171,"seo":327,"sitemap":328,"stem":329,"updatedAt":175,"__hash__":330},"blog_ru/ru/blog/2026-09-10-why-we-built-uclass-one.md","«А сколько у меня занятий осталось?» — зачем мы сделали UClass.one",{"type":7,"value":181,"toc":318},[182,188,191,194,199,202,205,209,212,229,232,235,239,242,245,248,251,254,257,260,264,269,272,275,278,281,286,290,293,296,299,305,312,315],[10,183,184,185,187],{},"— Слушай, а сколько у меня занятий осталось?",[14,186],{},"\n— Ещё два.",[10,189,190],{},"Сейчас на тренировках Романа этот разговор занимает несколько секунд: достаточно посмотреть в телефон. Раньше приходилось открывать таблицу и считать галочки, а если ученик болел — ещё вспоминать, какие пропуски уже учтены и на сколько продлён абонемент.",[10,192,193],{},"Из таких разговоров и вырос UClass.one.",[10,195,196],{},[26,197],{"alt":198,"src":29},"Занятие капоэйрой: преподаватель и дети выполняют движение вместе",[10,200,201],{},"Мы — Роман и Наталья. Роман преподаёт капоэйру, Наталья преподавала йогу. Мы всегда работали на себя: арендовали залы, собирали группы, проводили занятия, а заодно занимались всем, что неизбежно идёт в комплекте с преподаванием, — от приёма оплаты до выяснения, почему у одного ученика абонемент уже закончился, а у другого вроде бы ещё нет.",[10,203,204],{},"30 июля 2026 года мы выпустили UClass.one для iPhone и Android. От первой идеи до выпуска прошло несколько лет, и началось всё довольно буднично.",[37,206,208],{"id":207},"когда-таблица-перестаёт-помогать","Когда таблица перестаёт помогать",[10,210,211],{},"Роман:",[45,213,214,217,220,223,226],{},[10,215,216],{},"На своих первых занятиях я отмечал посещаемость на бумаге. Потом завёл Google Таблицы — казалось, теперь-то учёт будет в порядке.",[10,218,219],{},"За компьютером с ними ещё можно было работать, но мне нужно было открывать таблицу на телефоне, прямо в зале, когда перед тобой стоят люди и ждут ответа. Особенно весело было с детскими группами.",[10,221,222],{},"Дети болели, родители приносили справки, а в нашем городе было принято, что занятия, пропущенные по болезни, не сгорают. Поэтому каждый раз нужно было разобраться, сколько теперь стоит следующий абонемент или на сколько продлить текущий, не забыв при этом, что ты уже пересчитал в прошлый раз.",[10,224,225],{},"И вот перед тобой родитель со справкой. За ним ещё пять человек хотят оплатить. Занятие пора начинать, а ты считаешь галочки.",[10,227,228],{},"Тогда я и подумал: это же может быть простое приложение. Отметил посещение, записал оплату — и сразу видишь, что у человека с абонементом.",[10,230,231],{},"У Натальи всё было устроено иначе: она принимала оплату за отдельные занятия и не вела подробного учёта. С остатками абонементов разбираться не приходилось, зато на вопрос «сколько за этот месяц принесла йога?» точного ответа не было.",[10,233,234],{},"Мы работали по-разному, но обоим не хватало ясности в вещах, которые постоянно возникали вокруг занятий. Сколько осталось посещений? Кому пора оплачивать следующий абонемент? Сколько денег пришло за месяц?",[37,236,238],{"id":237},"сделать-для-себя-и-проверить-в-зале","Сделать для себя — и проверить в зале",[10,240,241],{},"Готовое решение мы искали. Но то, что тогда находилось, в основном было рассчитано на фитнес-центры, где есть администратор за компьютером и учёт — часть его работы.",[10,243,244],{},"А у нас никакого администратора не было — мы всё делали сами.",[10,246,247],{},"Поэтому приложение должно было работать с телефона, прямо «на мате»: пока ученики собираются, пока кто-то подходит с оплатой, пока есть несколько секунд, чтобы отметить пришедших.",[10,249,250],{},"Роман работает бэкенд-разработчиком и взялся сделать такой инструмент сам. Первая версия открывалась в браузере, выглядела неказисто и местами была откровенно неудобной. Но задачи, ради которых появилась, уже решала, поэтому ею пользовались — и постепенно становилось понятно, что именно нужно переделать.",[10,252,253],{},"Изначально хотелось уложить любое действие в три тапа. На реальных занятиях выяснилось, что иногда тапов ощутимо больше, а некоторые вещи неудобны не из-за кнопок, а потому, что сама логика получилась слишком сложной. С абонементами, пропусками и продлениями пришлось разбираться особенно долго.",[10,255,256],{},"Наталья помогала с дизайном и тестировала приложение, оценивая его с позиции человека, которому никто заранее не объяснил, как всё устроено. Понятно ли, куда нажать? Что сейчас произошло? Почему для обычного действия нужно столько шагов?",[10,258,259],{},"Так личный инструмент постепенно стал нашим семейным проектом. Разработка мобильного приложения и доработки заняли ещё год с лишним.",[37,261,263],{"id":262},"чтобы-можно-было-ответить-сразу","Чтобы можно было ответить сразу",[10,265,266],{},[26,267],{"alt":268,"src":102},"Композиция с экранами UClass.one: посещаемость занятия и абонемент ученика; демонстрационные данные",[10,270,271],{},"Роман пользуется UClass.one на своих тренировках минимум дважды в неделю — отмечает посещаемость и платежи. Это по-прежнему наша основная проверка: получается ли быстро сделать нужное и вернуться к занятию или приложение опять требует слишком много внимания?",[10,273,274],{},"Отмечаешь посещение одним тапом и видишь, что происходит с абонементом: сколько занятий осталось, когда заканчивается срок, пора ли напомнить об оплате или человек уже ходит в долг. Если по правилам абонемента предусмотрено продление, приложение его учитывает.",[10,276,277],{},"Из посещений и оплат постепенно складывается общая картина, которую тоже не хочется собирать вручную в конце месяца. На дашборде видны выручка и процент посещаемости: если люди стали ходить реже, это можно заметить вовремя и задуматься о новом наборе, пока вопрос оплаты аренды не стал срочным.",[10,279,280],{},"Для нас в этом и есть смысл приложения. Учёт отнимает не только время: каждый раз нужно что-то вспомнить, проверить, решить, продлевать или списывать, а потом ещё удержать результат в голове. Когда всё это уже учтено и видно на экране, становится немного легче заниматься своей основной работой.",[10,282,283],{},[26,284],{"alt":285,"src":120},"Композиция с дашбордом UClass.one: статистика школы, посещаемость и выручка; демонстрационные данные",[37,287,289],{"id":288},"теперь-для-других-преподавателей","Теперь — для других преподавателей",[10,291,292],{},"Для Романа этот выпуск — мечта последних нескольких лет. Хотелось сделать полезный инструмент для людей, которые сталкиваются с теми же трудностями, тем более что таких преподавателей мы знаем много. Его мастер, например, до сих пор ведёт учёт в Google Таблицах.",[10,294,295],{},"Мы хорошо представляем человека, для которого делаем UClass.one. Он арендует зал, ведёт групповые или индивидуальные занятия, продаёт абонементы и сам отвечает на вопросы учеников. Если работает с детьми — наверняка знает и всю историю с пропусками.",[10,297,298],{},"Название UClass.one для нас означает «одно приложение для всего класса». Твой класс, твои ученики и повседневные дела, от которых зависит, как всё работает. Мы начали с посещаемости, оплат и абонементов; идей впереди гораздо больше, но развивать их хотим так же, как начинали, — проверяя на практике и слушая тех, кто пользуется приложением.",[10,300,301,302,141],{},"Если вы узнали здесь свою работу, ",[138,303,304],{},"попробуйте UClass.one на ближайшем занятии",[10,306,307,308,311],{},"Приложение доступно на iPhone и Android, а для небольшой группы до ",[146,309,310],{},"15 учеников"," есть бесплатный тариф. Ключевые возможности учёта посещаемости и абонементов останутся бесплатными для небольших групп. Если список учеников уже есть в таблице, его можно перенести через импорт — в бесплатный тариф включены две сессии.",[10,313,314],{},"И напишите нам, если что-то окажется неудобным, непонятным или будет не хватать привычной вам возможности. В приложении есть форма обратной связи, также с нами можно связаться по email. Нам интересно, как UClass.one впишется в ваши занятия: собственный опыт помог нам начать, а ваш поможет увидеть то, с чем мы сами ещё не сталкивались.",[10,316,317],{},"Роман и Наталья",{"title":157,"searchDepth":158,"depth":158,"links":319},[320,321,322,323],{"id":207,"depth":158,"text":208},{"id":237,"depth":158,"text":238},{"id":262,"depth":158,"text":263},{"id":288,"depth":158,"text":289},"История Романа и Натальи: от бумажного учёта и Google Таблиц до приложения для преподавателей, которые всё ведут сами.",{},"/ru/blog/2026-09-10-why-we-built-uclass-one",{"title":179,"description":324},{"loc":326},"ru/blog/2026-09-10-why-we-built-uclass-one","p3U-RXnsTfsPAlnMZ4W787cOaGO9PXj2EMmFMabwguI",{"id":4,"title":5,"body":332,"description":164,"draft":165,"extension":166,"featured":167,"image":168,"meta":430,"navigation":167,"path":170,"publishedAt":171,"seo":431,"sitemap":432,"stem":174,"updatedAt":175,"__hash__":176},{"type":7,"value":333,"toc":424},[334,338,340,342,346,348,350,352,354,366,368,370,372,374,376,378,380,382,384,386,388,392,394,396,398,400,404,406,408,410,412,416,420,422],[10,335,12,336,16],{},[14,337],{},[10,339,19],{},[10,341,22],{},[10,343,344],{},[26,345],{"alt":28,"src":29},[10,347,32],{},[10,349,35],{},[37,351,40],{"id":39},[10,353,43],{},[45,355,356,358,360,362,364],{},[10,357,49],{},[10,359,52],{},[10,361,55],{},[10,363,58],{},[10,365,61],{},[10,367,64],{},[10,369,67],{},[37,371,71],{"id":70},[10,373,74],{},[10,375,77],{},[10,377,80],{},[10,379,83],{},[10,381,86],{},[10,383,89],{},[10,385,92],{},[37,387,96],{"id":95},[10,389,390],{},[26,391],{"alt":101,"src":102},[10,393,105],{},[10,395,108],{},[10,397,111],{},[10,399,114],{},[10,401,402],{},[26,403],{"alt":119,"src":120},[37,405,124],{"id":123},[10,407,127],{},[10,409,130],{},[10,411,133],{},[10,413,136,414,141],{},[138,415,140],{},[10,417,144,418,149],{},[146,419,148],{},[10,421,152],{},[10,423,155],{},{"title":157,"searchDepth":158,"depth":158,"links":425},[426,427,428,429],{"id":39,"depth":158,"text":40},{"id":70,"depth":158,"text":71},{"id":95,"depth":158,"text":96},{"id":123,"depth":158,"text":124},{},{"title":5,"description":164},{"loc":170},1789065876264]