[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"media-detail-with-another--tut-pochti-standartno-para-nyuansov-kak-eta-fraza-ubivaet-ekonomiku-podpiski":3},{"media":4,"anotherMedia":929},{"id":5,"documentId":6,"title":7,"date":8,"description":9,"order":10,"slug":11,"showOnMainPage":12,"createdAt":13,"updatedAt":14,"publishedAt":15,"locale":16,"media_areas":17,"cover":877,"content":924},297,"yazmsp31df1ggv8saaix8dkd","«Тут почти стандартно, пара нюансов»: как эта фраза убивает экономику подписки\n","2026-07-22",null,1,"-tut-pochti-standartno-para-nyuansov-kak-eta-fraza-ubivaet-ekonomiku-podpiski",true,"2026-07-22T11:46:36.625Z","2026-09-13T23:21:38.544Z","2026-09-13T23:21:38.602Z","ru",[18,860],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16,"media":26,"localizations":859},2,"ei24o3vyhndi1hqwqhnd61p0","Все","ALL",500,"2026-02-25T07:47:50.713Z","2026-02-25T07:47:50.739Z",[27,38,48,58,67,76,85,94,104,113,123,132,141,150,159,168,177,186,195,204,205,214,223,232,242,251,260,269,278,287,295,305,315,324,333,342,351,360,369,378,387,396,405,414,423,432,441,450,459,468,477,484,492,500,508,515,523,531,540,548,556,564,572,580,588,597,607,616,625,634,642,650,658,665,673,681,689,697,704,712,720,729,738,746,753,761,770,779,788,796,805,814,823,832,841,850],{"id":28,"documentId":29,"title":30,"date":31,"description":32,"order":33,"slug":34,"showOnMainPage":12,"createdAt":35,"updatedAt":36,"publishedAt":37,"locale":16},194,"ogd13ylii6xd51tsg0yg5vjm","Мы регулярно участвуем в премиях \u2028и рейтингах ","2025-12-12","В этом году мы не «надеялись на победу» — мы за ней поехали",600,"my-regulyarno-uchastvuem-v-premiyah-i-rejtingah-1","2026-02-27T13:43:43.450Z","2026-07-30T14:49:41.482Z","2026-07-30T14:49:41.550Z",{"id":39,"documentId":40,"title":41,"date":42,"description":43,"order":33,"slug":44,"showOnMainPage":12,"createdAt":45,"updatedAt":46,"publishedAt":47,"locale":16},432,"ydsmydf287a3yxdji1i4r5z1","еще одна победа!","2025-12-04","Проект Qtim — приложение «Дневник» для «Онлайн-школы №1» — занял третье место в Рейтинге Рунета.","eshhe-odna-pobeda","2026-03-04T07:03:38.855Z","2026-09-24T08:03:19.588Z","2026-09-24T08:03:19.684Z",{"id":49,"documentId":50,"title":51,"date":52,"description":53,"order":33,"slug":54,"showOnMainPage":12,"createdAt":55,"updatedAt":56,"publishedAt":57,"locale":16},431,"r3pwx014em719gtwicw9p36t"," церемония награждения премии «Золотой сайт»","2024-12-20","Онлайн-школа №1 забирает все награды","czeremoniya-nagrazhdeniya-premii-zolotoj-sajt","2026-03-04T10:16:10.453Z","2026-09-24T08:02:37.029Z","2026-09-24T08:02:37.109Z",{"id":59,"documentId":60,"title":61,"date":62,"description":9,"order":23,"slug":63,"showOnMainPage":12,"createdAt":64,"updatedAt":65,"publishedAt":66,"locale":16},136,"ej9r23ghy5qy8etbvuujvhun","ФНС проверяет реальность ИТ-разработок","2026-03-25","fns-proveryaet-realnost-it-razrabotok-chto-mozhno-uspet-za-30-dnej","2026-03-25T09:35:43.649Z","2026-05-27T09:11:19.129Z","2026-05-27T09:11:19.211Z",{"id":68,"documentId":69,"title":70,"date":71,"description":9,"order":23,"slug":72,"showOnMainPage":12,"createdAt":73,"updatedAt":74,"publishedAt":75,"locale":16},135,"px232j10z8907syoldwzbqnw","Почему рынку в 2026 году нужен не статус ИТ-компании, а доказуемый продукт","2026-03-27","pochemu-v-2026-godu-vazhen-ne-status-it-kompanii-a-realnyj-produkt","2026-03-27T15:41:14.276Z","2026-05-27T09:11:04.501Z","2026-05-27T09:11:04.562Z",{"id":77,"documentId":78,"title":79,"date":80,"description":9,"order":23,"slug":81,"showOnMainPage":12,"createdAt":82,"updatedAt":83,"publishedAt":84,"locale":16},430,"gbefdj7617jkuhdg2uiw6ifn","Сколько стоит разработка MVP в 2026","2026-03-26","stoimost-razrabotki-mvp-v-2026-godu","2026-03-27T16:29:20.000Z","2026-09-23T22:15:22.300Z","2026-09-23T22:15:22.361Z",{"id":86,"documentId":87,"title":88,"date":89,"description":9,"order":23,"slug":90,"showOnMainPage":12,"createdAt":91,"updatedAt":92,"publishedAt":93,"locale":16},134,"rl2huy6muohp1clo4cvg00zz","Рынок готовых платформ попадает в зону давления","2026-03-31","rynok-gotovyh-platform-pod-davleniem","2026-03-31T16:00:40.688Z","2026-05-27T09:10:09.516Z","2026-05-27T09:10:09.576Z",{"id":95,"documentId":96,"title":97,"date":98,"description":99,"order":33,"slug":100,"showOnMainPage":12,"createdAt":101,"updatedAt":102,"publishedAt":103,"locale":16},433,"slc42o5s3klmtwkvvzyjfji5","Забрали сразу две награды на премии «Золотое приложение»","2026-04-01","Две награды. Два разных проекта. Два сильных результата.\n","zolotoe-prilozhenie","2026-04-03T07:26:17.360Z","2026-09-24T08:05:25.947Z","2026-09-24T08:05:26.013Z",{"id":105,"documentId":106,"title":107,"date":108,"description":9,"order":23,"slug":109,"showOnMainPage":12,"createdAt":110,"updatedAt":111,"publishedAt":112,"locale":16},156,"qu6e4sgiy5zjcz548x1mija8","Почему EdTech-проектам рискованно строиться на чужой платформе","2026-04-10","riski-edtech-proektov-na-chuzhikh-platformakh","2026-04-10T14:54:48.320Z","2026-05-27T11:20:55.448Z","2026-05-27T11:20:55.519Z",{"id":114,"documentId":115,"title":116,"date":117,"description":9,"order":118,"slug":119,"showOnMainPage":12,"createdAt":120,"updatedAt":121,"publishedAt":122,"locale":16},195,"ersgie5e85wpniq47fuqbstp","Почему дешевые обходные схемы становятся дорогими","2026-04-14",300,"pochemu-deshevye-shemy-obkhoda-privodyat-k-vysokim-zatratam","2026-04-14T13:00:12.314Z","2026-07-30T14:50:35.406Z","2026-07-30T14:50:35.453Z",{"id":124,"documentId":125,"title":126,"date":127,"description":9,"order":23,"slug":128,"showOnMainPage":12,"createdAt":129,"updatedAt":130,"publishedAt":131,"locale":16},153,"g5b2wxj7re10lyayjsqbpd9j","Как понять, чем компания реально управляет в своем ИТ-продукте","2026-04-15","kak-proverit-upravlenie-it-produktom-v-kompanii","2026-04-15T15:10:47.274Z","2026-05-27T11:14:52.446Z","2026-05-27T11:14:52.512Z",{"id":133,"documentId":134,"title":135,"date":136,"description":9,"order":23,"slug":137,"showOnMainPage":12,"createdAt":138,"updatedAt":139,"publishedAt":140,"locale":16},155,"iemgcvwws2lyzyz8qref9ebq","Где заканчивается внедрение и начинается собственный продукт","2026-04-23","vnedrenie-korobochnyh-resheniy-i-sobstvennyy-produkt-dlya-biznesa","2026-04-23T12:45:27.057Z","2026-05-27T11:20:11.958Z","2026-05-27T11:20:12.051Z",{"id":142,"documentId":143,"title":144,"date":145,"description":9,"order":23,"slug":146,"showOnMainPage":12,"createdAt":147,"updatedAt":148,"publishedAt":149,"locale":16},151,"ebwajdbr53mo5mno9n9hy44c","AI-агенты в продакшене: экономия или новая статья расходов","2026-04-29","ai-agenty-v-biznese","2026-04-29T15:00:44.149Z","2026-05-27T11:12:37.292Z","2026-05-27T11:12:37.378Z",{"id":151,"documentId":152,"title":153,"date":154,"description":9,"order":23,"slug":155,"showOnMainPage":12,"createdAt":156,"updatedAt":157,"publishedAt":158,"locale":16},415,"h713429nv5nf42hksety3udo","Как выбрать подрядчика по разработке: чек-лист от компании с 280+ проектами","2026-05-12","kak-vybrat-podryadchika-po-razrabotke","2026-05-12T14:27:43.934Z","2026-09-23T20:19:18.515Z","2026-09-23T20:19:18.584Z",{"id":160,"documentId":161,"title":162,"date":163,"description":9,"order":23,"slug":164,"showOnMainPage":12,"createdAt":165,"updatedAt":166,"publishedAt":167,"locale":16},420,"fleu8iabwalh7dwbfkxuew4p","Flutter в продакшене: где появляется экономия","2026-06-23","flutter-v-razrabotke-ekonomiya-na-mobilnykh-prilozheniyakh","2026-06-23T13:14:39.410Z","2026-09-23T20:40:37.837Z","2026-09-23T20:40:37.893Z",{"id":169,"documentId":170,"title":171,"date":172,"description":9,"order":23,"slug":173,"showOnMainPage":12,"createdAt":174,"updatedAt":175,"publishedAt":176,"locale":16},421,"g0rbfiyvtlpoh0wlalq8dsyp","Когда бизнесу пора переходить от идеи к MVP","2026-07-03","kogda-biznesu-stoit-perehodit-ot-idei-k-mvp","2026-07-03T14:26:20.648Z","2026-09-23T20:42:23.321Z","2026-09-23T20:42:23.381Z",{"id":178,"documentId":179,"title":180,"date":181,"description":9,"order":118,"slug":182,"showOnMainPage":12,"createdAt":183,"updatedAt":184,"publishedAt":185,"locale":16},423,"txt60k65mnql530q38z0path","Когда онлайн-школе пора менять стандартную LMS\n","2026-07-13","kogda-onlajn-shkole-stoit-smenit-standartnuyu-lms","2026-07-13T14:45:31.490Z","2026-09-23T20:55:07.323Z","2026-09-23T20:55:07.429Z",{"id":187,"documentId":188,"title":189,"date":190,"description":9,"order":19,"slug":191,"showOnMainPage":12,"createdAt":192,"updatedAt":193,"publishedAt":194,"locale":16},338,"b82vt0dmoot3vi0yo5y3j435","Как посчитать бюджет RAG и не переплатить за модель","2026-07-14","kak-rasschitat-byudzet-rag-i-izbezhat-lishnikh-zatrat","2026-07-14T12:01:48.568Z","2026-09-17T22:42:53.015Z","2026-09-17T22:42:53.076Z",{"id":196,"documentId":197,"title":198,"date":199,"description":9,"order":23,"slug":200,"showOnMainPage":12,"createdAt":201,"updatedAt":202,"publishedAt":203,"locale":16},424,"jknljxwtbcr6umo95k5onfcq","Мы выбрали для EdTech ту же технологию, что и Pornhub. Потому что тормоза всем мешают","2026-07-17","-tekhnologiya-pornhub-dlya-edtech","2026-07-17T13:13:00.710Z","2026-09-23T21:53:05.719Z","2026-09-23T21:53:05.776Z",{"id":5,"documentId":6,"title":7,"date":8,"description":9,"order":10,"slug":11,"showOnMainPage":12,"createdAt":13,"updatedAt":14,"publishedAt":15,"locale":16},{"id":206,"documentId":207,"title":208,"date":209,"description":9,"order":23,"slug":210,"showOnMainPage":12,"createdAt":211,"updatedAt":212,"publishedAt":213,"locale":16},419,"gnlxdx5dl5wgdemt91xm57j9","4 продукта на NestJS: где стек сработал, а где мы ушли на Go\n","2026-07-23","-produkty-na-nestjs-i-go","2026-07-23T15:10:53.621Z","2026-09-23T20:38:02.925Z","2026-09-23T20:38:02.985Z",{"id":215,"documentId":216,"title":217,"date":218,"description":9,"order":23,"slug":219,"showOnMainPage":12,"createdAt":220,"updatedAt":221,"publishedAt":222,"locale":16},352,"nlh8oehrwqcexi2atoqykh3s","Как мы для онлайн-школы выбирали между коробкой, конструктором и стройкой с нуля — и что из этого выходит по деньгам\n","2026-07-27","-vybor-mezhdu-korobkoy-konstruktorom-i-stroykoy-onlayn-shkoly","2026-07-27T15:09:01.113Z","2026-09-20T16:12:21.034Z","2026-09-20T16:12:21.186Z",{"id":224,"documentId":225,"title":226,"date":227,"description":9,"order":23,"slug":228,"showOnMainPage":12,"createdAt":229,"updatedAt":230,"publishedAt":231,"locale":16},353,"u6ilvydbctqytrf7heo2scno","Кнопка «Войти» за миллионы: когда бизнесу правда нужна своя ВКС\n","2026-07-28","-knopka-voiti-za-milliony-kogda-biznesu-pravda-nuzhna-svoya-vks","2026-07-28T13:47:41.153Z","2026-09-20T19:43:08.311Z","2026-09-20T19:43:08.377Z",{"id":233,"documentId":234,"title":235,"date":236,"description":9,"order":237,"slug":238,"showOnMainPage":12,"createdAt":239,"updatedAt":240,"publishedAt":241,"locale":16},407,"dcenjtj61ta9j4xssc9be8n4","AI-чатбот за 2 недели: что проверить до сметы на 2 млн","2026-07-30",3,"-ai-chatbot-chto-proverit-pered-razrabotkoy","2026-07-30T13:23:01.866Z","2026-09-23T19:27:11.722Z","2026-09-23T19:27:11.796Z",{"id":243,"documentId":244,"title":245,"date":246,"description":9,"order":10,"slug":247,"showOnMainPage":12,"createdAt":248,"updatedAt":249,"publishedAt":250,"locale":16},303,"k77qvgjbwvomrrx4tn51benn","Почему похожие интернет-магазины отличаются по стоимости в несколько раз","2026-07-31","-pochemu-pohozhie-internet-magaziny-otlichayutsya-po-stoimosti-v-neskolko-raz","2026-07-31T16:11:46.552Z","2026-09-14T11:00:11.859Z","2026-09-14T11:00:11.926Z",{"id":252,"documentId":253,"title":254,"date":255,"description":9,"order":23,"slug":256,"showOnMainPage":12,"createdAt":257,"updatedAt":258,"publishedAt":259,"locale":16},416,"myvt92baeeu5v8avnec7dqxv","Кнопка стала красивее, товара всё равно нет: почему редизайн не спасает продажи в e-commerce","2026-08-03","-redizayn-interfeysa-v-e-commerce","2026-08-03T15:04:24.695Z","2026-09-23T20:21:32.170Z","2026-09-23T20:21:32.245Z",{"id":261,"documentId":262,"title":263,"date":264,"description":9,"order":23,"slug":265,"showOnMainPage":12,"createdAt":266,"updatedAt":267,"publishedAt":268,"locale":16},422,"a4ckp7tbgmtv0utmia4b808l","Новая роль — новый проект: когда личные кабинеты пора собирать в экосистему","2026-08-04","-lichnye-kabineti-v-ekosisteme-optimizatsiya-protsessov","2026-08-04T14:13:59.695Z","2026-09-23T20:51:19.975Z","2026-09-23T20:51:20.033Z",{"id":270,"documentId":271,"title":272,"date":273,"description":9,"order":237,"slug":274,"showOnMainPage":12,"createdAt":275,"updatedAt":276,"publishedAt":277,"locale":16},413,"k14jk3d9zgf69tmumdlcoh2f","Сколько стоит AI после релиза: токены, контекст, хранение и контроль качества","2026-08-05","-stoimost-ai-posle-reliza-tokeny-kontekst-khranenie-i-kontrol-kachestva","2026-08-05T17:49:43.277Z","2026-09-23T19:57:02.474Z","2026-09-23T19:57:02.537Z",{"id":279,"documentId":280,"title":281,"date":282,"description":9,"order":19,"slug":283,"showOnMainPage":12,"createdAt":284,"updatedAt":285,"publishedAt":286,"locale":16},339,"jdz6gl00sz72z0egu84yf8cn","16 млн за полгода: аутсорс или штат в 2026 году","2026-08-06","-autsorsing-ili-shtat-sravnenie-zatrat","2026-08-06T17:30:36.209Z","2026-09-17T22:44:36.382Z","2026-09-17T22:44:36.451Z",{"id":288,"documentId":289,"title":290,"date":291,"description":9,"order":23,"slug":292,"showOnMainPage":12,"createdAt":293,"updatedAt":293,"publishedAt":294,"locale":16},210,"imbbxnbft75duehba72yjk23","Любая правка — мини-проект: 6 признаков, что корпоративный сайт пора пересобирать","2026-08-10","-priznaki-neobhodimosti-peresborki-korporativnogo-sajta","2026-08-11T23:47:18.300Z","2026-08-11T23:47:18.367Z",{"id":296,"documentId":297,"title":298,"date":299,"description":9,"order":300,"slug":301,"showOnMainPage":12,"createdAt":302,"updatedAt":303,"publishedAt":304,"locale":16},351,"heaihqewz8dlu9x3ninbdiqq","GetCourse, iSpring или своя LMS: когда онлайн-школе нужна отдельная платформа","2026-08-11",5,"-getcourse-ispring-ili-svoya-lms-vybor-platformy-dlya-onlayn-shkoly","2026-08-11T23:59:00.384Z","2026-09-20T15:59:44.965Z","2026-09-20T15:59:45.057Z",{"id":306,"documentId":307,"title":308,"date":309,"description":9,"order":310,"slug":311,"showOnMainPage":12,"createdAt":312,"updatedAt":313,"publishedAt":314,"locale":16},332,"wcg59mzuex1spvgeegxdhn63","В дашборде план выполнен, в кассе денег нет: почему CRM показывает несколько версий бизнеса","2026-08-12",4,"-pochemu-crm-pokazyvaet-raznye-versii-biznesa","2026-08-12T22:13:44.432Z","2026-09-17T22:01:25.093Z","2026-09-17T22:01:25.160Z",{"id":316,"documentId":317,"title":318,"date":319,"description":9,"order":19,"slug":320,"showOnMainPage":12,"createdAt":321,"updatedAt":322,"publishedAt":323,"locale":16},350,"mpxer9aw8jjq44rby7j47pwi","Стоимость разработки интеграции — API, CRM, 1С и внешние сервисы\n","2026-08-13","stoimost-razrabotki-integracii-api-crm-1s-i-vneshnie-servisy","2026-08-18T10:36:53.371Z","2026-09-20T15:45:50.010Z","2026-09-20T15:45:50.144Z",{"id":325,"documentId":326,"title":327,"date":328,"description":9,"order":10,"slug":329,"showOnMainPage":12,"createdAt":330,"updatedAt":331,"publishedAt":332,"locale":16},304,"vvxg6n1kmg9y7k6143t9gm8o","1 октября в прод: что 12 платформам придётся перестроить из-за нового закона","2026-08-14","novyy-zakon-dlya-platform-12-servisov","2026-08-18T10:59:43.550Z","2026-09-14T12:10:46.768Z","2026-09-14T12:10:46.844Z",{"id":334,"documentId":335,"title":336,"date":337,"description":9,"order":10,"slug":338,"showOnMainPage":12,"createdAt":339,"updatedAt":340,"publishedAt":341,"locale":16},305,"z5gc803xpd7jutuksh8q0er3","97% компаний создают учебный контент сами: следующий дефицит EdTech — подготовка преподавателей","2026-08-17","97-kompaniy-sozdayut-uchebnyy-kontent-sami-podgotovka-prepodavateley","2026-08-18T11:17:37.963Z","2026-09-14T12:11:38.758Z","2026-09-14T12:11:38.812Z",{"id":343,"documentId":344,"title":345,"date":346,"description":9,"order":23,"slug":347,"showOnMainPage":12,"createdAt":348,"updatedAt":349,"publishedAt":350,"locale":16},309,"fm5glwnple0jwjkmo8gvldan","Сколько стоит мобильное приложение в 2026 году: почему сметы отличаются втрое\n","2026-08-18","stoimost-razrabotki-mobilnogo-prilozheniya-2026-smeta","2026-08-18T11:31:22.195Z","2026-09-14T12:19:58.030Z","2026-09-14T12:19:58.102Z",{"id":352,"documentId":353,"title":354,"date":355,"description":9,"order":10,"slug":356,"showOnMainPage":12,"createdAt":357,"updatedAt":358,"publishedAt":359,"locale":16},306,"x28rh3zoj50o59tcgvzve415","AI-агенты внутри компании: где нужны доступы, ограничения и человек на проверке","2026-08-19","ai-agenty-v-kompanii-dostupy-i-kontrol","2026-08-18T14:05:29.647Z","2026-09-14T12:13:14.538Z","2026-09-14T12:13:14.626Z",{"id":361,"documentId":362,"title":363,"date":364,"description":9,"order":10,"slug":365,"showOnMainPage":12,"createdAt":366,"updatedAt":367,"publishedAt":368,"locale":16},460,"cs2j0db6ed7l2zglni926s05","Как проверить AI-навык кандидата: тестовое, критерии и красные флаги","2026-08-21","proverka-ai-navyka-kandidata-testovoe-kriterii","2026-08-19T13:56:11.468Z","2026-09-29T08:14:39.285Z","2026-09-29T08:14:39.363Z",{"id":370,"documentId":371,"title":372,"date":373,"description":9,"order":10,"slug":374,"showOnMainPage":12,"createdAt":375,"updatedAt":376,"publishedAt":377,"locale":16},427,"qh3qmzfp2ceif4xf3tdoi9ap","Один товар, три цены и очередь согласований: чем B2B-маркетплейс отличается от интернет-магазина","2026-08-26","b2b-marketpleys-otlichiya-ot-internet-magazina","2026-08-26T09:04:07.905Z","2026-09-23T22:05:30.026Z","2026-09-23T22:05:30.108Z",{"id":379,"documentId":380,"title":381,"date":382,"description":9,"order":10,"slug":383,"showOnMainPage":12,"createdAt":384,"updatedAt":385,"publishedAt":386,"locale":16},459,"w8n42241rgavwtld0dn1fvcl","Один статус «готовится» запускает цепочку потерь: где ломается экономика приложения доставки","2026-08-27","gde-prilozhenie-sedaet-marzhu","2026-08-26T14:56:30.346Z","2026-09-29T08:13:01.669Z","2026-09-29T08:13:01.769Z",{"id":388,"documentId":389,"title":390,"date":391,"description":9,"order":10,"slug":392,"showOnMainPage":12,"createdAt":393,"updatedAt":394,"publishedAt":395,"locale":16},458,"xujodhmvw1zxpvpcqahtklmc","Когда D2C становится выгоднее маркетплейса: расчёт по заказам\n","2026-08-28","kogda-d2c-vygodnee-marketpleysa-raschet-po-zakazam","2026-08-27T14:24:12.532Z","2026-09-29T08:10:09.253Z","2026-09-29T08:10:09.343Z",{"id":397,"documentId":398,"title":399,"date":400,"description":9,"order":10,"slug":401,"showOnMainPage":12,"createdAt":402,"updatedAt":403,"publishedAt":404,"locale":16},310,"zm2xqct6baoxjz7jsy605ztw","Duolingo прибавил 23% ежедневной аудитории. Что интернет-магазин может забрать у совы\n","2026-08-31","duolingo-23-rosta-gamifikaciya-dlya-magazina","2026-08-31T08:37:31.518Z","2026-09-14T12:31:11.576Z","2026-09-14T12:31:11.708Z",{"id":406,"documentId":407,"title":408,"date":409,"description":9,"order":10,"slug":410,"showOnMainPage":12,"createdAt":411,"updatedAt":412,"publishedAt":413,"locale":16},394,"lb4x4pfodc0sbnv9umz0b32a","Закрыл ноутбук, открыл телефон — и начал заново: где теряется контекст пользователя\n","2026-09-01","gde-teryaetsya-kontekst-polzovatelya","2026-08-31T12:47:31.448Z","2026-09-23T11:44:42.622Z","2026-09-23T11:44:42.688Z",{"id":415,"documentId":416,"title":417,"date":418,"description":9,"order":10,"slug":419,"showOnMainPage":12,"createdAt":420,"updatedAt":421,"publishedAt":422,"locale":16},461,"pbpm1u7r2yocuobuig7aows1","После оффера оценка кандидата пропадает: как связать найм, обучение и эффективность","2026-09-02","kak-svyazat-naym-obuchenie-i-effektivnost","2026-09-02T08:28:55.851Z","2026-09-29T08:15:44.721Z","2026-09-29T08:15:44.799Z",{"id":424,"documentId":425,"title":426,"date":427,"description":9,"order":10,"slug":428,"showOnMainPage":12,"createdAt":429,"updatedAt":430,"publishedAt":431,"locale":16},396,"xigmp6s4a3rypjza7nyd2jyu","AI-агент оформляет заказ: готов ли интернет-магазин отдать ему каталог, остатки и оплату","2026-09-03","ai-agent-oformlyaet-zakaz-katalog-ostatki-oplata","2026-09-03T08:28:16.365Z","2026-09-23T12:03:44.917Z","2026-09-23T12:03:45.001Z",{"id":433,"documentId":434,"title":435,"date":436,"description":9,"order":10,"slug":437,"showOnMainPage":12,"createdAt":438,"updatedAt":439,"publishedAt":440,"locale":16},462,"ono02gti54gmgguq55q3eqfl","Мобильная LMS: как понять, что отдельному приложению есть работа\n","2026-09-04","mobilnaya-lms-otdelnoe-prilozhenie","2026-09-03T14:02:36.259Z","2026-09-29T08:17:21.954Z","2026-09-29T08:17:22.017Z",{"id":442,"documentId":443,"title":444,"date":445,"description":9,"order":10,"slug":446,"showOnMainPage":12,"createdAt":447,"updatedAt":448,"publishedAt":449,"locale":16},463,"tia92neitxsmtmvtu3k6ox2x","Пилот с планом на рост: как подготовить цифровой продукт к масштабированию","2026-09-07","pilot-s-planom-na-rost-masshtabirovanie","2026-09-07T13:11:01.617Z","2026-09-29T08:18:34.399Z","2026-09-29T08:18:34.480Z",{"id":451,"documentId":452,"title":453,"date":454,"description":9,"order":10,"slug":455,"showOnMainPage":12,"createdAt":456,"updatedAt":457,"publishedAt":458,"locale":16},429,"mfzw1oxq307h7hldor2v71hh","Реклама сработала, сайт лёг: как проверить предел системы до пикового трафика","2026-09-08","reklama-srabotala-sayt-lyog-pikovyy-trafik","2026-09-08T11:25:13.641Z","2026-09-23T22:12:54.085Z","2026-09-23T22:12:54.180Z",{"id":460,"documentId":461,"title":462,"date":463,"description":9,"order":10,"slug":464,"showOnMainPage":12,"createdAt":465,"updatedAt":466,"publishedAt":467,"locale":16},400,"dqf6p9puiqfz6u2djss216vw","Баллы списались дважды: где ломается программа лояльности под нагрузкой","2026-09-09","programmnaya-loyalnost-pod-nagruzkoy","2026-09-08T11:39:39.209Z","2026-09-23T12:15:38.943Z","2026-09-23T12:15:39.016Z",{"id":469,"documentId":470,"title":471,"date":472,"description":9,"order":10,"slug":473,"showOnMainPage":12,"createdAt":474,"updatedAt":475,"publishedAt":476,"locale":16},411,"zttjv8sbmge05zro1ok576xe","Что IT-аудит находит в проекте перед релизом","2026-09-11","it-audit-pered-relizom","2026-09-08T11:52:07.373Z","2026-09-23T19:53:41.550Z","2026-09-23T19:53:41.617Z",{"id":478,"documentId":479,"title":480,"date":472,"description":9,"order":23,"slug":481,"showOnMainPage":12,"createdAt":482,"updatedAt":482,"publishedAt":483,"locale":16},281,"ggdl1zmuuohkn3ubgxqu5wdz","Этапы разработки сайта: 7 контрольных точек от идеи до запуска","etapy-razrabotki-sayta-ot-idei-do-zapuska","2026-09-11T14:21:51.168Z","2026-09-11T14:21:51.261Z",{"id":485,"documentId":486,"title":487,"date":488,"description":9,"order":23,"slug":489,"showOnMainPage":12,"createdAt":490,"updatedAt":490,"publishedAt":491,"locale":16},299,"vc9i1ztfpn2yrd5nx782zp3z","Этапы разработки дизайна сайта: как создать привлекательный и функциональный веб-дизайн","2026-09-13","etapy-razrabotki-dizayna-sayta-kak-sozdat-privlekatelnyy-i-funktsionalnyy-veb-dizayn","2026-09-13T23:38:47.063Z","2026-09-13T23:38:47.130Z",{"id":493,"documentId":494,"title":495,"date":496,"description":9,"order":23,"slug":497,"showOnMainPage":12,"createdAt":498,"updatedAt":498,"publishedAt":499,"locale":16},301,"mj85w3jsdizxt9gpk1ngf564","Сколько стоит тестирование приложения и что влияет на цену","2026-09-14","skolko-stoit-testirovanie-prilozheniya-i-chto-vliyaet-na-tsenu","2026-09-14T09:26:29.005Z","2026-09-14T09:26:29.084Z",{"id":501,"documentId":502,"title":503,"date":472,"description":9,"order":23,"slug":504,"showOnMainPage":12,"createdAt":505,"updatedAt":506,"publishedAt":507,"locale":16},311,"v3w411p7i1i1btgcmn7pwxl7","Цена уже изменилась, остаток ещё старый: где ломается единый кабинет селлера","edinyy-kabinet-sellera-dlya-marketpleysov","2026-09-11T14:35:28.405Z","2026-09-14T15:33:57.800Z","2026-09-14T15:33:57.871Z",{"id":509,"documentId":510,"title":511,"date":496,"description":9,"order":23,"slug":512,"showOnMainPage":12,"createdAt":513,"updatedAt":513,"publishedAt":514,"locale":16},313,"yv49ig9l4j8vggzenf8rdxm3","Этапы управления проектом по разработке сайта или приложения","etapy-upravleniya-proektom-po-razrabotke-sayta-ili-prilozheniya","2026-09-14T15:36:41.687Z","2026-09-14T15:36:41.763Z",{"id":516,"documentId":517,"title":518,"date":496,"description":9,"order":23,"slug":519,"showOnMainPage":12,"createdAt":520,"updatedAt":521,"publishedAt":522,"locale":16},403,"nze9zg24dgc33oo464j2wo8v","Как искусственный интеллект меняет бизнес-процессы: от автоматизации до анализа данных","kak-iskusstvennyy-intellekt-menyaet-biznes-protsessy-ot-avtomatizatsii-do-analiza-dannykh","2026-09-14T21:35:44.550Z","2026-09-23T12:23:07.684Z","2026-09-23T12:23:07.761Z",{"id":524,"documentId":525,"title":526,"date":527,"description":9,"order":237,"slug":528,"showOnMainPage":12,"createdAt":529,"updatedAt":529,"publishedAt":530,"locale":16},317,"ekx4n93yajvm1hk8iqyzw4ju","Tinder обновил рекомендации. Почему маркетплейсу мало фильтров и сортировки","2026-09-15","-obnovleniya-tinder-kak-marketpleys-uluchshaet-rekomendatsii-i-sortirovku","2026-09-15T16:47:04.947Z","2026-09-15T16:47:05.044Z",{"id":532,"documentId":533,"title":534,"date":535,"description":9,"order":10,"slug":536,"showOnMainPage":12,"createdAt":537,"updatedAt":538,"publishedAt":539,"locale":16},321,"k6ijlgqkm5unejznzmeyo4vg","Интеграция с маркетплейсами и ERP: как синхронизировать заказы, статусы и остатки\n","2026-09-16","integraciya-marketpleysov-i-erp","2026-09-16T11:08:28.748Z","2026-09-16T11:31:18.295Z","2026-09-16T11:31:18.405Z",{"id":541,"documentId":542,"title":543,"date":544,"description":9,"order":23,"slug":545,"showOnMainPage":12,"createdAt":546,"updatedAt":546,"publishedAt":547,"locale":16},325,"zlz1zsbmf9t62lq9upjoh71o","Как правильно оценить разработку сайта и приложения\n","2026-09-17","kak-pravilno-otsenit-razrabotku-sayta-i-prilozheniya","2026-09-17T10:47:34.140Z","2026-09-17T10:47:34.227Z",{"id":549,"documentId":550,"title":551,"date":544,"description":9,"order":23,"slug":552,"showOnMainPage":12,"createdAt":553,"updatedAt":554,"publishedAt":555,"locale":16},330,"hk18zy8rgkffyo6py89yhijb","Как выбрать платформу для онлайн-школы","kak-vybrat-platformu-dlya-onlajn-shkoly","2026-09-17T11:02:32.852Z","2026-09-17T13:50:45.671Z","2026-09-17T13:50:45.748Z",{"id":557,"documentId":558,"title":559,"date":544,"description":9,"order":10,"slug":560,"showOnMainPage":12,"createdAt":561,"updatedAt":562,"publishedAt":563,"locale":16},331,"m3jg0ix87senqmdibgb089zk","Настройка резервного копирования: как проверить восстановление сервиса\n","rezervnoe-kopirovanie-proverka-vosstanovleniya","2026-09-17T08:38:21.082Z","2026-09-17T14:08:08.647Z","2026-09-17T14:08:08.708Z",{"id":565,"documentId":566,"title":567,"date":568,"description":9,"order":10,"slug":569,"showOnMainPage":12,"createdAt":570,"updatedAt":570,"publishedAt":571,"locale":16},343,"c4qw6xwuehgz8lo5zyabldkb","Платформа обучения сотрудников: почему курс заканчивается раньше рабочего результата","2026-09-18","platforma-obucheniya-sotrudnikov-rabochiy-rezultat","2026-09-18T10:17:38.082Z","2026-09-18T10:17:38.173Z",{"id":573,"documentId":574,"title":575,"date":568,"description":9,"order":10,"slug":576,"showOnMainPage":12,"createdAt":577,"updatedAt":578,"publishedAt":579,"locale":16},361,"fbzwk8k4u0jwlm6l2b9o2jr3","Как превращать результаты пользовательских интервью в задачи для бэклога","rezultaty-polzovatelskih-intervyu-v-zadachi-backloga","2026-09-18T13:05:14.859Z","2026-09-21T14:42:31.491Z","2026-09-21T14:42:31.557Z",{"id":581,"documentId":582,"title":583,"date":584,"description":9,"order":23,"slug":585,"showOnMainPage":12,"createdAt":586,"updatedAt":586,"publishedAt":587,"locale":16},348,"vhvm4rgi4utkvdl5lsn236cb","Омниканальная платформа: как объединить клиентов, заказы и остатки","2026-09-20","omnikanalnaya-platforma-kak-obedinit-klientov-zakazy-i-ostatki","2026-09-20T15:23:08.467Z","2026-09-20T15:23:08.536Z",{"id":589,"documentId":590,"title":591,"date":592,"description":9,"order":10,"slug":593,"showOnMainPage":12,"createdAt":594,"updatedAt":595,"publishedAt":596,"locale":16},360,"idkoix18t80we76tz6g5li5g","Как проектировать редкие пользовательские сценарии в цифровом продукте","2026-09-21","redkie-polzovatelskie-scenarii-v-cifrovom-produkte","2026-09-21T11:15:59.442Z","2026-09-21T14:12:59.342Z","2026-09-21T14:12:59.415Z",{"id":598,"documentId":599,"title":600,"date":601,"description":602,"order":33,"slug":603,"showOnMainPage":12,"createdAt":604,"updatedAt":605,"publishedAt":606,"locale":16},365,"fgve6bjyd9co2ti7cn1gr5bv","Kazan Digital Week 2025","2025-09-17","b","media-2","2026-03-06T10:35:30.810Z","2026-09-21T16:06:41.714Z","2026-09-21T16:06:41.805Z",{"id":608,"documentId":609,"title":610,"date":611,"description":9,"order":10,"slug":612,"showOnMainPage":12,"createdAt":613,"updatedAt":614,"publishedAt":615,"locale":16},368,"ssfnxded1v20ng7yti5ngkbt","Аудит мобильного приложения: как найти причины сбоев, медленной работы и тяжёлых обновлений","2026-09-22","audit-mobilnogo-prilozheniya-sboyy-medlennaya-rabota","2026-09-22T07:37:24.514Z","2026-09-22T10:59:13.656Z","2026-09-22T10:59:13.714Z",{"id":617,"documentId":618,"title":619,"date":611,"description":9,"order":620,"slug":621,"showOnMainPage":12,"createdAt":622,"updatedAt":623,"publishedAt":624,"locale":16},382,"fr3j1duys4bku4syv0v3txb0","Как проверить, находят ли пользователи новую функцию после релиза",501,"funkciya-vypushchena-polzovateli-ne-nashli-posle-reliza","2026-09-22T08:17:57.565Z","2026-09-22T13:27:28.606Z","2026-09-22T13:27:28.659Z",{"id":626,"documentId":627,"title":628,"date":629,"description":9,"order":23,"slug":630,"showOnMainPage":12,"createdAt":631,"updatedAt":632,"publishedAt":633,"locale":16},389,"wpw3ph9pm0j2gi5qq2d9zb32","Интеграция LMS и BI: события, метрики и роли доступа","2026-09-23","integraciya-lms-i-bi-sobytiya-metriki-roli","2026-09-23T07:35:31.275Z","2026-09-23T09:36:31.369Z","2026-09-23T09:36:31.476Z",{"id":635,"documentId":636,"title":637,"date":629,"description":9,"order":620,"slug":638,"showOnMainPage":12,"createdAt":639,"updatedAt":640,"publishedAt":641,"locale":16},405,"x98ekbdd625a0mr6v48wtojn","Тарифы, лимиты и пробный период в SaaS: что заложить в архитектуру до запуска","tarify-limity-probnyy-period-saas","2026-09-23T07:34:07.671Z","2026-09-23T13:29:13.000Z","2026-09-23T13:29:13.071Z",{"id":643,"documentId":644,"title":645,"date":646,"description":9,"order":23,"slug":647,"showOnMainPage":12,"createdAt":648,"updatedAt":648,"publishedAt":649,"locale":16},436,"t8fgwkzme6nbtkbfjww9i7zs","Автоматизация возвратов: как связать заявку, логистику, склад и выплату","2026-09-24","avtomatizatsiya-vozvratov-kak-svyazat-zayavku-logistiku-sklad-i-vyplatu","2026-09-24T10:22:57.802Z","2026-09-24T10:22:57.858Z",{"id":651,"documentId":652,"title":653,"date":646,"description":9,"order":620,"slug":654,"showOnMainPage":12,"createdAt":655,"updatedAt":656,"publishedAt":657,"locale":16},437,"e0kn9y3oq7pxqrub20a1n9kp","Требования к доступности цифрового продукта до начала разработки","trebovaniya-k-dostupnosti-do-nachala-razrabotki","2026-09-24T08:14:07.009Z","2026-09-24T10:59:51.769Z","2026-09-24T10:59:51.832Z",{"id":659,"documentId":660,"title":661,"date":646,"description":9,"order":23,"slug":662,"showOnMainPage":12,"createdAt":663,"updatedAt":663,"publishedAt":664,"locale":16},439,"b861gej3prtodznj3bb1y78f","Интеграция с WMS: как синхронизировать резервы, остатки и отгрузки","integratsiya-s-wms-kak-sinkhronizirovat-rezervy-ostatki-i-otgruzki","2026-09-24T12:23:25.584Z","2026-09-24T12:23:25.649Z",{"id":666,"documentId":667,"title":668,"date":646,"description":9,"order":23,"slug":669,"showOnMainPage":12,"createdAt":670,"updatedAt":671,"publishedAt":672,"locale":16},443,"rexo04uqb7qs9p7vie0ldmd8","19 несогласованных действий AI-агентов: как тестировать модели с доступом к интернету\n","testirovanie-ai-agentov-s-dostupom-k-internetu","2026-09-24T13:03:18.749Z","2026-09-24T13:04:17.309Z","2026-09-24T13:04:17.381Z",{"id":674,"documentId":675,"title":676,"date":544,"description":9,"order":10,"slug":677,"showOnMainPage":12,"createdAt":678,"updatedAt":679,"publishedAt":680,"locale":16},444,"n00161wjkx4xvvrj4cnrf3hg","Масштабирование веб-приложения: 5 признаков архитектурного предела\n","masshtabirovanie-veb-prilozheniya-arhitekturnyy-predel","2026-09-17T08:36:56.533Z","2026-09-24T19:02:35.882Z","2026-09-24T19:02:35.960Z",{"id":682,"documentId":683,"title":684,"date":685,"description":9,"order":23,"slug":686,"showOnMainPage":12,"createdAt":687,"updatedAt":687,"publishedAt":688,"locale":16},447,"aw0l78ewhaow4drvtb8xojs6","Аудит интернет-магазина перед ростом: производительность, интеграции и точки потери заказов","2026-09-25","audit-internet-magazina-pered-rostom-proizvoditelnost-integratsii-i-tochki-poteri-zakazov","2026-09-25T09:30:00.915Z","2026-09-25T09:30:00.980Z",{"id":690,"documentId":691,"title":692,"date":685,"description":9,"order":620,"slug":693,"showOnMainPage":12,"createdAt":694,"updatedAt":695,"publishedAt":696,"locale":16},449,"unrbovgyet8007ch5rlh115h","Когда таблица становится внутренней системой","kogda-tablicu-pora-zamenyat-vnutrenney-sistemoy","2026-09-25T08:18:33.492Z","2026-09-25T10:45:03.936Z","2026-09-25T10:45:04.057Z",{"id":698,"documentId":699,"title":700,"date":685,"description":9,"order":23,"slug":701,"showOnMainPage":12,"createdAt":702,"updatedAt":702,"publishedAt":703,"locale":16},452,"owozsp7o7tykqk6p9hn2i4pz","Покупатель оплатил, а магазин ещё не знает об этом: что входит в разработку интернет-магазина под ключ","razrabotka-internet-magazina-pod-klyuch","2026-09-25T13:53:22.880Z","2026-09-25T13:53:22.970Z",{"id":705,"documentId":706,"title":707,"date":708,"description":9,"order":620,"slug":709,"showOnMainPage":12,"createdAt":710,"updatedAt":710,"publishedAt":711,"locale":16},454,"girjdwh69jcawuu3ghjtih9c","Свой AI-сервис или готовая платформа: сравнение стоимости, контроля и сроков\n","2026-09-28","svoi-ai-servis-ili-gotovaya-platforma","2026-09-28T10:26:01.458Z","2026-09-28T10:26:01.532Z",{"id":713,"documentId":714,"title":715,"date":708,"description":9,"order":620,"slug":716,"showOnMainPage":12,"createdAt":717,"updatedAt":718,"publishedAt":719,"locale":16},470,"lbqjo38kroxmnx1cgnlmgifx","Семь полезных функций и один вопрос: как собрать MVP для проверки спроса\n","mvp-one-scenario","2026-09-28T10:40:09.723Z","2026-09-29T11:24:02.482Z","2026-09-29T11:24:02.599Z",{"id":721,"documentId":722,"title":723,"date":724,"description":9,"order":620,"slug":725,"showOnMainPage":12,"createdAt":726,"updatedAt":727,"publishedAt":728,"locale":16},469,"zerzn7i3b636huj96oap0txe","Когда запрашивать телефон и регистрацию в цифровом продукте","2026-09-29","registraciya-do-cennosti","2026-09-29T11:11:57.612Z","2026-09-29T11:20:06.538Z","2026-09-29T11:20:06.629Z",{"id":730,"documentId":731,"title":732,"date":733,"description":9,"order":620,"slug":734,"showOnMainPage":12,"createdAt":735,"updatedAt":736,"publishedAt":737,"locale":16},473,"d7r9typkfx45vfssliitjtq2","Почему рабочие чаты съедают больше времени, чем кажется","2026-09-30","quick-question-work-chats","2026-09-30T07:39:44.951Z","2026-10-01T08:32:23.393Z","2026-10-01T08:32:23.503Z",{"id":739,"documentId":740,"title":741,"date":742,"description":9,"order":23,"slug":743,"showOnMainPage":12,"createdAt":744,"updatedAt":744,"publishedAt":745,"locale":16},476,"s3vm1v69pa8daldydfxs837g","Монолит или микросервисы: критерии выбора для нового и действующего продукта","2026-10-01","monolit-ili-mikroservisy-kriterii-vybora-dlya-novogo-i-deystvuyushchego-produkta","2026-10-01T09:35:21.442Z","2026-10-01T09:35:21.505Z",{"id":747,"documentId":748,"title":749,"date":742,"description":9,"order":23,"slug":750,"showOnMainPage":12,"createdAt":751,"updatedAt":751,"publishedAt":752,"locale":16},478,"psq9e3hd069s1e1nf5b3zuot","Миграция в облако: план переноса, проверка отката и риски простоя","migratsiya-v-oblako-plan-perenosa-proverka-otkata-i-riski-prostoya","2026-10-01T09:42:27.368Z","2026-10-01T09:42:27.443Z",{"id":754,"documentId":755,"title":756,"date":742,"description":9,"order":620,"slug":757,"showOnMainPage":12,"createdAt":758,"updatedAt":759,"publishedAt":760,"locale":16},479,"t6pcsza1hk2r8e820tkd5e3b","Где маркетплейс теряет селлера между регистрацией и устойчивыми продажами","marketplace-seller-funnel","2026-10-01T08:41:06.847Z","2026-10-01T12:59:32.007Z","2026-10-01T12:59:32.068Z",{"id":762,"documentId":763,"title":764,"date":765,"description":9,"order":620,"slug":766,"showOnMainPage":12,"createdAt":767,"updatedAt":768,"publishedAt":769,"locale":16},481,"u1h9957qsu4htmbtcknrirpq","Отдельный проект, усиление команды или команда под направление: как выбрать формат","2026-10-02","team-model-choice","2026-10-02T11:01:21.642Z","2026-10-02T12:28:11.728Z","2026-10-02T12:28:11.793Z",{"id":771,"documentId":772,"title":773,"date":774,"description":9,"order":620,"slug":775,"showOnMainPage":12,"createdAt":776,"updatedAt":777,"publishedAt":778,"locale":16},484,"ipec85lddzfdxtovwkuwwugt","Корпоративная LMS для дилеров и франчайзи: как спроектировать внешний контур обучения","2026-10-05","korporativnaya-lms-dlya-dilerov-i-franchayzi","2026-10-05T07:40:52.639Z","2026-10-05T11:45:38.740Z","2026-10-05T11:45:38.832Z",{"id":780,"documentId":781,"title":782,"date":783,"description":9,"order":620,"slug":784,"showOnMainPage":12,"createdAt":785,"updatedAt":786,"publishedAt":787,"locale":16},487,"t9c9x61o00hxqf9xbvb6esys","Собственная доставка селлера: как оценить резервный канал","2026-10-06","sobstvennaya-dostavka-sellera-rezervnyi-kanal","2026-10-06T07:34:34.437Z","2026-10-06T09:37:14.931Z","2026-10-06T09:37:15.041Z",{"id":789,"documentId":790,"title":791,"date":783,"description":9,"order":620,"slug":792,"showOnMainPage":12,"createdAt":793,"updatedAt":794,"publishedAt":795,"locale":16},489,"ed1nma8y7ys91sevd8eglhb1","Кадровые процессы без почтовых цепочек: когда компании нужна платформа","platforma-kadrovyh-processov","2026-10-06T07:41:58.738Z","2026-10-06T13:10:04.463Z","2026-10-06T13:10:04.594Z",{"id":797,"documentId":798,"title":799,"date":800,"description":9,"order":620,"slug":801,"showOnMainPage":12,"createdAt":802,"updatedAt":803,"publishedAt":804,"locale":16},497,"iiultntplww88bgk2933b80j","Цифровой рубль уже списался. Почему заказ всё ещё нельзя выдавать","2026-10-09","cifrovoi-rubl-pri-poluchenii-zakaza","2026-10-12T06:53:20.433Z","2026-10-12T07:13:27.762Z","2026-10-12T07:13:27.860Z",{"id":806,"documentId":807,"title":808,"date":809,"description":9,"order":620,"slug":810,"showOnMainPage":12,"createdAt":811,"updatedAt":812,"publishedAt":813,"locale":16},499,"ubjpk200wjx8ebxcvrdlvxd9","Жизненный цикл ПО: решения бизнеса от идеи до поддержки","2026-10-12","software-lifecycle-decisions","2026-10-12T07:15:15.806Z","2026-10-12T12:18:49.191Z","2026-10-12T12:18:49.262Z",{"id":815,"documentId":816,"title":817,"date":818,"description":9,"order":620,"slug":819,"showOnMainPage":12,"createdAt":820,"updatedAt":821,"publishedAt":822,"locale":16},502,"eqfs353jcdbswvqzpjij7f1x","Как определить границы продукта и критерии приёмки до оценки разработки","2026-10-13","granicy-produkta-i-kriterii-priemki","2026-10-12T14:22:26.489Z","2026-10-13T09:09:54.450Z","2026-10-13T09:09:54.550Z",{"id":824,"documentId":825,"title":826,"date":827,"description":9,"order":620,"slug":828,"showOnMainPage":12,"createdAt":829,"updatedAt":830,"publishedAt":831,"locale":16},505,"af8dh628c7nkaaym04oom98b","Как выбрать процесс для корпоративной LMS и оценить результат","2026-10-14","corporate-lms-processes","2026-10-13T09:21:52.199Z","2026-10-14T10:12:35.715Z","2026-10-14T10:12:35.784Z",{"id":833,"documentId":834,"title":835,"date":836,"description":9,"order":620,"slug":837,"showOnMainPage":12,"createdAt":838,"updatedAt":839,"publishedAt":840,"locale":16},508,"exlc2gp2r56ff4hcbuv4a0q8","ИИ-агент с доступом к деньгам: права, лимиты и подтверждение операций","2026-10-15","ii-agent-s-dostupom-k-dengam-prava-limity-i-podtverzhdenie-operacii","2026-10-14T09:10:23.502Z","2026-10-15T11:41:35.709Z","2026-10-15T11:41:35.795Z",{"id":842,"documentId":843,"title":844,"date":845,"description":9,"order":620,"slug":846,"showOnMainPage":12,"createdAt":847,"updatedAt":848,"publishedAt":849,"locale":16},510,"w0w26wtkq43fbo4wm9o09ul1","Как исключения в процессе влияют на оценку цифрового продукта","2026-10-19","skrytye-isklyucheniya-v-biznes-processe-pochemu-oni-menyayut-ocenku-cifrovogo-produkta","2026-10-16T08:45:11.652Z","2026-10-19T12:56:19.983Z","2026-10-19T12:56:20.082Z",{"id":851,"documentId":852,"title":853,"date":854,"description":9,"order":620,"slug":855,"showOnMainPage":12,"createdAt":856,"updatedAt":857,"publishedAt":858,"locale":16},514,"l1j27vyrtvwgs7uzw4y7ce72","Как выбрать модель договора с подрядчиком на разработку ПО","2026-10-20","metodologiya-vybora-modeli-rabotyi-s-podryadchikom","2026-10-20T09:49:14.939Z","2026-10-20T11:09:24.953Z","2026-10-20T11:09:25.038Z",[],{"id":861,"documentId":862,"title":863,"slug":864,"order":23,"createdAt":865,"updatedAt":865,"publishedAt":866,"locale":16,"media":867,"localizations":876},31,"x54tt9ferpmy25va1y5hlmqq","Стоимость и бюджеты","stoimost-i-byudzhety","2026-07-30T14:30:46.759Z","2026-07-30T14:30:46.777Z",[868,869,870,871,872,873,874,875],{"id":187,"documentId":188,"title":189,"date":190,"description":9,"order":19,"slug":191,"showOnMainPage":12,"createdAt":192,"updatedAt":193,"publishedAt":194,"locale":16},{"id":243,"documentId":244,"title":245,"date":246,"description":9,"order":10,"slug":247,"showOnMainPage":12,"createdAt":248,"updatedAt":249,"publishedAt":250,"locale":16},{"id":252,"documentId":253,"title":254,"date":255,"description":9,"order":23,"slug":256,"showOnMainPage":12,"createdAt":257,"updatedAt":258,"publishedAt":259,"locale":16},{"id":306,"documentId":307,"title":308,"date":309,"description":9,"order":310,"slug":311,"showOnMainPage":12,"createdAt":312,"updatedAt":313,"publishedAt":314,"locale":16},{"id":316,"documentId":317,"title":318,"date":319,"description":9,"order":19,"slug":320,"showOnMainPage":12,"createdAt":321,"updatedAt":322,"publishedAt":323,"locale":16},{"id":343,"documentId":344,"title":345,"date":346,"description":9,"order":23,"slug":347,"showOnMainPage":12,"createdAt":348,"updatedAt":349,"publishedAt":350,"locale":16},{"id":5,"documentId":6,"title":7,"date":8,"description":9,"order":10,"slug":11,"showOnMainPage":12,"createdAt":13,"updatedAt":14,"publishedAt":15,"locale":16},{"id":851,"documentId":852,"title":853,"date":854,"description":9,"order":620,"slug":855,"showOnMainPage":12,"createdAt":856,"updatedAt":857,"publishedAt":858,"locale":16},[],{"id":878,"documentId":879,"name":880,"alternativeText":9,"caption":9,"width":881,"height":882,"formats":883,"hash":915,"ext":885,"mime":888,"size":916,"url":917,"previewUrl":9,"provider":918,"provider_metadata":9,"createdAt":919,"updatedAt":919,"publishedAt":920,"related":921},734,"n9sbgz75x8lwc3ejiqvrfy7j","Изображение Codex 14 сент. 2026 г., 02_15_57.png",1920,1280,{"large":884,"small":894,"medium":901,"thumbnail":908},{"ext":885,"url":886,"hash":887,"mime":888,"name":889,"path":9,"size":890,"width":891,"height":892,"sizeInBytes":893},".png","https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_Izobrazhenie_Codex_14_sent_2026_g_02_15_57_77e449973b.png","large_Izobrazhenie_Codex_14_sent_2026_g_02_15_57_77e449973b","image\u002Fpng","large_Изображение Codex 14 сент. 2026 г., 02_15_57.png",538.5,1000,667,538496,{"ext":885,"url":895,"hash":896,"mime":888,"name":897,"path":9,"size":898,"width":23,"height":899,"sizeInBytes":900},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_Izobrazhenie_Codex_14_sent_2026_g_02_15_57_77e449973b.png","small_Izobrazhenie_Codex_14_sent_2026_g_02_15_57_77e449973b","small_Изображение Codex 14 сент. 2026 г., 02_15_57.png",157.58,333,157583,{"ext":885,"url":902,"hash":903,"mime":888,"name":904,"path":9,"size":905,"width":906,"height":23,"sizeInBytes":907},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_Izobrazhenie_Codex_14_sent_2026_g_02_15_57_77e449973b.png","medium_Izobrazhenie_Codex_14_sent_2026_g_02_15_57_77e449973b","medium_Изображение Codex 14 сент. 2026 г., 02_15_57.png",325.8,750,325804,{"ext":885,"url":909,"hash":910,"mime":888,"name":911,"path":9,"size":912,"width":913,"height":105,"sizeInBytes":914},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_Izobrazhenie_Codex_14_sent_2026_g_02_15_57_77e449973b.png","thumbnail_Izobrazhenie_Codex_14_sent_2026_g_02_15_57_77e449973b","thumbnail_Изображение Codex 14 сент. 2026 г., 02_15_57.png",44.25,234,44252,"Izobrazhenie_Codex_14_sent_2026_g_02_15_57_77e449973b",552.85,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002FIzobrazhenie_Codex_14_sent_2026_g_02_15_57_77e449973b.png","aws-s3","2026-09-13T23:17:06.834Z","2026-09-13T23:17:06.835Z",[922],{"__type":923,"id":5,"documentId":6,"title":7,"date":8,"description":9,"order":10,"slug":11,"showOnMainPage":12,"createdAt":13,"updatedAt":14,"publishedAt":15,"locale":16},"api::media.media",[925],{"__component":926,"id":927,"text":928},"media.text",261,"\u003Cp>Представьте SaaS, который уже покупают крупные компании: продукт один, сценарии понятные, команда планирует развитие на несколько релизов вперёд. Потом приходит важный заказчик и говорит: «Тут почти стандартно, пара нюансов» — отдельный порядок согласования, отчёт для финансового отдела, свои роли в кабинете, интеграцию с внутренней системой и особые требования к хранению данных.\u003Cbr>\u003Cbr>Для продаж это понятная ситуация: крупный договор, требования объяснимы, бюджет на внедрение есть. Для продукта риск появляется позже. Исключения накапливаются незаметно: поддержка помнит, кому нельзя включать новый сценарий, разработка держит в голове старые условия, менеджеры уточняют детали в чатах перед каждым запуском.\u003Cbr>\u003Cbr>Так маленькая просьба превращается в постоянный расход. Клиент оплатил внедрение один раз, а команда возвращается к его исключению на каждом соседнем релизе: в тестировании, документации, аналитике, миграциях, поддержке и обучении новых людей. В какой-то момент SaaS с повторяемой выручкой начинает жить как поток отдельных проектов.\u003C\u002Fp>\u003Ch2>Задача в статусе «готово», а деньги всё ещё тратит\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"Изображение Codex 14 сент. 2026 г., 02_16_04.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002FIzobrazhenie_Codex_14_sent_2026_g_02_16_04_5e5f133db1.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_Izobrazhenie_Codex_14_sent_2026_g_02_16_04_5e5f133db1.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_Izobrazhenie_Codex_14_sent_2026_g_02_16_04_5e5f133db1.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_Izobrazhenie_Codex_14_sent_2026_g_02_16_04_5e5f133db1.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_Izobrazhenie_Codex_14_sent_2026_g_02_16_04_5e5f133db1.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Например, крупному клиенту нужен дополнительный статус в отчёте. На встрече это выглядит как небольшая доработка: добавить поле, проверить выгрузку, обновить инструкцию, объяснить логику клиенту. Задача проходит разработку, попадает в релиз и вроде бы закрывается.\u003Cbr>\u003Cbr>Через месяц меняется общий отчёт, и команда снова вспоминает про этот статус. Через три месяца появляется новый тариф, где статус должен работать только для части пользователей. Через полгода переносят данные, и старое исключение приходится учитывать в миграции. В трекере задача давно стоит в статусе «готово», но в экономике продукта она продолжает занимать время.\u003Cbr>\u003Cbr>Пять таких исключений команда ещё держит за счёт памяти и дисциплины. Пятьдесят превращают запуск каждого крупного клиента в отдельное расследование: где у него особые права, какие отчёты нельзя трогать, почему новая функция должна открываться только после согласования с закупками.\u003C\u002Fp>\u003Ch2>Три числа, по которым видно, что маржа уже под давлением\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"Изображение Codex 14 сент. 2026 г., 02_18_13.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002FIzobrazhenie_Codex_14_sent_2026_g_02_18_13_c7ae1a12ea.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_Izobrazhenie_Codex_14_sent_2026_g_02_18_13_c7ae1a12ea.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_Izobrazhenie_Codex_14_sent_2026_g_02_18_13_c7ae1a12ea.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_Izobrazhenie_Codex_14_sent_2026_g_02_18_13_c7ae1a12ea.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_Izobrazhenie_Codex_14_sent_2026_g_02_18_13_c7ae1a12ea.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Затраты на разработку видны лучше всего, но они редко показывают полную цену кастомизации. В SaaS полезно смотреть на три прикладных показателя вместе.\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"e5b0b9e32ac51c6506183197545ca4126\">Сколько занимает запуск нового крупного клиента. Если раньше аккаунт поднимали за несколько дней, а теперь на каждый договор уходит несколько недель, продукт уже обслуживает настройки вместе с накопленными исключениями.\u003C\u002Fli>\u003Cli data-list-item-id=\"e3a42cf0a42ce85784da8e1c8bfd44508\">Какая доля команды уходит на индивидуальные запросы. Считать стоит всю цепочку: разработку, поддержку, аналитику, тестирование, документацию, менеджеров внедрения и людей, которые объясняют внутренние правила друг другу.\u003C\u002Fli>\u003Cli data-list-item-id=\"e1e024c3e974942b9cc90d6f43d4b0143\">Сколько клиентских сценариев нужно проверить перед релизом. Если любое изменение требует вспомнить десятки частных условий, релизная скорость падает, а стоимость подписки для команды растёт.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Когда все три числа растут одновременно, маржа уже под давлением. Это момент, когда кастомизацию нужно перестать обсуждать как «пожелания клиента» и начать разбирать как продуктовую архитектуру.\u003C\u002Fp>\u003Ch2>Правило: тариф, роль и отчёт меняются без релиза\u003C\u002Fh2>\u003Cp>Главный тест простой: запрос повторяется у нескольких клиентов одного сегмента или завязан на внутренний процесс одной компании?\u003Cbr>\u003Cbr>Если сценарий повторяется и его можно описать параметрами продукта, его стоит переводить в настройки, модуль или тарифную возможность. Если просьба нужна одному стратегическому клиенту и держится на его регламенте, её честнее считать отдельным проектом с отдельной стоимостью поддержки.\u003Cbr>\u003Cbr>Чаще всего в настройки уходят роли пользователей, состав тарифов, доступность функций, отчёты, уведомления и интеграции. Если несколько клиентов просят разные отчёты, продукту нужен набор шаблонов или конструктор. Если регулярно меняются права пользователей, нужна понятная модель ролей и действий внутри системы. Если отличаются условия оплаты, тарифы стоит связывать с набором функций, лимитами, периодами и правилами продления.\u003Cbr>\u003Cbr>Ориентир можно сформулировать жёстче: изменение тарифа, роли или отчёта должно проходить через настройки, без отдельного релиза. Пока каждую такую просьбу снова берёт разработка, кастомизация остаётся заказной задачей внутри подписки.\u003C\u002Fp>\u003Ch2>Один договор тормозит всех: цена непродуманной архитектуры\u003C\u002Fh2>\u003Cp>Один из главных вопросов для SaaS — как разные компании будут работать внутри одной системы. У каждой должны быть свои данные, настройки, роли и ограничения, при этом продукту нужна общая логика, понятные релизы и предсказуемая поддержка.\u003Cbr>\u003Cbr>Когда этот слой не продуман, команда быстро приходит к отдельным установкам, базам с разной логикой и инструкциям для каждого крупного клиента. Один договор начинает тормозить остальных, потому что любое изменение приходится проверять на наборе частных условий, а перенос данных превращается в отдельный проект.\u003Cbr>\u003Cbr>До выхода к крупным корпоративным клиентам стоит решить, как будут разделяться данные и нагрузка. В одном случае достаточно изоляции строк на уровне базы, в другом удобнее отдельная схема для каждой компании, для наиболее жестких требований нужна отдельная база. У каждого варианта своя стоимость, уровень изоляции и сложность поддержки, поэтому такую модель лучше фиксировать до разработки, пока на команду ещё не давит подписанный договор.\u003Cbr>\u003Cbr>Сюда же относятся установки в контуре клиента и частные облака. Если такие требования могут появиться в продажах, команде нужно заранее заложить инфраструктуру, доставку релизов, мониторинг, резервные копии и порядок обновлений под этот сценарий.\u003C\u002Fp>\u003Ch2>Пока тарифы зашиты в код, каждая упаковка — это релиз\u003C\u002Fh2>\u003Cp>На старте схема часто кажется простой: базовый тариф, расширенный тариф, администратор и пользователь. Потом появляются пробные периоды, годовые договоры, оплата по объёму использования, лимиты, скидки, отдельные роли для подразделений, корпоративный вход и автоматическое управление пользователями.\u003Cbr>\u003Cbr>Если тарифная логика зашита в код, новая упаковка продукта становится релизом. Команда хочет проверить другой состав тарифа или запустить пилот для части клиентов, но вместо настройки получает задачу на разработку. В корпоративном SaaS это особенно больно: клиент может попросить годовой контракт, отдельные лимиты, счета для бухгалтерии и вход через свою систему авторизации.\u003Cbr>\u003Cbr>Проще поддерживать схему, где тариф управляет набором возможностей, роли описывают действия пользователя, а доступ к функциям включается через настройки. Тогда продуктовая команда быстрее проверяет упаковку: меняет состав тарифов, запускает пилоты и даёт доступ отдельным сегментам без лишнего релиза.\u003Cbr>\u003Cbr>В Qtim при \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fservices\u002Fsaas?utm_source=qtim_blog&amp;utm_medium=article&amp;utm_campaign=saas\">разработке SaaS-платформ\u003C\u002Fa> мы раскладываем продукт на такие слои: работа нескольких компаний в одной системе, подписки и оплата, роли и права доступа, самостоятельный запуск клиента, интеграции, админ-панель, продуктовая аналитика и инфраструктура.\u003C\u002Fp>\u003Ch2>Поддержка работает вслепую — и каждый тикет превращается в расследование\u003C\u002Fh2>\u003Cp>Когда исключения хранятся в инструкциях и переписках, поддержка первой начинает работать вслепую. В тикете написано: «Не сходится отчёт», но причину нельзя понять по одному экрану. Нужно помнить тариф, включённые модули, права пользователя, интеграции, историю платежей и особые условия клиента.\u003Cbr>\u003Cbr>Поэтому админ-панель в SaaS нужна как рабочий инструмент поддержки. Команда должна видеть компанию, активные функции, роли, лимиты, ошибки интеграций, историю изменений и события, которые влияют на поведение продукта. Иначе каждый сложный вопрос превращается в расследование по перепискам.\u003Cbr>\u003Cbr>В зрелой админке есть журнал действий, возможность проверить сценарий глазами пользователя, управление кредитами, заморозками и возвратами, статусы интеграций и понятная эскалация. Эти вещи редко продают продукт на первом звонке, зато они сохраняют скорость после роста клиентской базы.\u003C\u002Fp>\u003Ch2>Иногда правильный ответ клиенту — «нет»\u003C\u002Fh2>\u003Cp>Есть и обратная ловушка: попытаться сделать настраиваемым вообще всё. Так в продукте появляется система параметров, в которой трудно разобраться даже собственной команде, а каждое изменение требует долгого согласования.\u003Cbr>\u003Cbr>Отказывать крупному клиенту проще, когда у команды есть общий критерий. Разговор строится вокруг стоимости владения: этот сценарий будет влиять на релизы, тестирование и поддержку, поэтому у него должна быть отдельная экономика.\u003Cbr>\u003Cbr>Вместо размытого «посмотрим» лучше предложить понятный вариант: вынести запрос в отдельный проект с ценой поддержки, поставить в роадмап, если сценарий повторяется у сегмента, или оформить платный кастом с границами, SLA и сроком пересмотра. Так отказ перестаёт выглядеть упрямством и становится нормальным разговором о том, что продукт сможет поддерживать через год.\u003C\u002Fp>\u003Ch2>Начните с карты исключений — на ней сразу видно, где течёт маржа\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"Изображение Codex 14 сент. 2026 г., 02_20_41.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002FIzobrazhenie_Codex_14_sent_2026_g_02_20_41_2864e203fa.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_Izobrazhenie_Codex_14_sent_2026_g_02_20_41_2864e203fa.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_Izobrazhenie_Codex_14_sent_2026_g_02_20_41_2864e203fa.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_Izobrazhenie_Codex_14_sent_2026_g_02_20_41_2864e203fa.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_Izobrazhenie_Codex_14_sent_2026_g_02_20_41_2864e203fa.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Переписывать платформу сразу не нужно. Сначала стоит собрать карту исключений: какие доработки делали, для кого, сколько они занимали на запуске и где продолжают требовать внимания после релиза.\u003Cbr>\u003Cbr>Отдельно выпишите тарифные исключения, роли, отчёты, интеграции, импорт данных, требования безопасности и поддержку. Для каждого пункта отметьте, повторяется ли он у нескольких клиентов одного сегмента или держится на процессе одной компании. После такого разбора становится видно, что можно перевести в настройки, что оставить как отдельную услугу, а что убрать из будущих продаж.\u003Cbr>\u003Cbr>Если нужна внешняя помощь, в Qtim мы начинаем с такого же разбора архитектуры: смотрим, где продукт теряет повторяемость, какие запросы можно вынести в платформенный слой и как перейти к новой модели без остановки продаж. Когда SaaS уже работает как отдельная установка под каждого клиента, собран на конструкторе или вырос из коробочного решения, переход обычно можно делать поэтапно: аудит, параллельная платформа, перенос клиентов, стабилизация и передача процесса команде заказчика.\u003Cbr>\u003Cbr>Цель — вернуть продукту скорость и защитить экономику подписки. Под крупный контракт появляется переиспользуемая логика, команда перестает бояться очередного исключения перед релизом, а карта исключений показывает, где маржа уходит сейчас и что стоит перевести в конфигурируемую платформу. Если хотите свериться с нашим подходом, посмотрите, как мы подходим к \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fservices\u002Fsaas?utm_source=qtim_blog&amp;utm_medium=article&amp;utm_campaign=saas\">разработке SaaS-платформ\u003C\u002Fa>.\u003C\u002Fp>",[930,982,1026],{"createdAt":211,"id":206,"documentId":207,"title":208,"date":209,"description":9,"order":23,"slug":210,"showOnMainPage":12,"updatedAt":212,"publishedAt":213,"locale":16,"cover":931,"content":969,"media_event":9,"media_areas":972,"seo":9,"localizations":981},{"id":932,"documentId":933,"name":934,"alternativeText":9,"caption":9,"width":881,"height":935,"formats":936,"hash":964,"ext":885,"mime":888,"size":965,"url":966,"previewUrl":9,"provider":918,"provider_metadata":9,"createdAt":967,"updatedAt":967,"publishedAt":968},885,"vopuusgi8dnl5bozwjnst17c","01-cover.png",1080,{"large":937,"small":944,"medium":950,"thumbnail":956},{"ext":885,"url":938,"hash":939,"mime":888,"name":940,"path":9,"size":941,"width":891,"height":942,"sizeInBytes":943},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_01_cover_9feb9f9e40.png","large_01_cover_9feb9f9e40","large_01-cover.png",878.11,563,878112,{"ext":885,"url":945,"hash":946,"mime":888,"name":947,"path":9,"size":948,"width":23,"height":478,"sizeInBytes":949},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_01_cover_9feb9f9e40.png","small_01_cover_9feb9f9e40","small_01-cover.png",240.1,240095,{"ext":885,"url":951,"hash":952,"mime":888,"name":953,"path":9,"size":954,"width":906,"height":261,"sizeInBytes":955},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_01_cover_9feb9f9e40.png","medium_01_cover_9feb9f9e40","medium_01-cover.png",513.09,513091,{"ext":885,"url":957,"hash":958,"mime":888,"name":959,"path":9,"size":960,"width":961,"height":962,"sizeInBytes":963},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_01_cover_9feb9f9e40.png","thumbnail_01_cover_9feb9f9e40","thumbnail_01-cover.png",66.87,245,138,66869,"01_cover_9feb9f9e40",716.83,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F01_cover_9feb9f9e40.png","2026-09-23T19:30:13.665Z","2026-09-23T19:30:13.666Z",[970],{"__component":926,"id":617,"text":971},"\u003Cp>\u003Ci>18 ролей, около 460 кандидатов, фоновые очереди и видеосвязь до 100 человек - на примерах из портфолио Qtim.\u003C\u002Fi>\u003Cbr>\u003Cbr>В портфолио Qtim есть онлайн-школа с 18 ролями, \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fattestation-platform\">платформа аттестации\u003C\u002Fa> с видеофиксацией экзамена, \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fstudycats\">Стадикэтс\u003C\u002Fa> с домашними заданиями и пробниками и ВКС для уроков до 100 участников. В каждом проекте стек упирался в конкретные вещи: права доступа, статусы, очереди задач, файлы, отчеты и поведение системы в пик.\u003Cbr>\u003Cbr>До разработки мы разделяем этот контур на блоки: где настраиваются права, кто меняет статус, какие операции уходят в фон, какие данные нужны отчетам, где нельзя тормозить основной сценарий. После этого становится понятно, где хватает NestJS, а где нужен отдельный инструмент.\u003Cbr>\u003Cbr>NestJS чаще подходит для бизнес-логики с кабинетами, админками, ролями, документами и интеграциями. Go взяли точечно в ВКС: там нагрузка уходит в медиаконтур WebRTC и SFU, где важны обработка потоков, стабильная задержка и контроль соединений.\u003C\u002Fp>\u003Ch2>18 ролей, которые нельзя свести к одному \"администратору\"\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F02_eighteen_roles_e3f6562e60.png\" alt=\"02-eighteen-roles.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_02_eighteen_roles_e3f6562e60.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_02_eighteen_roles_e3f6562e60.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_02_eighteen_roles_e3f6562e60.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_02_eighteen_roles_e3f6562e60.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>\u003Cbr>В \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fonlayn-shkola-1\">Онлайн-школе №1\u003C\u002Fa> команда Qtim подключилась после неудачного опыта клиента с предыдущими подрядчиками. Нужно было привести проект в рабочее состояние, запустить первый релиз за 3 месяца и сохранить пространство для дальнейших изменений.\u003Cbr>\u003Cbr>Для ученика это уроки, домашние задания, материалы, чат с дежурными учителями, календарь и успеваемость. Для команды проекта - больше 10 подпроектов и доступы, которые нельзя собрать в одну роль администратора.\u003Cbr>\u003Cbr>Права держатся на guards и policy-модуле: guard проверяет доступ на входе в сценарий, policy описывает действие над конкретным объектом. Для сложных правил такую схему удобно расширять через CASL - например, когда куратор видит одну группу учеников, координатор управляет расписанием, а администратор меняет настройки проекта.\u003Cbr>\u003Cbr>Модульная структура NestJS помогла развивать обучение, проверки, календарь и права отдельно. Новый блок не приходилось протаскивать через все ядро: у него появлялись свой модуль, сервисы и правила доступа.\u003Cbr>\u003Cbr>В системе 18 типов пользователей: учителя, кураторы, координаторы, администраторы и другие специалисты. Новый доступ настраивается за 15-20 минут, поэтому команда может добавлять роли по мере роста продукта.\u003Cbr>\u003Cbr>Позже часть логики вынесли в микросервисы: задания, попытки, календарь и расписание стали самостоятельнее. Связь между сервисами развели через RabbitMQ, чтобы события уходили из основного кабинета и обрабатывались независимо от пользовательского сценария.\u003C\u002Fp>\u003Ch2>460 экзаменов под видеозапись: одна ошибка в статусе рушит всю цепочку\u003C\u002Fh2>\u003Cp>У Университета Льва Толстого аттестация иностранных граждан раньше держалась на звонках, таблицах, бумаге и отдельных файлах. В проекте собрали платформу \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fattestation-platform\">аттестации иностранных граждан\u003C\u002Fa>: запись на экзамен, документы, видеофиксация и отчетность в одном контуре.\u003Cbr>\u003Cbr>Регламент разложили на NestJS-модули и сервисы: заявка проходит запись, проверку документов, сдачу, оценку, протоколы, ведомости, PDF-ответы и выгрузки для федерального реестра. Ошибка в переходе статуса здесь сразу ломает цепочку.\u003Cbr>\u003Cbr>Сотрудники в админке создают сессии, назначают специалистов, сверяют документы и результаты. Кандидат в отдельном приложении тестирует камеру и микрофон, включает запись видео, звука и экрана, сдает письменную или устную часть.\u003Cbr>\u003Cbr>Переходы статусов вынесли из контроллеров в сервисный слой: контроллер принимает действие, сервис проверяет, можно ли перевести заявку дальше, а guards закрывают доступ к медиа еще до входа в обработчик. Так проще удержать регламент, когда в процессе участвуют кандидат, администратор, экзаменатор и супер-администратор.\u003Cbr>\u003Cbr>Доступ к медиафайлам ограничили по ролям. Супер-администратор может открыть видео, администратор работает с документами и результатами, медиа ему недоступны. Через платформу прошли около 460 кандидатов; главная ценность здесь в том, что статус, документ, запись экзамена и право доступа живут в одном проверяемом процессе.\u003C\u002Fp>\u003Ch2>Все сдают ДЗ в ночь перед дедлайном - почему кабинет не ложится\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F03_homework_queue_f8ee665383.png\" alt=\"03-homework-queue.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_03_homework_queue_f8ee665383.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_03_homework_queue_f8ee665383.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_03_homework_queue_f8ee665383.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_03_homework_queue_f8ee665383.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fstudycats\">Стадикэтс\u003C\u002Fa> нужен был полноценный контур подготовки к ЕГЭ и ОГЭ: витрина курсов, расписание, домашние задания, пробники, карточки для повторения, статистика и геймификация. Проект сделали на NestJS и Nuxt.js за 5 месяцев.\u003Cbr>\u003Cbr>В EdTech пики часто приходят перед дедлайном. Ученики массово загружают решения, и проверка файлов может занять ресурсы именно тогда, когда кабинет нужен активнее всего.\u003Cbr>Тяжелые действия вынесли в фон через BullMQ и очереди на Redis. Ученик сдает задание и возвращается к урокам; отдельный воркер разбирает файлы, запускает проверку и обновляет статус результата.\u003Cbr>\u003Cbr>С голосовыми заданиями та же логика: сервер приводит записи к нужному формату в фоне, а плеер одинаково работает на разных устройствах. Куратор быстрее находит нужные фрагменты, ученик получает предсказуемое воспроизведение.\u003Cbr>\u003Cbr>Учебный сценарий при этом не ждет обработки файла. Пик уходит в очередь, кабинет принимает действие, а админка и проверка продолжают жить в своих контурах.\u003C\u002Fp>\u003Ch2>Видеосвязь на 100 человек: где NestJS перестал тянуть и мы взяли Go\u003C\u002Fh2>\u003Cp>С \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fonlayn-shkola-1-vks\">ВКС Онлайн-школы №1\u003C\u002Fa> задача была другой: собственная видеосвязь внутри образовательной платформы, где расписание, роли, авторизация, записи занятий, массовые уроки и инструменты учителей работают без внешней ссылки.\u003Cbr>\u003Cbr>Здесь стек смешанный: видеоконтур собрали на WebRTC и Go, а API и админку оставили на NestJS. Кабинет ученика и управление уроком живут по одним правилам, ВКС-сессия - по другим.\u003Cbr>\u003Cbr>Node отлично держит тысячи одновременных I\u002FO-операций, но у видеосвязи другой профиль нагрузки. Это CPU-bound участок: WebRTC, SFU, маршрутизация медиапотоков, обработка пакетов, fan-out на десятки участников и контроль задержки. В такой зоне event loop Node может стать горлышком, поэтому медиаконтур вынесли на Go.\u003Cbr>\u003Cbr>NestJS остался там, где он сильнее: роли, авторизация, расписание, записи занятий, админка и связи с основным продуктом. Для пользователя это один интерфейс, а внутри - два разных профиля нагрузки.\u003C\u002Fp>\u003Ch2>Обратная сторона: где стек стоил дороже, чем казалось\u003C\u002Fh2>\u003Cp>Если статья про уроки, честно назвать и те, что дались через боль. Модульность NestJS окупается на больших продуктах, но на маленьком сервисе тот же каркас - лишняя церемония: иногда одного хендлера хватило бы, а мы заводили модуль, провайдер и правила доступа.\u003Cbr>\u003Cbr>Вынос логики в микросервисы, как в Онлайн-школе, дает независимость, но добавляет распределенную отладку и согласованность, которую держишь руками. Это решение под нагрузку, а не по умолчанию.\u003Cbr>\u003Cbr>Go в ВКС тоже не бесплатная кнопка ускорения: появляется отдельный рантайм, сборка, деплой, мониторинг и граница ответственности между продуктовой логикой и медиаконтуром. Все три - осознанные размены, и мы идем на них, когда выгода понятна заранее.\u003C\u002Fp>\u003Ch2>Когда берём NestJS, а когда нет\u003C\u002Fh2>\u003Cp>Перед разработкой команда Qtim смотрит, что в продукте будет меняться после запуска: роли, регламенты, фоновые операции, пиковые нагрузки, мобильный контур и внешние интеграции.\u003Cbr>\u003Cbr>NestJS берем для сервисов, где много бизнес-правил: кабинеты, админки, документы, платежи, отчеты, клиентские приложения. Его удобно использовать там, где важны модули, guards, providers, очереди и понятные границы сценариев.\u003Cbr>\u003Cbr>Go, WebRTC или другой отдельный инструмент используем там, где профиль нагрузки отличается от основной логики: медиапотоки, CPU-bound обработка, отдельный рантайм или жесткие требования к задержке. Для каждого такого решения заранее определяем участок работы.\u003Cbr>\u003Cbr>После релиза продукт быстро меняется: добавляется тип пользователя, обновляется регламент, растет нагрузка, приходит мобильный клиент, нужен отчет или новая интеграция. Поэтому мы оцениваем стек по тому, как система переживет следующие изменения.\u003Cbr>\u003Cbr>Проект с личными кабинетами, ролями, документами, мобильным контуром или нагрузочными участками можно \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fservices\u002Fsaas\">обсудить\u003C\u002Fa> с нашей командой в направлении разработки SaaS-сервисов и PaaS-платформ. Больше кейсов с похожими архитектурными задачами \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\">смотрите\u003C\u002Fa> в портфолио: EdTech, ВКС и внутренние продукты.\u003C\u002Fp>",[973,974],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":975,"documentId":976,"title":977,"slug":978,"order":23,"createdAt":979,"updatedAt":979,"publishedAt":980,"locale":16},29,"yuxcudh09wo6lky0b7ikokmb","Управление проектами","upravlenie-proektami","2026-07-30T14:30:32.907Z","2026-07-30T14:30:32.928Z",[],{"createdAt":220,"id":215,"documentId":216,"title":217,"date":218,"description":9,"order":23,"slug":219,"showOnMainPage":12,"updatedAt":221,"publishedAt":222,"locale":16,"cover":983,"content":1012,"media_event":9,"media_areas":1016,"seo":9,"localizations":1025},{"id":984,"documentId":985,"name":934,"alternativeText":9,"caption":9,"width":881,"height":882,"formats":986,"hash":1007,"ext":885,"mime":888,"size":1008,"url":1009,"previewUrl":9,"provider":918,"provider_metadata":9,"createdAt":1010,"updatedAt":1010,"publishedAt":1011},843,"x9bggc2o6loyx4h6gtmzpuyt",{"large":987,"small":992,"medium":997,"thumbnail":1002},{"ext":885,"url":988,"hash":989,"mime":888,"name":940,"path":9,"size":990,"width":891,"height":892,"sizeInBytes":991},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_01_cover_d54f9f41c5.png","large_01_cover_d54f9f41c5",714.63,714632,{"ext":885,"url":993,"hash":994,"mime":888,"name":947,"path":9,"size":995,"width":23,"height":899,"sizeInBytes":996},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_01_cover_d54f9f41c5.png","small_01_cover_d54f9f41c5",204.09,204090,{"ext":885,"url":998,"hash":999,"mime":888,"name":953,"path":9,"size":1000,"width":906,"height":23,"sizeInBytes":1001},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_01_cover_d54f9f41c5.png","medium_01_cover_d54f9f41c5",430.28,430282,{"ext":885,"url":1003,"hash":1004,"mime":888,"name":959,"path":9,"size":1005,"width":913,"height":105,"sizeInBytes":1006},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_01_cover_d54f9f41c5.png","thumbnail_01_cover_d54f9f41c5",54.89,54887,"01_cover_d54f9f41c5",635.07,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F01_cover_d54f9f41c5.png","2026-09-20T16:09:02.711Z","2026-09-20T16:09:02.712Z",[1013],{"__component":926,"id":1014,"text":1015},316,"\u003Cp>Почти каждый разговор про EdTech-платформу начинается одинаково. «Мы хотим свою онлайн-школу. Сколько стоит и когда будет готово?» И вот тут я всегда беру паузу — не потому что не знаю, а потому что честный ответ звучит невежливо: «Зависит от того, что вы на самом деле собираетесь строить, а этого пока не знаете ни вы, ни я».\u003Cbr>\u003Cbr>Мы делаем образовательные платформы уже несколько лет — от школ на пару тысяч активных учеников до систем видеосвязи, которые заменили школе Zoom. И почти весь бюджет проекта решается не в момент, когда мы называем цифру, а раньше — на одной развилке, которую заказчики обычно проскакивают, не заметив. Про нее и расскажу. Заодно покажу, где смета в EdTech взрывается на пустом месте, а где, наоборот, можно не переплачивать.\u003C\u002Fp>\u003Ch2>Развилка, на которой решается всё\u003C\u002Fh2>\u003Cp>Представьте, что вы хотите открыть кафе. Можно купить франшизу, где всё придумано за вас. Можно взять помещение с готовой кухней и поставить своё меню. А можно запускать кафе с нуля: проектировать вентиляцию, закупать оборудование, выбирать посуду. Три разных бюджета, три разных срока, три разных уровня свободы. И ни один из вариантов не «правильный» — правильный тот, что подходит под вашу ситуацию.\u003C\u002Fp>\u003Cp>С EdTech-платформой ровно то же самое, только развилку эту почти никто не проговаривает вслух. А зря — потому что именно она, а не выбор фреймворка и не дизайн кнопок, определяет и деньги, и сроки. У нас в практике три сценария, и я разберу каждый на реальном проекте.\u003C\u002Fp>\u003Ch2>Сценарий первый: не строить то, что уже построено\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"02-scenariy-pervyy.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F02_scenariy_pervyy_77a41c1ac9.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_02_scenariy_pervyy_77a41c1ac9.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_02_scenariy_pervyy_77a41c1ac9.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_02_scenariy_pervyy_77a41c1ac9.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_02_scenariy_pervyy_77a41c1ac9.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Есть соблазн считать, что «своя платформа» обязательно значит «написанная с нуля». Это дорогая иллюзия. Если базовая механика вашей школы стандартна — расписание, вебинары, тесты, — то строить под неё инфраструктуру заново примерно так же разумно, как отливать собственные кирпичи перед постройкой дома.\u003C\u002Fp>\u003Cp>Для \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fmayak-study\">Mayak.study\u003C\u002Fa> мы взяли готовое LMS-решение как фундамент. Не потому что поленились, а потому что ценность проекта была не в базе, а в надстройке: отчетность, онлайн-трансляции, пробные экзамены, контроль посещаемости, аналитика. Именно эти модули отличали Mayak.study от типовой онлайн-школы. Команда не потратила ни месяца на изобретение расписания — и вложила это время туда, где оно давало отдачу.\u003C\u002Fp>\u003Cp>Плата за скорость — жесткость. Вы живёте в рамках чужой архитектуры, и когда захотите что-то, чего коробка не умеет, упритесь в стену. Но если ваши хотелки в эту стену пока не упираются — это самый быстрый и дешевый путь на рынок.\u003C\u002Fp>\u003Cblockquote>\u003Cp>Перед выбором коробки стоит описать будущие сценарии школы: роли через полгода, нужные отчеты, правила проверки и коммуникации, которые придется менять без вендора. Если уже на этом этапе видны исключения, завязанные на обходные настройки и переписку с поддержкой, готовая LMS быстро начнет тормозить развитие. При стандартном ближайшем росте решение с надстройкой обычно дешевле и быстрее.\u003C\u002Fp>\u003C\u002Fblockquote>\u003Ch2>Сценарий второй: собрать разбросанное в одно\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"03-scenariy-vtoroy.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F03_scenariy_vtoroy_e085322786.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_03_scenariy_vtoroy_e085322786.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_03_scenariy_vtoroy_e085322786.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_03_scenariy_vtoroy_e085322786.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_03_scenariy_vtoroy_e085322786.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Другая частая история: у школы уже что-то работает, но живет по кусочкам. Один курс на одной платформе, второй — на другой, аналитика в третьем месте, а общей картины по ученику нет ни у кого.\u003C\u002Fp>\u003Cp>С этим мы столкнулись на \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fstudycats\">Studycats\u003C\u002Fa>. Было шесть отдельных курсов — история, русский, обществознание, английский, литература, математика, — и каждый жил своей жизнью: свои ученики, своя аналитика, своё расписание. Для школы это значит, что ни один вопрос вида «сколько у нас всего активных учеников» или «где проседает вовлеченность» не имеет быстрого ответа — данные приходится сшивать вручную.\u003C\u002Fp>\u003Cp>Мы собрали шесть курсов в одну платформу с общей базой пользователей и сквозной аналитикой. Сверху достроили то, что и делает её продуктом, а не просто складом уроков:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"e37f00a3f4ea27919af2016d10660fb45\">Единый вход и витрина курсов — ученик видит всё в одном кабинете, а не логинится в шесть разных мест.\u003C\u002Fli>\u003Cli data-list-item-id=\"e2e548a51e95cd34f7fdf9d9c9d2be61d\">Учебный контур — расписание, домашки с проверкой (автоматической, ручной и даже аудио — под разные типы заданий), пробные экзамены.\u003C\u002Fli>\u003Cli data-list-item-id=\"e82717c7eefd25f9a9bf1089af487e68d\">Механики удержания, подсмотренные у игр. Стрики, уровни, питомец-маскот, который растёт вместе с прогрессом. Интервальное повторение через карточки — чтобы пройденное не выветривалось. И внутренняя валюта, котокоины, которую можно получать за занятия и тратить, — на ней же построена реферальная программа: ученики приводят учеников.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Смысл всей этой геймификации не в «сделать помилее». Онлайн-обучение проваливается не там, где плохой контент, а там, где человек перестаёт заходить. Стрики и маскот дают повод вернуться сегодня, а не «когда-нибудь домучаю курс». Запустили к 1 сентября — специально к началу учебного года, — и на старте платформа держала больше тысячи учеников. Вся сборка заняла пять месяцев.\u003C\u002Fp>\u003Cp>Это не стройка с нуля и не коробка, а промежуточный режим: вы связываете существующее в целое и достраиваете общий слой сверху. Дешевле полного цикла, гибче коробки — но требует, чтобы у вас уже было что связывать.\u003C\u002Fp>\u003Ch2>Сценарий третий: когда платформа и есть ваш продукт\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"04-scenariy-tretiy.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F04_scenariy_tretiy_278f9abc0c.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_04_scenariy_tretiy_278f9abc0c.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_04_scenariy_tretiy_278f9abc0c.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_04_scenariy_tretiy_278f9abc0c.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_04_scenariy_tretiy_278f9abc0c.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>И только теперь — тот самый полный цикл с нуля, ради которого обычно и приходят. Он оправдан, когда платформа не обслуживает бизнес, а сама им является: когда нагрузка, роли и логика уникальны, а конкурентное преимущество зашито именно в том, как всё устроено внутри.\u003C\u002Fp>\u003Cp>Так мы делали \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fonlayn-shkola-1\">Онлайн-Школу №1\u003C\u002Fa>. Масштаб, ради которого вообще стоило городить полный цикл: 2 840 активных учеников за 30 дней, 24 предмета, 11 факультативов, отдельный поток подготовки к ЕГЭ. На таком объёме коробка и конструктор уже трещат по швам — и вот почему.\u003C\u002Fp>\u003Cp>Учебное ядро мы собрали как веб-платформу на микросервисах: Node.js, NestJS, Nuxt.js, PostgreSQL, Redis, RabbitMQ. Сразу оговорюсь про частую путаницу — учебная часть живёт в вебе (расписание, ДЗ, материалы, мониторинг, коммуникация), а мобильные приложения закрывают узкие сценарии, а не дублируют платформу. Строить мобильную копию всего — это удвоить бюджет ради удобства, которое веб и так даёт.\u003C\u002Fp>\u003Cp>Что этот выбор дал на практике:\u003C\u002Fp>\u003Cp>Ролевая модель под рост. Восемнадцать ролей, и новая заводится за 15–20 минут. Звучит скучно, пока школа не начинает еженедельно придумывать новые типы сотрудников — кураторов, тьюторов, проверяющих. В коробке каждая такая роль превратилась бы в переписку с поддержкой вендора; у нас это движение на пару минут.\u003C\u002Fp>\u003Cp>Автоматизация рутины. Около 80% проверок домашних заданий ушло в автомат, тестирование держит 14 типов вопросов. В переводе на человеческий — примерно 25 часов в неделю, которые преподаватели больше не тратят на ручную проверку.\u003Cbr>\u003Cbr>И честно про обратную сторону, потому что микросервисы — это не бесплатный обед. Распределённая отладка, согласованность данных между сервисами, инфраструктура — всё это стоит времени команды. На маленьком проекте такая архитектура была бы дорогим украшением. Она отбивается там, где заложен рост. Онлайн-Школа №1 — ровно этот случай, и результат виден в цифрах: конверсия в оплату выросла с 12% до 27%, удержание — с 48% до 64%.\u003C\u002Fp>\u003Cblockquote>\u003Cp>Раньше система школы жила в головах сотрудников — кто где что смотрит и как свести отчет. У куратора это была ссылка на Zoom в одном месте, чат — в другом, расписание — в гугл-таблице, а отчет по классу собирался вручную из трех источников. Любая нестыковка становилась личной проблемой конкретного человека: потерялась ссылка, разъехались цифры, кто-то забыл обновить таблицу. Теперь система живет в платформе, а не в чьей-то голове или переписке в чате. Отчет по классу — это не ручное сведение, а один экран, которому можно доверять. Вот в этом и есть разница между набором сервисов и продуктом: сервисы работают каждый сам по себе, а продукт держит в себе весь процесс школы целиком\u003C\u002Fp>\u003C\u002Fblockquote>\u003Ch2>Отдельная глава: когда дешевле построить свой Zoom, чем платить за чужой\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"05-sobstvennaya-vks.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F05_sobstvennaya_vks_fad85e0e7b.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_05_sobstvennaya_vks_fad85e0e7b.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_05_sobstvennaya_vks_fad85e0e7b.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_05_sobstvennaya_vks_fad85e0e7b.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_05_sobstvennaya_vks_fad85e0e7b.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Самое контринтуитивное решение на этом проекте — \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fonlayn-shkola-1-vks\">собственная видеосвязь\u003C\u002Fa> вместо Zoom или Teams. На первый взгляд чистое переусложнение: готовые сервисы же есть, бери и подключай. Но давайте посмотрим не на технологию, а на то, как выглядит обычный будний вечер в онлайн-школе на чужом видеосервисе.\u003C\u002Fp>\u003Cp>Ученик ищет ссылку на урок, потерявшуюся в чате две недели назад. Преподаватель отвечает на пятое сообщение «а урок сегодня здесь или где?». Куратор вручную сверяет, кто был на занятии, выгружая список из стороннего сервиса. Родитель просит запись, а её надо где-то отдельно найти и переслать. Ничего не сломалось — просто каждый вечер школа теряет по чуть-чуть времени и нервов на ровном месте.\u003C\u002Fp>\u003Cp>Своя видеосвязь убирает этот вечер целиком. Ученик заходит на урок одной кнопкой из личного кабинета — без ссылок, паролей и «точно здесь?». Отвалился Wi-Fi или закрылась вкладка — нажал ту же кнопку, вернулся в ту же комнату. Посещаемость считается сама и сразу лежит в системе. Записи автоматически появляются у тех, кому положено — ученикам, кураторам, родителям. И, что для образовательного бизнеса в России стало уже операционным риском, а не гипотетическим, — никакой зависимости от зарубежных вендоров, которые могут в любой момент передумать.\u003C\u002Fp>\u003Cp>Технически под капотом WebRTC и десктоп-приложение для учителя с демонстрацией экрана и управлением вниманием класса, но ученику всей этой кухни не видно — ему видна одна кнопка. Собрали за восемь месяцев, нагрузку массовых уроков держит стабильно, проект взял первое место в номинации «Цифровая трансформация». Готовый SDK был бы быстрее на старте — но тогда вход в урок принадлежал бы чужому продукту, с его экранами, лимитами и правилами, а не школе.\u003C\u002Fp>\u003Ch2>Так во что же это обходится\u003C\u002Fh2>\u003Cp>Теперь про деньги, ради которых вы, скорее всего, и открыли эту статью. Назвать цену EdTech-платформы «в среднем» так же осмысленно, как назвать среднюю стоимость дома: землянка и особняк формально оба дома. Но факторы, которые двигают смету, всегда одни и те же — и по ним вы сможете прикинуть свой случай ещё до разговора с любым подрядчиком.\u003C\u002Fp>\u003Cp>Первый и главный — тот самый сценарий: коробка, конструктор или стройка с нуля. Разница между ними не в процентах, а в разах: коробка с надстройкой (как Mayak.study) и полный цикл под масштаб (как Онлайн-Школа №1) — это два разных финансовых мира, а сборка из фрагментов (Studycats) лежит где-то между. Это решение стоит принять осознанно, а не по инерции «хотим всё своё».\u003C\u002Fp>\u003Cp>Дальше — число и сложность модулей. Расписание, домашки с автопроверкой, пробники, геймификация, аналитика, оплаты: каждый добавляет не только разработку, но и вечную поддержку. Сложность ролевой модели: чем тоньше права доступа, тем дороже логика — зато заложенная гибкость потом экономит. Собственная инфраструктура вроде видеосвязи или прокторинга — это отдельные подпроекты, оправданные, когда аренда упирается в риски, а не «чтобы было». И горизонт роста: платформа «на сейчас» и платформа «под трехкратный рост» — это два разных бюджета уже на старте, потому что закладываются в архитектуру с первого дня.\u003C\u002Fp>\u003Cp>Чтобы не оставлять вас совсем без ориентиров, вот как это ложится в порядки величин:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"e4d4508767704c69e993e8a1654cf07d9\">Коробка с надстройкой — ориентировочно от 1,5 до 4 млн ₽. Самый предсказуемый бюджет: базу не пишем, платим за настройку и надстройку под вашу операционку.\u003C\u002Fli>\u003Cli data-list-item-id=\"e61b9b4b8df8897029474a81ecbb89939\">Сборка из фрагментов — примерно 4–8 млн ₽. Зависит от того, сколько всего сшиваем и в каком состоянии то, что уже есть.\u003C\u002Fli>\u003Cli data-list-item-id=\"e11ee4a4117048586dd7a4c328e00b987\">Полный цикл под масштаб — от 8–10 млн ₽ и вверх. Верхней границы, по сути, нет — она определяется тем, сколько модулей и какой рост вы закладываете; крупные платформы уходят и за 20 млн.\u003C\u002Fli>\u003C\u002Ful>\u003Cblockquote>\u003Cp>Сильнее всего смета растет на связности: ролях, интеграциях, правах доступа и данных. На встрече это звучит просто: подключим CRM, оплаты и аналитику. Потом выясняется, что у маркетинга одна логика сегментов, у методистов другая, у кураторов третья. Когда эти зависимости пропускают до старта, команда платит дважды: сначала за быстрый запуск, затем за миграцию, перенастройку ролей и пересборку связей между сервисами. Экономия на проектировании быстро превращается в отдельный бюджет на исправления\u003C\u002Fp>\u003C\u002Fblockquote>\u003Ch2>И про сроки — та же история\u003C\u002Fh2>\u003Cp>«Когда будет готово» — вопрос-близнец вопроса про деньги, и ответ у него такой же честный и такой же неудобный: смотря что считать готовым. Первый работающий релиз и завершенная платформа — это разные горизонты, и путать их — верный способ разочароваться.\u003C\u002Fp>\u003Cp>Реальные ориентиры из наших проектов:\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"ed8c6b376fff2a8442c9f6d5933f5c555\">Коробка с надстройкой — около полугода. Столько заняла Mayak.study: базовую инфраструктуру не строили, время ушло на отчётность, вебинары и пробники.\u003C\u002Fli>\u003Cli data-list-item-id=\"ea50ee00578e56a7a3191f49ec66aa25b\">Сборка из фрагментов — порядка пяти месяцев. Studycats собрали ровно к 1 сентября, с жёстким дедлайном под учебный год.\u003C\u002Fli>\u003Cli data-list-item-id=\"eb75107de1eb528d15ca594d4c728c2b0\">Полный цикл, первый релиз ядра — от трёх месяцев. Именно за три мы подняли работающее ядро Онлайн-Школы №1. Но важная оговорка: это MVP, а не «вся платформа». Сотрудничаем с 2021 года, и всё это время она растёт итерациями.\u003C\u002Fli>\u003Cli data-list-item-id=\"ee0884843b0ce9d23595e6bde3fa300c7\">Отдельная сложная подсистема (например, своя видеосвязь) — около восьми месяцев поверх основного проекта, потому что реальное время и нагрузка массовых уроков прощают меньше, чем обычный веб.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Отсюда простое правило планирования: закладывайтесь на то, что полный цикл стартует с MVP-ядра за несколько месяцев, а дальше живёт и достраивается. Образовательный продукт вообще редко бывает «доделан» — и это не баг, а нормальная его жизнь.\u003C\u002Fp>\u003Ch2>Что со всем этим делать\u003C\u002Fh2>\u003Cp>Если свести всё к одному совету, он будет не про технологии, а про порядок вопросов. Начинать не с «сколько стоит», а с двух других: насколько уникальна ваша учебная механика и на какой рост вы закладываетесь. Ответы на них определят сценарий, сценарий определит сроки и смету, а не наоборот. Заказчики, которые проходят эту развилку осознанно, почти никогда потом не переплачивают за переделки — а именно переделки, а не разработка, обычно и взрывают бюджет.\u003C\u002Fp>\u003Cp>Если вы как раз стоите перед этой развилкой и не уверены, что выбрать — коробку, конструктор или полный цикл, — расскажите о задаче нашей команде. \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fservices\u002Fedtech\">Разберём\u003C\u002Fa> ваш сценарий и честно скажем, где не надо строить с нуля. В том числе если выяснится, что вам и правда хватит коробки — такое тоже бывает, и говорить об этом мы не стесняемся.\u003C\u002Fp>",[1017,1018],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":1019,"documentId":1020,"title":1021,"slug":1022,"order":23,"createdAt":1023,"updatedAt":1023,"publishedAt":1024,"locale":16},33,"xhke7f1vzoqyx9nzqc1sukc6","e-commerce","ecommerce-blog","2026-08-31T12:06:40.235Z","2026-08-31T12:06:40.258Z",[],{"createdAt":229,"id":224,"documentId":225,"title":226,"date":227,"description":9,"order":23,"slug":228,"showOnMainPage":12,"updatedAt":230,"publishedAt":231,"locale":16,"cover":1027,"content":1061,"media_event":9,"media_areas":1064,"seo":9,"localizations":1073},{"id":1028,"documentId":1029,"name":1030,"alternativeText":9,"caption":9,"width":881,"height":882,"formats":1031,"hash":1056,"ext":885,"mime":888,"size":1057,"url":1058,"previewUrl":9,"provider":918,"provider_metadata":9,"createdAt":1059,"updatedAt":1059,"publishedAt":1060},829,"udo3oy290qdqe1qxfzq2dx0h","01-cover-v3.png",{"large":1032,"small":1038,"medium":1044,"thumbnail":1050},{"ext":885,"url":1033,"hash":1034,"mime":888,"name":1035,"path":9,"size":1036,"width":891,"height":892,"sizeInBytes":1037},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_01_cover_v3_8e4746a819.png","large_01_cover_v3_8e4746a819","large_01-cover-v3.png",496.14,496135,{"ext":885,"url":1039,"hash":1040,"mime":888,"name":1041,"path":9,"size":1042,"width":23,"height":899,"sizeInBytes":1043},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_01_cover_v3_8e4746a819.png","small_01_cover_v3_8e4746a819","small_01-cover-v3.png",131.84,131844,{"ext":885,"url":1045,"hash":1046,"mime":888,"name":1047,"path":9,"size":1048,"width":906,"height":23,"sizeInBytes":1049},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_01_cover_v3_8e4746a819.png","medium_01_cover_v3_8e4746a819","medium_01-cover-v3.png",289.23,289227,{"ext":885,"url":1051,"hash":1052,"mime":888,"name":1053,"path":9,"size":1054,"width":913,"height":105,"sizeInBytes":1055},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_01_cover_v3_8e4746a819.png","thumbnail_01_cover_v3_8e4746a819","thumbnail_01-cover-v3.png",33.48,33475,"01_cover_v3_8e4746a819",459.2,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F01_cover_v3_8e4746a819.png","2026-09-20T15:29:31.962Z","2026-09-20T15:29:31.963Z",[1062],{"__component":926,"id":524,"text":1063},"\u003Cp>Пользователь оплатил урок, открыл расписание и нажал «Войти». Через секунду он рассчитывает увидеть преподавателя. Искать ссылку в чате и вспоминать аккаунт Zoom он не планировал.\u003Cbr>\u003Cbr>Кнопка «Войти» за миллионы — короткое название всей системы вокруг звонка. За ней стоят проверка доступа, нужная комната и данные, которые вернутся в учебную платформу после урока. В этот момент видеосвязь уже управляет частью услуги. Ее нужно проектировать вместе с расписанием, оплатой и личным кабинетом.\u003Cbr>\u003Cbr>Такую задачу мы решали для \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fonlayn-shkola-1-vks\">Онлайн-Школы №1\u003C\u002Fa>: урок должен был открываться из расписания, а данные до и после занятия — оставаться внутри платформы. На этом проекте хорошо видно, в какой момент внешней ссылки уже мало и видеосвязь приходится встраивать в продукт.\u003C\u002Fp>\u003Ch2>Внешняя ссылка справляется, пока встреч мало\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"02-external-link-v2.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F02_external_link_v2_342d896499.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_02_external_link_v2_342d896499.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_02_external_link_v2_342d896499.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_02_external_link_v2_342d896499.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_02_external_link_v2_342d896499.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Для первых встреч готовый сервис видеосвязи решает задачу. Он дешевле, быстрее и не требует отдельной команды под качество связи, записи, устройства, модерацию и поддержку.\u003Cbr>Если групп, преподавателей или экспертов немного, администратор успевает сам отправить ссылку, после занятия забрать запись и помочь пользователю, который потерял приглашение. Для проверки гипотезы этого хватает.\u003Cbr>\u003Cbr>Так можно жить долго, если встреча остается второстепенной. Отдел продаж иногда проводит демо, куратор раз в месяц собирает группу, поддержка подключается к клиенту только в сложных случаях. Здесь своя ВКС превращается в дорогую игрушку.\u003C\u002Fp>\u003Ch2>После оплаты лишняя ссылка ломает путь\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F03_broken_journey_v2_f80314f4aa.png\" alt=\"03-broken-journey-v2.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_03_broken_journey_v2_f80314f4aa.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_03_broken_journey_v2_f80314f4aa.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_03_broken_journey_v2_f80314f4aa.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_03_broken_journey_v2_f80314f4aa.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Пользователь уже записался, выбрал слот, получил доступ и открыл личный кабинет. Теперь он ждет одну кнопку и понятное продолжение. Новая вкладка прерывает сценарий: приходится снова разбираться со входом и интерфейсом.\u003Cbr>\u003Cbr>В онлайн-школе ученик открывает расписание и нажимает на занятие. В этот момент система должна проверить оплату, группу, срок доступа, преподавателя, материалы к уроку и право на запись после занятия.\u003Cbr>\u003Cbr>В медицине та же проблема возникает на приеме: пациент записался, врач видит карточку, консультация попадает в историю, доступ к записи регулируется ролью. В поддержке созвон связан с обращением, SLA, ответственным сотрудником и итогом разбора.\u003Cbr>Когда таких связей много, внешняя ссылка рвет сценарий. Пользователь уходит в другое окно, повторно проходит доступ, путается в приглашениях и пишет в поддержку. Команда тем временем склеивает события в таблицах, чатах, CRM и админке.\u003C\u002Fp>\u003Ch2>Звонок закончился. Данные остались\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F04_data_after_call_v2_base_eb1d4438e3.png\" alt=\"04-data-after-call-v2-base.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_04_data_after_call_v2_base_eb1d4438e3.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_04_data_after_call_v2_base_eb1d4438e3.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_04_data_after_call_v2_base_eb1d4438e3.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_04_data_after_call_v2_base_eb1d4438e3.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>После урока или консультации команде нужно понять, что произошло: кто пришел, кто опоздал, сколько времени каждый провел в комнате, когда пропала связь, сохранилась ли запись и какие встречи требуют проверки качества.\u003Cbr>\u003Cbr>Пока встреч мало, картину можно восстановить из сообщений: кто-то помнит время сбоя, кто-то прислал скриншот, преподаватель написал администратору. С ростом сервиса такой способ разваливается. Нужны события, статусы, логи, записи, расшифровки и аналитика рядом с продуктом.\u003Cbr>\u003Cbr>Иногда решающим становится контур хранения. Если внутренние требования безопасности или договор ограничивают место хранения, записи консультаций и данные учеников должны оставаться в согласованной инфраструктуре. Внешний провайдер подходит, если у него можно выбрать нужное размещение, сроки хранения и правила доступа.\u003Cbr>\u003Cbr>Для SaaS-продукта это особенно чувствительно. Если видеозвонок входит в платный сценарий, сбой в комнате становится проблемой всего сервиса: растут обращения в поддержку, появляются возвраты, падает доверие к продукту. Пользователь не делит опыт на «платформу» и «внешнюю ВКС».\u003C\u002Fp>\u003Ch2>Чужая ВКС живет по своим правилам\u003C\u002Fh2>\u003Cp>Готовый сервис умеет звонить, записывать и приглашать участников. Бизнес-логику конкретного продукта он не знает. У провайдера свои роли, модель комнат, настройки доступа, события, аналитика и планы развития.\u003Cbr>\u003Cbr>Между внешней ссылкой и разработкой собственной ВКС есть промежуточный вариант: встроить Zoom Meeting SDK или взять платформу вроде Jitsi или LiveKit. Zoom оставляет звонок на стороне провайдера, но показывает его внутри вашего интерфейса. Jitsi и LiveKit можно развернуть на своей инфраструктуре и получить больше контроля.\u003Cbr>\u003Cbr>Встраиваемого решения хватает, когда продукту нужны вход из кабинета, базовые события и записи, а модель ролей, лимиты и условия хранения подходят бизнесу. При самостоятельном размещении команда берет на себя медиаинфраструктуру и ее поддержку. Когда SDK не передает нужное событие или чужие лимиты начинают менять продуктовую логику, команда упирается в тот же потолок внешнего инструмента.\u003C\u002Fp>\u003Ch2>Когда сбой в звонке начинает стоить денег\u003C\u002Fh2>\u003Cp>В онлайн-школе цена сбоя возникает сразу: ученик оплатил конкретный модуль, а кнопка должна открыть именно его урок. Если доступ не сработал, проблема видеосвязи превращается в сорванную оплаченную услугу.\u003Cbr>\u003Cbr>В поддержке звонок привязан к обращению. После разговора в карточке должны остаться запись и итог разбора. Если они теряются между сервисами, сотрудник восстанавливает ход встречи по чатам и скриншотам, а клиент ждет.\u003C\u002Fp>\u003Ch2>Один клик из расписания: кейс Онлайн-Школы №1\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F05_one_click_case_base_b7f6fd8d98.png\" alt=\"05-one-click-case-base.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_05_one_click_case_base_b7f6fd8d98.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_05_one_click_case_base_b7f6fd8d98.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_05_one_click_case_base_b7f6fd8d98.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_05_one_click_case_base_b7f6fd8d98.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>\u003Cbr>В Онлайн-Школе №1 живые занятия — один из главных процессов. Мы спроектировали собственную ВКС на базе WebRTC и напрямую связали ее с учебной платформой.\u003Cbr>Ученик входит в комнату из расписания без дополнительных логинов и паролей. Для учителя сделали отдельное приложение на Electron: в нем можно показывать экран и материалы, работать с доской, следить за поднятыми руками и реакциями. Записи после урока доступны ученику и куратору.\u003Cbr>\u003Cbr>Посещение засчитывается после заданного школой порога — примерно 15–20 минут. Так факт входа в комнату еще не равен факту участия в уроке. ВКС работает по правилам учебного процесса, а данные о занятии остаются в LMS.\u003Cbr>\u003Cbr>На нагрузочных прогонах моделировали несколько одновременных уроков. В параллельных комнатах суммарно было около 100 подключений «ботов-учеников»; сессии оставались стабильными, без падений. Перед релизами отдельно проверяли работу камеры, микрофона и захвата экрана в актуальных браузерах.\u003Cbr>\u003Cbr>Подробно архитектуру, сценарии и тестирование показали в \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fprojects\u002Fonlayn-shkola-1-vks\">кейсе ВКС\u003C\u002Fa> для Онлайн-Школы №1.\u003C\u002Fp>\u003Ch2>Своя ВКС дороже на старте. Когда она оправдана\u003C\u002Fh2>\u003Cp>Основные статьи расходов — инфраструктура, контроль качества связи, нагрузочные тесты, хранение записей и безопасность. После запуска понадобится бюджет на восстановление после сбоев, поддержку устройств и развитие интерфейса.\u003Cbr>\u003Cbr>Перед разработкой стоит решить, какую часть пользовательского пути бизнес хочет контролировать сам. Для этого достаточно пройти несколько вопросов.\u003C\u002Fp>\u003Cul>\u003Cli data-list-item-id=\"eb81f9736d2d14067b173e6144f74f538\">Встреча связана с оплатой, расписанием или правами доступа?\u003C\u002Fli>\u003Cli data-list-item-id=\"e8c1b83e62ac7ce1af6075fc8f2d698a1\">Есть ли разные роли с разными возможностями внутри звонка?\u003C\u002Fli>\u003Cli data-list-item-id=\"e8d47538390a4419fd4590a2846a074f8\">Нужны ли записи, расшифровки, посещаемость, логи и аналитика в продукте?\u003C\u002Fli>\u003Cli data-list-item-id=\"ef920ed24923416477e15877a3e0e4697\">Есть ли требования к тому, где хранятся записи и данные участников?\u003C\u002Fli>\u003Cli data-list-item-id=\"e86c125faf6fbe974ad3cd9a83e0ba904\">Влияет ли качество встречи на возвраты, поддержку, удержание или оценку услуги\u003C\u002Fli>\u003Cli data-list-item-id=\"e6d0f795eb2e2290bd9ac5b2bd7be2b57\">Приходится ли команде регулярно переносить данные между ВКС, CRM, LMS, МИС или личным кабинетом?\u003C\u002Fli>\u003Cli data-list-item-id=\"e45683e07bbdb53aad6d93164d55531a6\">Мешают ли ограничения внешнего сервиса менять основной сценарий?\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Считать ответы механически не стоит. Один критичный пункт — например, доступ к оплаченной услуге или возврат данных в продукт — может перевесить несколько нейтральных.\u003Cbr>\u003Cbr>\u003Cstrong>Если сбой во встрече ломает оплаченную услугу или оставляет сервис без нужных данных, ВКС нужно проектировать как часть продукта.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Когда встреча остается второстепенной и ничего не меняет в сервисе после звонка, готового инструмента достаточно.\u003Cbr>\u003Cbr>Если видеовстреча уже определяет, получил ли клиент услугу, \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fservices\u002Fvks\">можем разобрать\u003C\u002Fa> архитектуру: где хватит интеграции с готовым сервисом и что потребуется для собственной ВКС.\u003C\u002Fp>",[1065,1066],{"id":19,"documentId":20,"title":21,"slug":22,"order":23,"createdAt":24,"updatedAt":24,"publishedAt":25,"locale":16},{"id":1067,"documentId":1068,"title":1069,"slug":1070,"order":23,"createdAt":1071,"updatedAt":1071,"publishedAt":1072,"locale":16},27,"x6rulaa9s3473663k7mutmd7","EdTech ","ed-tech","2026-07-30T14:30:19.041Z","2026-07-30T14:30:19.062Z",[]]