[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"media-detail-with-another-kak-rasschitat-byudzet-rag-i-izbezhat-lishnikh-zatrat":3},{"media":4,"anotherMedia":883},{"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":831,"content":878},338,"b82vt0dmoot3vi0yo5y3j435","Как посчитать бюджет RAG и не переплатить за модель","2026-07-14",null,2,"kak-rasschitat-byudzet-rag-i-izbezhat-lishnikh-zatrat",true,"2026-07-14T12:01:48.568Z","2026-09-17T22:42:53.015Z","2026-09-17T22:42:53.076Z","ru",[18,815],{"id":10,"documentId":19,"title":20,"slug":21,"order":22,"createdAt":23,"updatedAt":23,"publishedAt":24,"locale":16,"media":25,"localizations":814},"ei24o3vyhndi1hqwqhnd61p0","Все","ALL",500,"2026-02-25T07:47:50.713Z","2026-02-25T07:47:50.739Z",[26,37,47,57,66,75,84,93,103,112,122,131,140,149,158,167,176,185,186,195,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],{"id":27,"documentId":28,"title":29,"date":30,"description":31,"order":32,"slug":33,"showOnMainPage":12,"createdAt":34,"updatedAt":35,"publishedAt":36,"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":38,"documentId":39,"title":40,"date":41,"description":42,"order":32,"slug":43,"showOnMainPage":12,"createdAt":44,"updatedAt":45,"publishedAt":46,"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":48,"documentId":49,"title":50,"date":51,"description":52,"order":32,"slug":53,"showOnMainPage":12,"createdAt":54,"updatedAt":55,"publishedAt":56,"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":58,"documentId":59,"title":60,"date":61,"description":9,"order":22,"slug":62,"showOnMainPage":12,"createdAt":63,"updatedAt":64,"publishedAt":65,"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":67,"documentId":68,"title":69,"date":70,"description":9,"order":22,"slug":71,"showOnMainPage":12,"createdAt":72,"updatedAt":73,"publishedAt":74,"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":76,"documentId":77,"title":78,"date":79,"description":9,"order":22,"slug":80,"showOnMainPage":12,"createdAt":81,"updatedAt":82,"publishedAt":83,"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":85,"documentId":86,"title":87,"date":88,"description":9,"order":22,"slug":89,"showOnMainPage":12,"createdAt":90,"updatedAt":91,"publishedAt":92,"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":94,"documentId":95,"title":96,"date":97,"description":98,"order":32,"slug":99,"showOnMainPage":12,"createdAt":100,"updatedAt":101,"publishedAt":102,"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":104,"documentId":105,"title":106,"date":107,"description":9,"order":22,"slug":108,"showOnMainPage":12,"createdAt":109,"updatedAt":110,"publishedAt":111,"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":113,"documentId":114,"title":115,"date":116,"description":9,"order":117,"slug":118,"showOnMainPage":12,"createdAt":119,"updatedAt":120,"publishedAt":121,"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":123,"documentId":124,"title":125,"date":126,"description":9,"order":22,"slug":127,"showOnMainPage":12,"createdAt":128,"updatedAt":129,"publishedAt":130,"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":132,"documentId":133,"title":134,"date":135,"description":9,"order":22,"slug":136,"showOnMainPage":12,"createdAt":137,"updatedAt":138,"publishedAt":139,"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":141,"documentId":142,"title":143,"date":144,"description":9,"order":22,"slug":145,"showOnMainPage":12,"createdAt":146,"updatedAt":147,"publishedAt":148,"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":150,"documentId":151,"title":152,"date":153,"description":9,"order":22,"slug":154,"showOnMainPage":12,"createdAt":155,"updatedAt":156,"publishedAt":157,"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":159,"documentId":160,"title":161,"date":162,"description":9,"order":22,"slug":163,"showOnMainPage":12,"createdAt":164,"updatedAt":165,"publishedAt":166,"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":168,"documentId":169,"title":170,"date":171,"description":9,"order":22,"slug":172,"showOnMainPage":12,"createdAt":173,"updatedAt":174,"publishedAt":175,"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":177,"documentId":178,"title":179,"date":180,"description":9,"order":117,"slug":181,"showOnMainPage":12,"createdAt":182,"updatedAt":183,"publishedAt":184,"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":5,"documentId":6,"title":7,"date":8,"description":9,"order":10,"slug":11,"showOnMainPage":12,"createdAt":13,"updatedAt":14,"publishedAt":15,"locale":16},{"id":187,"documentId":188,"title":189,"date":190,"description":9,"order":22,"slug":191,"showOnMainPage":12,"createdAt":192,"updatedAt":193,"publishedAt":194,"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":196,"documentId":197,"title":198,"date":199,"description":9,"order":200,"slug":201,"showOnMainPage":12,"createdAt":202,"updatedAt":203,"publishedAt":204,"locale":16},297,"yazmsp31df1ggv8saaix8dkd","«Тут почти стандартно, пара нюансов»: как эта фраза убивает экономику подписки\n","2026-07-22",1,"-tut-pochti-standartno-para-nyuansov-kak-eta-fraza-ubivaet-ekonomiku-podpiski","2026-07-22T11:46:36.625Z","2026-09-13T23:21:38.544Z","2026-09-13T23:21:38.602Z",{"id":206,"documentId":207,"title":208,"date":209,"description":9,"order":22,"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":22,"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":22,"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":200,"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":22,"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":22,"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":10,"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":22,"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":10,"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":200,"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":200,"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":22,"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":200,"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":200,"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":200,"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":200,"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":200,"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":200,"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":200,"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":200,"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":200,"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":200,"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":200,"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":200,"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":200,"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":200,"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":22,"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":22,"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":22,"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":22,"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":22,"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":22,"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":200,"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":22,"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":22,"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":200,"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":200,"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":200,"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":22,"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":200,"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":32,"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":200,"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":22,"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":22,"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":22,"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":22,"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":200,"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":22,"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":22,"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":22,"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":22,"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":816,"documentId":817,"title":818,"slug":819,"order":22,"createdAt":820,"updatedAt":820,"publishedAt":821,"locale":16,"media":822,"localizations":830},31,"x54tt9ferpmy25va1y5hlmqq","Стоимость и бюджеты","stoimost-i-byudzhety","2026-07-30T14:30:46.759Z","2026-07-30T14:30:46.777Z",[823,824,825,826,827,828,829],{"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":243,"documentId":244,"title":245,"date":246,"description":9,"order":200,"slug":247,"showOnMainPage":12,"createdAt":248,"updatedAt":249,"publishedAt":250,"locale":16},{"id":252,"documentId":253,"title":254,"date":255,"description":9,"order":22,"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":10,"slug":320,"showOnMainPage":12,"createdAt":321,"updatedAt":322,"publishedAt":323,"locale":16},{"id":343,"documentId":344,"title":345,"date":346,"description":9,"order":22,"slug":347,"showOnMainPage":12,"createdAt":348,"updatedAt":349,"publishedAt":350,"locale":16},{"id":196,"documentId":197,"title":198,"date":199,"description":9,"order":200,"slug":201,"showOnMainPage":12,"createdAt":202,"updatedAt":203,"publishedAt":204,"locale":16},[],{"id":832,"documentId":833,"name":834,"alternativeText":9,"caption":9,"width":835,"height":836,"formats":837,"hash":869,"ext":839,"mime":842,"size":870,"url":871,"previewUrl":9,"provider":872,"provider_metadata":9,"createdAt":873,"updatedAt":873,"publishedAt":874,"related":875},811,"je8dqfs70lq9s0hf8xtq3atk","01-cover.png",1920,1280,{"large":838,"small":848,"medium":855,"thumbnail":862},{"ext":839,"url":840,"hash":841,"mime":842,"name":843,"path":9,"size":844,"width":845,"height":846,"sizeInBytes":847},".png","https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_01_cover_362d5c81ff.png","large_01_cover_362d5c81ff","image\u002Fpng","large_01-cover.png",652.24,1000,667,652243,{"ext":839,"url":849,"hash":850,"mime":842,"name":851,"path":9,"size":852,"width":22,"height":853,"sizeInBytes":854},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_01_cover_362d5c81ff.png","small_01_cover_362d5c81ff","small_01-cover.png",184.5,333,184501,{"ext":839,"url":856,"hash":857,"mime":842,"name":858,"path":9,"size":859,"width":860,"height":22,"sizeInBytes":861},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_01_cover_362d5c81ff.png","medium_01_cover_362d5c81ff","medium_01-cover.png",389.78,750,389775,{"ext":839,"url":863,"hash":864,"mime":842,"name":865,"path":9,"size":866,"width":867,"height":104,"sizeInBytes":868},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_01_cover_362d5c81ff.png","thumbnail_01_cover_362d5c81ff","thumbnail_01-cover.png",48.32,234,48320,"01_cover_362d5c81ff",669.59,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F01_cover_362d5c81ff.png","aws-s3","2026-09-17T22:41:54.007Z","2026-09-17T22:41:54.009Z",[876],{"__type":877,"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",[879],{"__component":880,"id":881,"text":882},"media.text",302,"\u003Cp>Рабочая информация редко хранится в одном месте: регламенты лежат в wiki, шаблоны — в папках отделов, а последние уточнения остаются в чатах. Сотрудники продолжают отвлекать коллег, хотя нужный файл формально уже есть.\u003C\u002Fp>\u003Cp>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fapi.vc.ru\u002Fv2.8\u002Fredirect?to=https%3A%2F%2Fproceedings.neurips.cc%2Fpaper%2F2020%2Fhash%2F6b493230205f780e1bc26945df7481e5-Abstract.html&amp;postId=3026926\">Retrieval-Augmented Generation\u003C\u002Fa> (RAG) соединяет поиск по внутренним материалам с языковой моделью. Система находит подходящий фрагмент, формирует ответ и прикладывает ссылку. Если в архиве нет порядка, помощник будет так же аккуратно цитировать устаревшие сведения.\u003C\u002Fp>\u003Cp>Поэтому до выбора архитектуры стоит оценить две вещи: сколько времени уходит на консультации коллег и можно ли доверять исходным данным. Первое определяет экономику, второе — объём подготовки к пилоту.\u003C\u002Fp>\u003Ch2>Когда RAG оправдан и когда окупается\u003C\u002Fh2>\u003Cp>Я бы начал с одной темы, по которой регулярно повторяются запросы: например, про отпуска, компенсации или выдачу доступов. При 100 обращениях за 30 дней и семи минутах на каждое процесс забирает почти 12 часов специалиста.\u003C\u002Fp>\u003Cp>Дальше считаем окупаемость: сэкономленные часы умножаем на полную стоимость часа. При ставке 2500 ₽ получаем около 30 000 ₽ в месяц. Пилот за 1,5 млн ₽ в таком сценарии будет окупаться более четырёх лет даже без учёта поддержки. Для проекта это слишком долгий срок возврата инвестиций.\u003C\u002Fp>\u003Cp>Экономика сходится, когда один помощник закрывает несколько похожих тем, обращений значительно больше или время эксперта обходится дороже. Пять сравнимых потоков из нашего примера дадут годовой эффект 1,8 млн ₽ и окупят запуск примерно за 10–13 месяцев. С учётом сопровождения этот период ещё немного увеличится.\u003C\u002Fp>\u003Cp>Ради одного типового вопроса в день отдельный RAG, скорее всего, не нужен: дешевле привести в порядок wiki или обычный поиск. Пилоту нужны частые запросы, согласованные инструкции и владелец, который следит за их актуальность.\u003C\u002Fp>\u003Ch2>Из чего складывается бюджет\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"02-inline.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F02_inline_55b9a32631.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_02_inline_55b9a32631.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_02_inline_55b9a32631.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_02_inline_55b9a32631.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_02_inline_55b9a32631.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>По рабочей оценке Qtim, RAG-пилот для одного процесса через внешний API стоит от 1,5–2 млн ₽. Это ориентир для ограниченного набора источников, простого интерфейса и базовых ролей. Сумму уточняют после разбора архива, интеграций и требований к безопасности.\u003C\u002Fp>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002FRAG_tablicza_byudzhet_vc_1920x1080_22830b4238.png\" alt=\"RAG_таблица_бюджет_vc_1920x1080.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_RAG_tablicza_byudzhet_vc_1920x1080_22830b4238.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_RAG_tablicza_byudzhet_vc_1920x1080_22830b4238.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_RAG_tablicza_byudzhet_vc_1920x1080_22830b4238.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_RAG_tablicza_byudzhet_vc_1920x1080_22830b4238.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Для локальной установки того же масштаба нижняя граница обычно составляет около 3 млн ₽ без закупки серверов и последующей эксплуатации. Точная вилка зависит от числа пользователей, SLA и правил защиты данных. Например, моделям gpt-oss \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fapi.vc.ru\u002Fv2.8\u002Fredirect?to=https%3A%2F%2Fopenai.com%2Findex%2Fintroducing-gpt-oss%2F&amp;postId=3026926\">требуется\u003C\u002Fa> от 16 до 80 ГБ памяти ещё до учёта резерва и пикового трафика.\u003C\u002Fp>\u003Cp>Для расчёта окупаемости нужны четыре цифры: затраты на старт, ежемесячное сопровождение, сэкономленное время и стоимость одного обращения. В смете также учитывают подготовку источников и работу владельцев разделов. Так бюджет связывается с реальной нагрузкой на команду.\u003C\u002Fp>\u003Ch2>Как подготовить данные к поиску\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"03-inline.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F03_inline_9d7ff74dfd.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_03_inline_9d7ff74dfd.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_03_inline_9d7ff74dfd.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_03_inline_9d7ff74dfd.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_03_inline_9d7ff74dfd.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Даже крупную и аккуратную библиотеку нельзя целиком передать модели при каждом запросе. Поисковый слой должен быстро выбрать несколько подходящих фрагментов. Качество этого отбора зависит от структуры материалов, их актуальности и разметки.\u003C\u002Fp>\u003Cp>Длинную инструкцию лучше разбивать по завершенным шагам и правилам, оставляя вместе тему раздела, действие, условие и исключение. При автоматической нарезке по 1000 символов связанные пункты могут разойтись, и система вернет только один из них.\u003C\u002Fp>\u003Cp>Перед загрузкой отдельно разбирают структуру таблиц и содержимое скриншотов. Сохраняют название, заголовки столбцов и подписи строк, а при разделении большого массива повторяют шапку в каждой части. Текст на изображении распознают и добавляют в поисковую базу, иначе значения и даты не найдутся по запросу.\u003C\u002Fp>\u003Cp>Каждый фрагмент снабжают метаданными: указывают отдел, статус, дату вступления в силу, срок следующей проверки и владельца. Когда выходит новый регламент, прежнюю редакцию переносят в архив, а индекс обновляют. Если за эту работу никто не отвечает, база постепенно перестанет совпадать с реальными процессами компании.\u003C\u002Fp>\u003Ch2>Права доступа: что проверить до запуска\u003C\u002Fh2>\u003Cp>Разграничение прав настраивают до запуска векторного поиска по внутренним документам. Группы присваивают при индексации, а данные о пользователе получают из SSO или корпоративного каталога. Перед отбором отрывков система уже знает, какие материалы доступны конкретному сотруднику.\u003C\u002Fp>\u003Cp>Так подрядчик увидит проектные файлы, а служебные заметки не будут переданы модели. Попытка скрыть конфиденциальный текст после формирования ответа опаздывает: к этому моменту такие сведения могли оказаться в контексте, логах или кэше.\u003C\u002Fp>\u003Cp>На пилоте проверяют качество ответов и корректную изоляцию ролей. Для этого один и тот же вопрос задают от имени рядового сотрудника, руководителя и внешнего исполнителя, после чего сверяют найденные источники. Такая проверка быстро показывает ошибку в настройках фильтрации.\u003C\u002Fp>\u003Ch2>Как выбирать модель по цене ошибки\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"04-inline.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F04_inline_9946db3225.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_04_inline_9946db3225.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_04_inline_9946db3225.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_04_inline_9946db3225.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_04_inline_9946db3225.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Если поиск поставил прошлогоднюю презентацию выше действующего регламента, она попадёт в контекст и будет пересказана со ссылкой. Доплата за более высокий класс здесь даст лишь более уверенную формулировку неверных сведений. Сначала команда исправляет выдачу и только потом усложняет генерацию.\u003C\u002Fp>\u003Cp>Способ обработки определяют по цене ошибки и аудитории ответа. Типовые внутренние вопросы берёт быстрая и экономичная модель. Спорные случаи отправляют на второй проход или передают юристу, финансисту или владельцу процесса.\u003C\u002Fp>\u003Cfigure class=\"image\">\u003Cimg src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002FRAG_tablicza_czena_oshibki_vc_1920x1080_ee0cb86d16.png\" alt=\"RAG_таблица_цена_ошибки_vc_1920x1080.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_RAG_tablicza_czena_oshibki_vc_1920x1080_ee0cb86d16.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_RAG_tablicza_czena_oshibki_vc_1920x1080_ee0cb86d16.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_RAG_tablicza_czena_oshibki_vc_1920x1080_ee0cb86d16.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_RAG_tablicza_czena_oshibki_vc_1920x1080_ee0cb86d16.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Команда заранее решает, когда нужна дополнительная проверка: тема касается денег или договора, в базе есть противоречия либо текст предназначен для клиента. Такая схема снижает риск и не требует дорогой модели для каждого бытового вопроса.\u003C\u002Fp>\u003Cp>Более сильная модель пригодится для сопоставления нескольких источников и точной формулировки вывода. Для отпусков, статуса заявки или ссылки на регламент её возможности избыточны, а стоимость обращения к ней будет выше.\u003C\u002Fp>\u003Ch2>Как провести пилот и понять результат\u003C\u002Fh2>\u003Cp>Для первого запуска я бы выбрал адаптацию сотрудников, правила возврата или базу отдела продаж. В этих процессах людям часто нужна одна и та же информация, а за содержание отвечает конкретный человек. Подключение всего корпоративного архива сразу усложнит оценку результатов.\u003C\u002Fp>\u003Cp>На старте нужны 50–100 настоящих рабочих вопросов. Для каждого примера записывают ожидаемый ответ, допустимый источник и ситуацию, в которой нужен эксперт. Такой набор позволяет понять, нашелся ли нужный файл, выбрана ли действующая версия и распознала ли система отсутствие данных.\u003C\u002Fp>\u003Cp>Первые результаты лучше показывать сотруднику вместе со ссылкой на исходный документ. Команда смотрит, где механизм выбрал неверный фрагмент, что модель добавила от себя и какие файлы противоречат друг другу. Каждый такой случай сохраняют в тестовом наборе для следующих проверок.\u003C\u002Fp>\u003Cp>До запуска фиксируют число входящих вопросов, среднее время реакции и долю ответов по устаревшим материалам. После старта считают точность отбора источников, долю корректных ссылок, сэкономленные часы и стоимость одной обработки. Пилот расширяют, если он проходит проверку и экономит больше, чем стоит его сопровождение.\u003C\u002Fp>\u003Cp>В одном из проектов Qtim мы \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fservices\u002Fai-chatbots?utm_source=qtim_blog&amp;utm_medium=article&amp;utm_campaign=rag-ru&amp;utm_content=case\">добавили\u003C\u002Fa> RAG к корпоративной базе знаний. Разработка заняла три месяца, а скорость поиска выросла в пять раз: сотрудники находили нужные сведения за секунды вместо часов. Результат дали подготовка корпуса и настройка выдачи под рабочие запросы.\u003C\u002Fp>\u003Cp>В кейсе Morgan Stanley внутренний помощник \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fapi.vc.ru\u002Fv2.8\u002Fredirect?to=https%3A%2F%2Fopenai.com%2Findex%2Fmorgan-stanley%2F&amp;postId=3026926\">искал\u003C\u002Fa> ответы в базе из 100 000 документов, а им пользовались более 98% команд финансовых консультантов. До масштабирования эксперты задавали реальные вопросы и проверяли, нашла ли система нужный источник и точно ли передала его смысл.\u003C\u002Fp>\u003Cp>Если хотите понять, нужен ли вам RAG и какой процесс выбрать первым, можно начать с разбора базы и сценариев. В Qtim \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fservices\u002Fai-chatbots?utm_source=qtim_blog&amp;utm_medium=article&amp;utm_campaign=rag-ru&amp;utm_content=bottom\">оценим\u003C\u002Fa> состояние материалов, права, нагрузку и метрики, а затем скажем, оправдан ли пилот или задачу дешевле закрыть обычным поиском.\u003C\u002Fp>",[884,933,976],{"createdAt":192,"id":187,"documentId":188,"title":189,"date":190,"description":9,"order":22,"slug":191,"showOnMainPage":12,"updatedAt":193,"publishedAt":194,"locale":16,"cover":885,"content":919,"media_event":9,"media_areas":923,"seo":9,"localizations":932},{"id":886,"documentId":887,"name":888,"alternativeText":9,"caption":9,"width":835,"height":836,"formats":889,"hash":914,"ext":839,"mime":842,"size":915,"url":916,"previewUrl":9,"provider":872,"provider_metadata":9,"createdAt":917,"updatedAt":917,"publishedAt":918},923,"q7q5bwal7scfov6soq65uwg8","01-cover-red-v2.png",{"large":890,"small":896,"medium":902,"thumbnail":908},{"ext":839,"url":891,"hash":892,"mime":842,"name":893,"path":9,"size":894,"width":845,"height":846,"sizeInBytes":895},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_01_cover_red_v2_f4d7ba6463.png","large_01_cover_red_v2_f4d7ba6463","large_01-cover-red-v2.png",685.89,685889,{"ext":839,"url":897,"hash":898,"mime":842,"name":899,"path":9,"size":900,"width":22,"height":853,"sizeInBytes":901},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_01_cover_red_v2_f4d7ba6463.png","small_01_cover_red_v2_f4d7ba6463","small_01-cover-red-v2.png",185.9,185901,{"ext":839,"url":903,"hash":904,"mime":842,"name":905,"path":9,"size":906,"width":860,"height":22,"sizeInBytes":907},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_01_cover_red_v2_f4d7ba6463.png","medium_01_cover_red_v2_f4d7ba6463","medium_01-cover-red-v2.png",402.86,402859,{"ext":839,"url":909,"hash":910,"mime":842,"name":911,"path":9,"size":912,"width":867,"height":104,"sizeInBytes":913},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_01_cover_red_v2_f4d7ba6463.png","thumbnail_01_cover_red_v2_f4d7ba6463","thumbnail_01-cover-red-v2.png",46.06,46058,"01_cover_red_v2_f4d7ba6463",766.47,"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F01_cover_red_v2_f4d7ba6463.png","2026-09-23T21:42:00.434Z","2026-09-23T21:42:00.435Z",[920],{"__component":880,"id":921,"text":922},387,"\u003Cp>У онлайн-урока и контента 18+ есть кое-что общее: когда все уже готовы, а видео еще грузится, настроение падает быстрее, чем полоска загрузки двигается вправо. В обоих случаях тормоза мешают процессу. Разница только в реакции: ученик напишет «меня не пускает», а пользователь Pornhub просто закроет вкладку. Без объяснений, без скриншотов, без «а у вас точно Chrome?». Был зритель — и нет зрителя.\u003Cbr>\u003Cbr>Эта история началась с образовательной платформы, название которой мы держим в секрете. Мы пришли сделать нормальный вход в онлайн-урок, а в рабочих вкладках внезапно появился Pornhub. Не самый очевидный сосед для LMS, зато отличный повод поговорить о видео, которое должно запускаться без драматической паузы. Заодно расскажу, как мы теперь ищем референсы для любых продуктов. Способ переносится на что угодно — не только на видео и не только на образование.\u003C\u002Fp>\u003Ch2>Все началось с кнопки «Войти в урок»\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"02-enter-lesson-red-v2.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F02_enter_lesson_red_v2_7457eeeaa5.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_02_enter_lesson_red_v2_7457eeeaa5.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_02_enter_lesson_red_v2_7457eeeaa5.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_02_enter_lesson_red_v2_7457eeeaa5.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_02_enter_lesson_red_v2_7457eeeaa5.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Сценарий выглядел безобидно. Ученик открывает расписание, нажимает кнопку и сразу попадает на занятие. Без ссылки, потерявшейся в чате две недели назад. Без квеста «вспомни, под каким аккаунтом ты вошел в Zoom». Без традиционного сообщения преподавателю: «А урок сегодня здесь или где-то еще?»\u003Cbr>\u003Cbr>Для видеосвязи мы выбрали mediasoup — основу, вокруг которой команда собирает вход, роли и интерфейс под нужный сценарий. Ученику оставалась одна кнопка; вся техническая кухня работала за ней и не просилась в кадр.\u003Cbr>\u003Cbr>На этой «технической кухне» как раз и было больше всего работы, потому что кнопка «Войти в урок» — это четыре системы, которые договорились между собой. Оплата прошла — занятие открывается без письма администратору. Преподаватель перенес эфир — у ученика само меняется расписание, и кнопка ведет на новое время, а не в пустую комнату. Запись готова — она появляется в кабинете у тех, кому доступен курс.\u003Cbr>\u003Cbr>Самым капризным оказался обрыв связи. Отвалился Wi-Fi, уснул ноутбук, ребенок закрыл вкладку — раньше такой ученик шел искать ссылку заново и писать преподавателю. Теперь он нажимает ту же кнопку и возвращается в ту же комнату, в той же роли. Скучная функция, которая экономит больше нервов, чем любая красивая анимация.\u003Cbr>\u003Cbr>Готовый Zoom или встраиваемый SDK были бы быстрее на старте. Но тогда вход принадлежал бы чужому продукту: его экраны, его аккаунты, его лимиты. Вокруг mediasoup все собирается под школу — дороже в начале, зато кнопка ведет туда, куда нужно уроку, а не туда, куда разрешил вендор.\u003Cbr>\u003Cbr>Проект шел своим чередом, пока в сообществе нам не попалось \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fmediasoup.discourse.group\u002Ft\u002Fpornhub-uses-mediasoup\u002F685?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=pornhub-edtech\">обсуждение\u003C\u002Fa> той же технологии в Pornhub. Мы сверили название. Потом, вероятно, на всякий случай посмотрели историю браузера. Совпадение было слишком хорошим, чтобы оставить его шуткой для рабочего чата.\u003C\u002Fp>\u003Ch2>И тут все стало неприлично логично\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"03-two-viewers-red-v4.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F03_two_viewers_red_v4_01489fca35.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_03_two_viewers_red_v4_01489fca35.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_03_two_viewers_red_v4_01489fca35.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_03_two_viewers_red_v4_01489fca35.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_03_two_viewers_red_v4_01489fca35.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Представим двух людей перед экраном. Один купил курс и пришел на занятие. Второй тоже оплатил доступ, просто сертификат в конце ему не нужен. Оба нажали кнопку и ждут, что сейчас все начнется. Спокойно отнестись к заставке «Подключаемся…» они готовы примерно одинаково.\u003Cbr>\u003Cbr>У сервисов 18+ цена паузы видна сразу. В справке Chaturbate \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fsupport.chaturbate.com\u002Fhc\u002Fen-us\u002Farticles\u002F360048401752-Show-Types?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=pornhub-edtech\">описаны\u003C\u002Fa> приватные шоу с поминутной оплатой и закрытые эфиры по билетам. Человек оплатил доступ и хочет перейти к трансляции. Спиннер загрузки в планы на вечер явно не входил. Лишний шаг или зависший экран легко превращают покупателя в бывшего посетителя.\u003Cbr>\u003Cbr>Масштаб добавляет нервозности. По данным годового \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.pornhub.com\u002Finsights\u002F2019-year-in-review?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=pornhub-edtech\">отчета\u003C\u002Fa> Pornhub, в 2019 году сайт получил более 42 млрд посещений — в среднем 115 млн в день. При таком трафике даже небольшой процент закрытых из-за задержки вкладок означает миллионы потерянных просмотров. Там плохо запустившееся видео замечает финансовый отчет.\u003Cbr>\u003Cbr>В EdTech последствия приходят в другой упаковке: сорванный урок, обращение в поддержку, раздраженный преподаватель и родитель, который уже набирает сообщение капслоком. Деньги могут потеряться позже, вместе с доверием и продлением курса. Тормозит экран, а неловко всей школе.\u003Cbr>\u003Cbr>Так шутка из рабочего чата превратилась в полезный референс: там путь до видео проверяют люди с очень коротким терпением. Экран завис — никто не пишет эссе «как улучшить сервис». Щелк, и вкладка стала историей.\u003C\u002Fp>\u003Ch2>Так мы стали подсматривать шире\u003C\u002Fh2>\u003Cfigure class=\"image\">\u003Cimg alt=\"04-reference-desk-red-v2.png\" src=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002F04_reference_desk_red_v2_fa1deddf5c.png\" srcset=\"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_04_reference_desk_red_v2_fa1deddf5c.png 245w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_04_reference_desk_red_v2_fa1deddf5c.png 500w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_04_reference_desk_red_v2_fa1deddf5c.png 750w, https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_04_reference_desk_red_v2_fa1deddf5c.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C\u002Ffigure>\u003Cp>Рабочий стол с референсами обычно выглядит предсказуемо. Онлайн-школы открывают другие онлайн-школы, банки изучают банки, доставки сравнивают, у кого симпатичнее едет курьер по карте. Так удобно проверять отраслевой минимум. На десятом похожем продукте кажется, что весь интернет собрал один дизайнер.\u003Cbr>\u003Cbr>Теперь первым делом мы записываем действие человека. Ему нужно быстро попасть в оплаченный эфир? Смотрим, кто теряет деньги при каждой секунде задержки. Нужно перебрать много вариантов? Идем туда, где этот выбор уже сократили до движения пальцем. Нужно возвращать аудиторию каждый день? Открываем игры — там за ежедневную привычку бьются давно и с огоньком.\u003C\u002Fp>\u003Ch2>Как Tinder помог искать работу\u003C\u002Fh2>\u003Cp>В 2014 году сервис Jobr \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Ftechcrunch.com\u002F2014\u002F05\u002F05\u002Fjobr\u002F?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=pornhub-edtech\">взял\u003C\u002Fa> у Tinder карточки и свайпы. Соискатель видел вакансию, требования и подходящие навыки. Свайп вправо означал интерес, влево — пропуск. Рекрутеры тем же движением разбирали карточки кандидатов. HR наконец получил интерфейс, в котором фраза «мы вам перезвоним» помещалась в один жест.\u003Cbr>\u003Cbr>Собеседование оставалось впереди. Свайп ускорял первый отсев и доводил стороны до взаимного интереса без длинной прогулки по анкетам. Дейтинг и рекрутинг начинались с одной ситуации: вариантов много, времени мало, описание «люблю путешествовать» помогает далеко не всегда.\u003Cbr>\u003Cbr>У нас этот сюжет повторился в миниатюре: когда ученик выбирает время урока в расписании, вариантов тоже может быть много, а решение должно занимать секунды. Экран выбора мы проверяли тем же вопросом, что и Jobr: можно ли решить одним движением.\u003C\u002Fp>\u003Ch2>Зачем Duolingo понадобилась сова с характером\u003C\u002Fh2>\u003Cp>Duolingo решал другую задачу: человек позанимался сегодня — как уговорить его вернуться завтра? Ответ пришел из игр. Очки, лиги и счетчик дней превратили большую цель «выучить язык» в короткий повод зайти сегодня. Занятие закончилось, цифра выросла, сова пока не смотрит с осуждением.\u003Cbr>\u003Cbr>В одном эксперименте компания \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fblog.duolingo.com\u002Fimproving-the-streak\u002F?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=pornhub-edtech\">упростила\u003C\u002Fa> продолжение серии: для нее стало достаточно одного урока вместо большого дневного плана. Компания сообщила о росте удержания на 14-й день на 3,3% и ежедневной аудитории на 1%. Серия работает просто: чем дольше она тянется, тем обиднее потерять ее из-за одного вечера на диване.\u003Cbr>\u003Cbr>У школы задача возвращения звучит иначе, но живет там же. Курс состоит из десятков эфиров, и ученик должен доходить до занятия снова и снова. Поэтому путь до урока мы делали одинаково коротким каждый раз: привычка держится на том, что завтра зайти так же легко, как вчера.\u003Cbr>\u003Cbr>Получился странный набор вкладок: Jobr забрал у дейтинга быстрый выбор, Duolingo поддержал привычку игровым прогрессом, Pornhub напомнил о цене паузы перед оплаченным видео. Зато правило сложилось простое: знакомое действие стоит искать в отрасли, где его уже довели до рефлекса.\u003C\u002Fp>\u003Ch2>Возвращаемся на онлайн-урок\u003C\u002Fh2>\u003Cp>В образовательной платформе мы связали видеосвязь с расписанием, ролями и доступом к оплаченному курсу. Ученик входит в занятие из личного кабинета, после сбоя подключается снова, а позже видит запись. Администратор не создает отдельные комнаты и не раздает ссылки. У поддержки становится меньше поводов расследовать загадочное «у меня ничего не работает».\u003Cbr>\u003Cbr>В этом проекте мы собрали онлайн-урок в один маршрут: вход, доступ, переносы, повторное подключение и запись. Референсы из других рынков стали для него краш-тестом, и у каждого мы взяли свое. У сервисов 18+ — цену первой секунды: между кликом и видео не должно быть промежуточных экранов. У дейтинга — скорость выбора: решение на экране расписания занимает одно движение, без анкеты на полстраницы. У игр — правило повторного входа: завтра должно быть так же легко, как вчера.\u003Cbr>\u003Cbr>Внутри школы это стало заметно по поддержке: она перестала вручную выдавать ссылки, а одинаковых сообщений «меня не пускает» стало меньше. Человек уже нажал кнопку. Дальше он либо попадает куда нужно, либо начинает ждать, искать ссылку и писать кому-то в чат. Мы строили первый вариант.\u003Cbr>\u003Cbr>Если важный сценарий рассыпался между ссылками, чатами и отдельными сервисами, \u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fqtim.pro\u002Fcontacts?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=pornhub-edtech\">расскажите\u003C\u002Fa> о задаче команде Qtim. Разберем путь пользователя и соберем его в единую цепочку. Желательно до того, как аудитория проведет свою аналитику кнопкой «Закрыть вкладку».\u003C\u002Fp>",[924,925],{"id":10,"documentId":19,"title":20,"slug":21,"order":22,"createdAt":23,"updatedAt":23,"publishedAt":24,"locale":16},{"id":926,"documentId":927,"title":928,"slug":929,"order":22,"createdAt":930,"updatedAt":930,"publishedAt":931,"locale":16},27,"x6rulaa9s3473663k7mutmd7","EdTech ","ed-tech","2026-07-30T14:30:19.041Z","2026-07-30T14:30:19.062Z",[],{"createdAt":202,"id":196,"documentId":197,"title":198,"date":199,"description":9,"order":200,"slug":201,"showOnMainPage":12,"updatedAt":203,"publishedAt":204,"locale":16,"cover":934,"content":968,"media_event":9,"media_areas":972,"seo":9,"localizations":975},{"id":935,"documentId":936,"name":937,"alternativeText":9,"caption":9,"width":835,"height":836,"formats":938,"hash":963,"ext":839,"mime":842,"size":964,"url":965,"previewUrl":9,"provider":872,"provider_metadata":9,"createdAt":966,"updatedAt":966,"publishedAt":967},734,"n9sbgz75x8lwc3ejiqvrfy7j","Изображение Codex 14 сент. 2026 г., 02_15_57.png",{"large":939,"small":945,"medium":951,"thumbnail":957},{"ext":839,"url":940,"hash":941,"mime":842,"name":942,"path":9,"size":943,"width":845,"height":846,"sizeInBytes":944},"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","large_Изображение Codex 14 сент. 2026 г., 02_15_57.png",538.5,538496,{"ext":839,"url":946,"hash":947,"mime":842,"name":948,"path":9,"size":949,"width":22,"height":853,"sizeInBytes":950},"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,157583,{"ext":839,"url":952,"hash":953,"mime":842,"name":954,"path":9,"size":955,"width":860,"height":22,"sizeInBytes":956},"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,325804,{"ext":839,"url":958,"hash":959,"mime":842,"name":960,"path":9,"size":961,"width":867,"height":104,"sizeInBytes":962},"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,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","2026-09-13T23:17:06.834Z","2026-09-13T23:17:06.835Z",[969],{"__component":880,"id":970,"text":971},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>",[973,974],{"id":10,"documentId":19,"title":20,"slug":21,"order":22,"createdAt":23,"updatedAt":23,"publishedAt":24,"locale":16},{"id":816,"documentId":817,"title":818,"slug":819,"order":22,"createdAt":820,"updatedAt":820,"publishedAt":821,"locale":16},[],{"createdAt":211,"id":206,"documentId":207,"title":208,"date":209,"description":9,"order":22,"slug":210,"showOnMainPage":12,"updatedAt":212,"publishedAt":213,"locale":16,"cover":977,"content":1010,"media_event":9,"media_areas":1013,"seo":9,"localizations":1022},{"id":978,"documentId":979,"name":834,"alternativeText":9,"caption":9,"width":835,"height":980,"formats":981,"hash":1005,"ext":839,"mime":842,"size":1006,"url":1007,"previewUrl":9,"provider":872,"provider_metadata":9,"createdAt":1008,"updatedAt":1008,"publishedAt":1009},885,"vopuusgi8dnl5bozwjnst17c",1080,{"large":982,"small":988,"medium":993,"thumbnail":998},{"ext":839,"url":983,"hash":984,"mime":842,"name":843,"path":9,"size":985,"width":845,"height":986,"sizeInBytes":987},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Flarge_01_cover_9feb9f9e40.png","large_01_cover_9feb9f9e40",878.11,563,878112,{"ext":839,"url":989,"hash":990,"mime":842,"name":851,"path":9,"size":991,"width":22,"height":478,"sizeInBytes":992},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fsmall_01_cover_9feb9f9e40.png","small_01_cover_9feb9f9e40",240.1,240095,{"ext":839,"url":994,"hash":995,"mime":842,"name":858,"path":9,"size":996,"width":860,"height":261,"sizeInBytes":997},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fmedium_01_cover_9feb9f9e40.png","medium_01_cover_9feb9f9e40",513.09,513091,{"ext":839,"url":999,"hash":1000,"mime":842,"name":865,"path":9,"size":1001,"width":1002,"height":1003,"sizeInBytes":1004},"https:\u002F\u002Fstrapi.qtim.pro\u002Fuploads\u002Fthumbnail_01_cover_9feb9f9e40.png","thumbnail_01_cover_9feb9f9e40",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",[1011],{"__component":880,"id":617,"text":1012},"\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>",[1014,1015],{"id":10,"documentId":19,"title":20,"slug":21,"order":22,"createdAt":23,"updatedAt":23,"publishedAt":24,"locale":16},{"id":1016,"documentId":1017,"title":1018,"slug":1019,"order":22,"createdAt":1020,"updatedAt":1020,"publishedAt":1021,"locale":16},29,"yuxcudh09wo6lky0b7ikokmb","Управление проектами","upravlenie-proektami","2026-07-30T14:30:32.907Z","2026-07-30T14:30:32.928Z",[]]