[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"global":3,"services:en":200,"technology-names:en":248,"project:pomosch:en":295},{"id":4,"documentId":5,"siteName":6,"siteUrl":7,"createdAt":8,"updatedAt":9,"publishedAt":10,"locale":11,"logo":12,"ogImage":26,"nav":71,"headerCta":94,"contact":99,"footer":114,"organization":133,"brief":147},13,"pdvc9bpy99219el368k0axyu","Spot","https:\u002F\u002Fwespot.ru","2026-10-27T11:56:47.515Z","2026-10-28T10:15:09.281Z","2026-10-28T10:15:09.386Z","en",{"id":13,"documentId":14,"name":15,"alternativeText":6,"caption":16,"focalPoint":16,"width":17,"height":18,"formats":16,"hash":19,"ext":20,"mime":21,"size":22,"url":23,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":25,"updatedAt":25,"publishedAt":25},74,"tampnmiu5mwua40w53mjugw8","logo-spot.svg",null,116,34,"logo_spot_53ec7bfdce",".svg","image\u002Fsvg+xml",8.28,"\u002Fuploads\u002Flogo_spot_53ec7bfdce.svg","local","2026-10-26T22:32:01.303Z",{"id":27,"documentId":28,"name":29,"alternativeText":6,"caption":16,"focalPoint":16,"width":30,"height":31,"formats":32,"hash":67,"ext":34,"mime":37,"size":68,"url":69,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":70,"updatedAt":70,"publishedAt":70},77,"g7keq692g2z8vgqzkv8bzt0r","spot.jpg",1200,630,{"large":33,"small":43,"medium":51,"thumbnail":59},{"ext":34,"url":35,"hash":36,"mime":37,"name":38,"path":16,"size":39,"width":40,"height":41,"sizeInBytes":42},".jpg","\u002Fuploads\u002Flarge_spot_e52160dbaa.jpg","large_spot_e52160dbaa","image\u002Fjpeg","large_spot.jpg",26.66,1000,525,26659,{"ext":34,"url":44,"hash":45,"mime":37,"name":46,"path":16,"size":47,"width":48,"height":49,"sizeInBytes":50},"\u002Fuploads\u002Fsmall_spot_e52160dbaa.jpg","small_spot_e52160dbaa","small_spot.jpg",10.21,500,263,10208,{"ext":34,"url":52,"hash":53,"mime":37,"name":54,"path":16,"size":55,"width":56,"height":57,"sizeInBytes":58},"\u002Fuploads\u002Fmedium_spot_e52160dbaa.jpg","medium_spot_e52160dbaa","medium_spot.jpg",17.69,750,394,17692,{"ext":34,"url":60,"hash":61,"mime":37,"name":62,"path":16,"size":63,"width":64,"height":65,"sizeInBytes":66},"\u002Fuploads\u002Fthumbnail_spot_e52160dbaa.jpg","thumbnail_spot_e52160dbaa","thumbnail_spot.jpg",3.81,245,129,3808,"spot_e52160dbaa",33.67,"\u002Fuploads\u002Fspot_e52160dbaa.jpg","2026-10-26T22:32:01.363Z",[72,78,82,86,90],{"id":73,"label":74,"href":75,"kind":76,"strong":77,"external":77},443,"Services","\u002Fservices","text",false,{"id":79,"label":80,"href":81,"kind":76,"strong":77,"external":77},444,"Projects","\u002Fcases",{"id":83,"label":84,"href":85,"kind":76,"strong":77,"external":77},445,"Expertise","\u002F#expertise",{"id":87,"label":88,"href":89,"kind":76,"strong":77,"external":77},446,"How we work","\u002F#how",{"id":91,"label":92,"href":93,"kind":76,"strong":77,"external":77},447,"Contacts","#contact",{"id":95,"label":96,"href":97,"kind":98,"strong":77,"external":77},448,"Discuss a project","#brief","btn-a",{"id":4,"heading":100,"text":101,"cta":102,"links":104},"Let's discuss your project","We reply the same day. The first step is a 30-minute call or a brief in Telegram.",{"id":103,"label":96,"href":97,"kind":98,"strong":77,"external":77},449,[105,109],{"id":106,"label":107,"href":108,"kind":76,"strong":77,"external":77},450,"push@wespot.ru","mailto:push@wespot.ru",{"id":110,"label":111,"href":112,"kind":76,"strong":77,"external":113},451,"@khudyakv","https:\u002F\u002Ft.me\u002Fkhudyakv",true,{"id":4,"legal":115,"links":116},"© 2022–2026 Spot",[117,121,125,129],{"id":118,"label":119,"href":120,"kind":76,"strong":77,"external":77},452,"Privacy policy","\u002Fprivacy",{"id":122,"label":123,"href":124,"kind":76,"strong":77,"external":77},453,"Terms of use","\u002Fterms",{"id":126,"label":127,"href":128,"kind":76,"strong":113,"external":113},454,"Habr","https:\u002F\u002Fhabr.com\u002Fru\u002Fusers\u002Fkhudyakv\u002Farticles\u002F",{"id":130,"label":131,"href":132,"kind":76,"strong":113,"external":113},455,"Telegram","https:\u002F\u002Ft.me\u002Ffrontend_lite",{"id":134,"name":6,"alternateNames":135,"legalName":16,"inn":16,"email":107,"phone":16,"telegram":112,"country":136,"description":137,"sameAs":138},16,"Wespot, Спот","RU","We build the online touchpoints between a business and its customers, partners and employees: customer accounts and stores, dealer and partner portals, CRM and internal systems for teams.",[139,141,144],{"id":140,"label":131,"href":112,"kind":76,"strong":77,"external":113},456,{"id":142,"label":143,"href":132,"kind":76,"strong":77,"external":113},457,"Read on Telegram",{"id":145,"label":146,"href":128,"kind":76,"strong":77,"external":113},458,"Articles on Habr",{"id":4,"label":96,"title":148,"submit":149,"successText":150,"errorText":151,"people":152,"fields":175,"consent":196},"Fill in a brief \u003Cspan style=\"color: #6B6B72\">about your task\u003C\u002Fspan>","Send the brief","Thank you! We have your brief and will get back to you as soon as we can.","The brief could not be sent. Write to us at push@wespot.ru or on Telegram @khudyakv.",[153],{"id":154,"name":155,"role":156,"photo":157},17,"Vladislav Khudyakov","Founder",{"id":158,"documentId":159,"name":160,"alternativeText":161,"caption":16,"focalPoint":16,"width":162,"height":162,"formats":163,"hash":171,"ext":34,"mime":37,"size":172,"url":173,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":174,"updatedAt":174,"publishedAt":174},76,"fbfagczmqep6lcsch1v3c81f","vladislav-khudyakov.jpg","Владислав Худяков",160,{"thumbnail":164},{"ext":34,"url":165,"hash":166,"mime":37,"name":167,"path":16,"size":168,"width":169,"height":169,"sizeInBytes":170},"\u002Fuploads\u002Fthumbnail_vladislav_khudyakov_0a1f3babcf.jpg","thumbnail_vladislav_khudyakov_0a1f3babcf","thumbnail_vladislav-khudyakov.jpg",5.61,156,5606,"vladislav_khudyakov_0a1f3babcf",5.82,"\u002Fuploads\u002Fvladislav_khudyakov_0a1f3babcf.jpg","2026-10-26T22:32:01.379Z",[176,183,189],{"id":177,"label":178,"name":179,"tag":180,"type":76,"placeholder":181,"autocomplete":179,"rows":182,"required":113},37,"Name*","name","input","How should we address you?",0,{"id":184,"label":185,"name":186,"tag":180,"type":76,"placeholder":187,"autocomplete":188,"rows":182,"required":113},38,"How can we reach you*","contact","Messenger, phone, email","off",{"id":190,"label":191,"name":192,"tag":193,"type":76,"placeholder":194,"autocomplete":188,"rows":195,"required":77},39,"About the task","task","textarea","What needs to be done, the timeline, any constraints",4,{"id":4,"before":197,"link":198,"href":120,"after":199},"I agree to the processing of my personal data. See the ","privacy policy",".",[201,209,217,225,233,240],{"id":202,"documentId":203,"title":204,"slug":205,"num":206,"text":207,"isLinked":77,"order":182,"ctaLabel":208},86,"xom9f9b8uov8k5jzse6cawd0","Customer accounts and portals","lk","01","Accounts for customers, partners and employees: orders, payments, requests, history and access roles.","Discuss the task",{"id":158,"documentId":210,"title":211,"slug":212,"num":213,"text":214,"isLinked":77,"order":215,"ctaLabel":216},"tumsah9k2m6m0sewkabpw61e","Corporate systems","corporate","02","CRM, ERP and internal systems. Customers, finances, requests and access in one place.",1,"Discuss a system",{"id":218,"documentId":219,"title":220,"slug":221,"num":222,"text":223,"isLinked":77,"order":224,"ctaLabel":208},81,"zunn9dms6ad8texoqw6y3tdr","Mini Apps and web services","mini-apps","03","Mini Apps, chatbots and web services that automate individual business processes.",2,{"id":226,"documentId":227,"title":228,"slug":229,"num":230,"text":231,"isLinked":77,"order":232,"ctaLabel":208},69,"jhuw9zs2spni1yu9a682x04h","Special projects and complex interfaces","special","04","Web games, configurators and calculators. Built for Alfa-Bank, Raiffeisen Life and SPLAT.",3,{"id":234,"documentId":235,"title":236,"slug":237,"num":238,"text":239,"isLinked":77,"order":195,"ctaLabel":208},66,"ckrj708ld8bs46wv7klunsjo","Service integrations","integrations","05","Data exchange with 1C, CRM, YooKassa, Stripe, delivery services and SMS gateways.",{"id":241,"documentId":242,"title":243,"slug":244,"num":245,"text":246,"isLinked":77,"order":247,"ctaLabel":208},70,"yuha2yu8lv44n7tn7bacrsgk","Support and scaling","support","06","We join existing products and work with someone else's code. We optimise performance and move legacy to a new stack.",5,[249,253,257,261,264,268,272,276,280,284,288,291],{"id":250,"documentId":251,"name":252},435,"p8vqp4j7u4d5hczr7szvpixb","Vue",{"id":254,"documentId":255,"name":256},376,"cz2o7v44o0aco9e5ug991orw","React",{"id":258,"documentId":259,"name":260},487,"xlc3e2f0g2e8d21dtz56fhqq","Nuxt",{"id":130,"documentId":262,"name":263},"tn8tizd5lz1g7lobpen0g8jp","Next.js",{"id":265,"documentId":266,"name":267},403,"j4b9wdar97fh6a7n4np1ol1b","TypeScript",{"id":269,"documentId":270,"name":271},495,"y119214qgyryif676kl65vzm","Vite",{"id":273,"documentId":274,"name":275},383,"h32yowozezgx7shnoavwhdhr","Sass",{"id":277,"documentId":278,"name":279},423,"nptn5i4h1260f2i8vsf05xm8","Pinia",{"id":281,"documentId":282,"name":283},380,"deb59z0fojzpks7jg8zqhy9x","GSAP",{"id":285,"documentId":286,"name":287},399,"ipa2daxz0h944wz1bpkhaphz","Canvas",{"id":110,"documentId":289,"name":290},"rzotygp0g2fxn3ynxnucq3jp","Anime.js",{"id":292,"documentId":293,"name":294},387,"hd8evrxia67rvyuvmv0tij7o","Figma",{"id":296,"documentId":297,"title":298,"slug":299,"order":4,"lede":300,"desc":301,"collab":77,"clientName":302,"kind":303,"stack":304,"site":305,"noSiteText":306,"task":307,"result":308,"createdAt":309,"updatedAt":310,"publishedAt":311,"locale":11,"tags":312,"partner":16,"formats":321,"points":334,"slides":347,"cover":421,"coverSettings":464,"categories":467,"services":1400,"client":1401,"taskList":1460,"done":1461,"gallery":1466,"testimonial":16,"nextProject":1474,"seo":1823},132,"q8b2x39iz873d4gfyspfzudm","Website for the “Pomosch” charity foundation with an admin panel","pomosch","A reactive Nuxt 3 website for the foundation: the team edits the content, the staff and the expense reports themselves.","A charity foundation website with full content editing and expense reports.","Pomosch Foundation","Foundation website with an admin panel","Nuxt 3, TypeScript, Strapi, PostgreSQL, Docker","https:\u002F\u002Fpomosch.app\u002F","","\u003Cp>Build a reactive foundation website with full content editing: staff cards, publication of expense reports, integration of the layout with a CMS.\u003C\u002Fp>","The foundation got a website where the team updates the content, adds staff and publishes expense reports without developers, and the metrics show how visitors behave.","2026-10-29T00:37:57.100Z","2026-10-29T01:26:07.919Z","2026-10-29T01:26:07.960Z",[313,315,318],{"id":314,"label":302},1057,{"id":316,"label":317},1058,"Non-profit",{"id":319,"label":320},1059,"Nuxt 3",[322,325,328,331],{"id":323,"label":324},1060,"Commercial development",{"id":326,"label":327},1061,"Foundation website",{"id":329,"label":330},1062,"Admin panel",{"id":332,"label":333},1063,"QA",[335,338,341,344],{"id":336,"text":337},1012,"Editing of all content",{"id":339,"text":340},1013,"Staff section",{"id":342,"text":343},1014,"Expense reports",{"id":345,"text":346},1015,"Visitor analytics",[348,387],{"id":241,"documentId":349,"name":350,"alternativeText":351,"caption":16,"focalPoint":16,"width":352,"height":353,"formats":354,"hash":383,"ext":34,"mime":37,"size":384,"url":385,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":386,"updatedAt":386,"publishedAt":386},"jhy96gl7qtobbxuwjj3gtps3","pomosch-admin.jpg","Сайт благотворительного фонда «Помощь» с админ-панелью",1453,1235,{"large":355,"small":362,"medium":369,"thumbnail":376},{"ext":34,"url":356,"hash":357,"mime":37,"name":358,"path":16,"size":359,"width":40,"height":360,"sizeInBytes":361},"\u002Fuploads\u002Flarge_pomosch_admin_98f52b4c01.jpg","large_pomosch_admin_98f52b4c01","large_pomosch-admin.jpg",176.07,850,176072,{"ext":34,"url":363,"hash":364,"mime":37,"name":365,"path":16,"size":366,"width":48,"height":367,"sizeInBytes":368},"\u002Fuploads\u002Fsmall_pomosch_admin_98f52b4c01.jpg","small_pomosch_admin_98f52b4c01","small_pomosch-admin.jpg",61.09,425,61086,{"ext":34,"url":370,"hash":371,"mime":37,"name":372,"path":16,"size":373,"width":56,"height":374,"sizeInBytes":375},"\u002Fuploads\u002Fmedium_pomosch_admin_98f52b4c01.jpg","medium_pomosch_admin_98f52b4c01","medium_pomosch-admin.jpg",114.37,637,114365,{"ext":34,"url":377,"hash":378,"mime":37,"name":379,"path":16,"size":380,"width":381,"height":169,"sizeInBytes":382},"\u002Fuploads\u002Fthumbnail_pomosch_admin_98f52b4c01.jpg","thumbnail_pomosch_admin_98f52b4c01","thumbnail_pomosch-admin.jpg",9.88,184,9884,"pomosch_admin_98f52b4c01",305.63,"\u002Fuploads\u002Fpomosch_admin_98f52b4c01.jpg","2026-10-29T00:37:56.973Z",{"id":226,"documentId":388,"name":389,"alternativeText":351,"caption":16,"focalPoint":16,"width":390,"height":391,"formats":392,"hash":417,"ext":34,"mime":37,"size":418,"url":419,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":420,"updatedAt":420,"publishedAt":420},"u2qycwh22ayww0wfbtk4yy5z","pomosch-site.jpg",1456,1237,{"large":393,"small":399,"medium":405,"thumbnail":411},{"ext":34,"url":394,"hash":395,"mime":37,"name":396,"path":16,"size":397,"width":40,"height":360,"sizeInBytes":398},"\u002Fuploads\u002Flarge_pomosch_site_0570d82439.jpg","large_pomosch_site_0570d82439","large_pomosch-site.jpg",106.48,106476,{"ext":34,"url":400,"hash":401,"mime":37,"name":402,"path":16,"size":403,"width":48,"height":367,"sizeInBytes":404},"\u002Fuploads\u002Fsmall_pomosch_site_0570d82439.jpg","small_pomosch_site_0570d82439","small_pomosch-site.jpg",37.62,37615,{"ext":34,"url":406,"hash":407,"mime":37,"name":408,"path":16,"size":409,"width":56,"height":374,"sizeInBytes":410},"\u002Fuploads\u002Fmedium_pomosch_site_0570d82439.jpg","medium_pomosch_site_0570d82439","medium_pomosch-site.jpg",70.69,70694,{"ext":34,"url":412,"hash":413,"mime":37,"name":414,"path":16,"size":415,"width":381,"height":169,"sizeInBytes":416},"\u002Fuploads\u002Fthumbnail_pomosch_site_0570d82439.jpg","thumbnail_pomosch_site_0570d82439","thumbnail_pomosch-site.jpg",8.35,8346,"pomosch_site_0570d82439",185.22,"\u002Fuploads\u002Fpomosch_site_0570d82439.jpg","2026-10-29T00:37:56.772Z",{"id":422,"documentId":423,"name":424,"alternativeText":425,"caption":16,"focalPoint":16,"width":426,"height":427,"formats":428,"hash":459,"ext":430,"mime":433,"size":460,"url":461,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":462,"updatedAt":462,"publishedAt":463},72,"qoi4b9y7rubzc82ol2mck1mn","pomosch-cover.webp","Сайт благотворительного фонда «Помощь»",1536,864,{"large":429,"small":438,"medium":445,"thumbnail":452},{"ext":430,"url":431,"hash":432,"mime":433,"name":434,"path":16,"size":435,"width":40,"height":436,"sizeInBytes":437},".webp","\u002Fuploads\u002Flarge_pomosch_cover_950365e7f3.webp","large_pomosch_cover_950365e7f3","image\u002Fwebp","large_pomosch-cover.webp",27.62,562,27618,{"ext":430,"url":439,"hash":440,"mime":433,"name":441,"path":16,"size":442,"width":48,"height":443,"sizeInBytes":444},"\u002Fuploads\u002Fsmall_pomosch_cover_950365e7f3.webp","small_pomosch_cover_950365e7f3","small_pomosch-cover.webp",11.61,281,11606,{"ext":430,"url":446,"hash":447,"mime":433,"name":448,"path":16,"size":449,"width":56,"height":450,"sizeInBytes":451},"\u002Fuploads\u002Fmedium_pomosch_cover_950365e7f3.webp","medium_pomosch_cover_950365e7f3","medium_pomosch-cover.webp",18.97,422,18966,{"ext":430,"url":453,"hash":454,"mime":433,"name":455,"path":16,"size":456,"width":64,"height":457,"sizeInBytes":458},"\u002Fuploads\u002Fthumbnail_pomosch_cover_950365e7f3.webp","thumbnail_pomosch_cover_950365e7f3","thumbnail_pomosch-cover.webp",4.52,138,4520,"pomosch_cover_950365e7f3",52.07,"\u002Fuploads\u002Fpomosch_cover_950365e7f3.webp","2026-10-29T01:26:07.753Z","2026-10-29T01:26:07.754Z",{"id":296,"ratio":465,"position":466,"scale":215},"1536 \u002F 864","50% 50%",[468],{"id":469,"documentId":470,"label":471,"slug":472,"order":215,"createdAt":473,"updatedAt":474,"publishedAt":475,"locale":11,"projects":476},30,"lko2vn42mhotyi1l1swd5gxi","Websites and stores","sites","2026-10-27T11:54:45.708Z","2026-10-27T12:06:29.158Z","2026-10-27T12:06:29.160Z",[477,572,684,793,885,962,1151,1211],{"id":478,"documentId":479,"title":480,"slug":481,"order":224,"lede":482,"desc":482,"collab":77,"clientName":483,"kind":484,"stack":485,"site":486,"noSiteText":306,"task":487,"result":488,"createdAt":489,"updatedAt":490,"publishedAt":491,"locale":11,"tags":492,"formats":500,"points":501,"slides":508,"cover":543,"coverSettings":549,"taskList":550,"done":551,"gallery":567,"seo":568},147,"jf35hvefa8t9rhg8jii1vxs3","Extended the online store of sports brand Vetersport","vetersport","Added bundles and discounts and sped up the site before Black Friday.","Vetersport","Online store","Redis, Nginx, 1C, S3 + CDN, Prometheus","https:\u002F\u002Fveter.cc\u002F","\u003Cp>Improve the online store of a sports equipment brand and prepare the server for sales-season load.\u003C\u002Fp>\n\u003Cp>Launch product bundles with a set discount and simplify checkout with form suggestions. Take load off the server: move files to cloud storage, set up caching and monitoring so the store runs without failures on Black Friday.\u003C\u002Fp>","The site configuration was updated for higher throughput; the store got bundles and monitoring to track problems on Black Friday.","2026-10-27T11:56:46.044Z","2026-10-28T01:53:59.108Z","2026-10-28T01:53:59.190Z",[493,495,497],{"id":494,"label":483},1130,{"id":496,"label":484},1131,{"id":498,"label":499},1132,"Retail",[],[502,505],{"id":503,"text":504},1144,"Connected an address and data suggestion service for forms",{"id":506,"text":507},1145,"Moved file uploads to S3 cloud storage",[509],{"id":510,"documentId":511,"name":512,"alternativeText":513,"caption":16,"focalPoint":16,"width":426,"height":427,"formats":514,"hash":539,"ext":430,"mime":433,"size":540,"url":541,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":542,"updatedAt":542,"publishedAt":542},87,"fgctemnasxypnn1xc1g8hxy8","vetersport-laptop.webp","Расширили функционал интернет-магазина производителя Ветерспорт",{"large":515,"small":521,"medium":527,"thumbnail":533},{"ext":430,"url":516,"hash":517,"mime":433,"name":518,"path":16,"size":519,"width":40,"height":436,"sizeInBytes":520},"\u002Fuploads\u002Flarge_vetersport_laptop_0a3b6dc2cd.webp","large_vetersport_laptop_0a3b6dc2cd","large_vetersport-laptop.webp",27.51,27514,{"ext":430,"url":522,"hash":523,"mime":433,"name":524,"path":16,"size":525,"width":48,"height":443,"sizeInBytes":526},"\u002Fuploads\u002Fsmall_vetersport_laptop_0a3b6dc2cd.webp","small_vetersport_laptop_0a3b6dc2cd","small_vetersport-laptop.webp",12.07,12072,{"ext":430,"url":528,"hash":529,"mime":433,"name":530,"path":16,"size":531,"width":56,"height":450,"sizeInBytes":532},"\u002Fuploads\u002Fmedium_vetersport_laptop_0a3b6dc2cd.webp","medium_vetersport_laptop_0a3b6dc2cd","medium_vetersport-laptop.webp",19.85,19848,{"ext":430,"url":534,"hash":535,"mime":433,"name":536,"path":16,"size":537,"width":64,"height":457,"sizeInBytes":538},"\u002Fuploads\u002Fthumbnail_vetersport_laptop_0a3b6dc2cd.webp","thumbnail_vetersport_laptop_0a3b6dc2cd","thumbnail_vetersport-laptop.webp",5.21,5210,"vetersport_laptop_0a3b6dc2cd",51.76,"\u002Fuploads\u002Fvetersport_laptop_0a3b6dc2cd.webp","2026-10-26T22:31:58.988Z",{"id":510,"documentId":511,"name":512,"alternativeText":513,"caption":16,"focalPoint":16,"width":426,"height":427,"formats":544,"hash":539,"ext":430,"mime":433,"size":540,"url":541,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":542,"updatedAt":542,"publishedAt":542},{"large":545,"small":546,"medium":547,"thumbnail":548},{"ext":430,"url":516,"hash":517,"mime":433,"name":518,"path":16,"size":519,"width":40,"height":436,"sizeInBytes":520},{"ext":430,"url":522,"hash":523,"mime":433,"name":524,"path":16,"size":525,"width":48,"height":443,"sizeInBytes":526},{"ext":430,"url":528,"hash":529,"mime":433,"name":530,"path":16,"size":531,"width":56,"height":450,"sizeInBytes":532},{"ext":430,"url":534,"hash":535,"mime":433,"name":536,"path":16,"size":537,"width":64,"height":457,"sizeInBytes":538},{"id":478,"ratio":306,"position":466,"scale":215},[],[552,555,558,561,564],{"id":553,"text":554},1146,"Product bundles with a set discount",{"id":556,"text":557},1147,"Address and data suggestions in forms",{"id":559,"text":560},1148,"File uploads moved to S3 with CDN delivery",{"id":562,"text":563},1149,"Server optimisation and caching",{"id":565,"text":566},1150,"Monitoring and failure alerts",[],{"id":569,"metaTitle":570,"metaDescription":571,"canonical":16,"noIndex":77,"ogImage":16},268,"Preparing a sports equipment online store for Black Friday","Discounted bundles, S3 and CDN, caching and monitoring for the Vetersport store. The site held the sales-day load.",{"id":573,"documentId":574,"title":575,"slug":576,"order":577,"lede":578,"desc":578,"collab":113,"clientName":579,"kind":580,"stack":581,"site":582,"noSiteText":306,"task":583,"result":584,"createdAt":585,"updatedAt":586,"publishedAt":587,"locale":11,"tags":588,"formats":597,"points":607,"slides":614,"cover":652,"coverSettings":658,"taskList":659,"done":660,"gallery":679,"seo":680},164,"tq1mf6bpc2x9nk1gfgzkdzh6","Creative frontend for the Heritage art gallery","heritage",6,"The site presents exhibitions, a catalogue of pieces and online purchase through a cart.","Heritage","Showcase website and store","Nunjucks, SCSS, GreenSock Animation, Gulp, Webpack","https:\u002F\u002Fheritage-gallery.ru\u002F","\u003Cp>Develop an animated frontend for an art gallery website from the designs of 22 functional pages.\u003C\u002Fp>\n\u003Cp>The pages should let the audience learn more about an exhibition and explore and buy the available pieces.\u003C\u002Fp>\n\u003Cp>Provide responsiveness, multiple languages and a convenient catalogue filtering system.\u003C\u002Fp>","22 pages in total with animations, a filtered catalogue, a cart and multiple languages. The layout is fluid, so exhibitions and pieces look predictable on any device, from a phone to a wide monitor.","2026-10-27T11:56:46.260Z","2026-10-28T01:53:59.295Z","2026-10-28T01:53:59.369Z",[589,591,594],{"id":590,"label":579},1195,{"id":592,"label":593},1196,"Art gallery",{"id":595,"label":596},1197,"Culture",[598,600,603,604],{"id":599,"label":324},1198,{"id":601,"label":602},1199,"Showcase website",{"id":30,"label":333},{"id":605,"label":606},1201,"Development",[608,611],{"id":609,"text":610},1277,"22 functional pages",{"id":612,"text":613},1278,"Catalogue with a filter and a cart",[615],{"id":218,"documentId":616,"name":617,"alternativeText":618,"caption":16,"focalPoint":16,"width":619,"height":620,"formats":621,"hash":648,"ext":34,"mime":37,"size":649,"url":650,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":651,"updatedAt":651,"publishedAt":651},"bcrmlyyf9imr22aox6kntczr","heritage-gallery.jpg","Креативный фронтенд для арт-галереи Эритаж",1490,782,{"large":622,"small":628,"medium":635,"thumbnail":641},{"ext":34,"url":623,"hash":624,"mime":37,"name":625,"path":16,"size":626,"width":40,"height":41,"sizeInBytes":627},"\u002Fuploads\u002Flarge_heritage_gallery_29a47e9a87.jpg","large_heritage_gallery_29a47e9a87","large_heritage-gallery.jpg",48.83,48827,{"ext":34,"url":629,"hash":630,"mime":37,"name":631,"path":16,"size":632,"width":48,"height":633,"sizeInBytes":634},"\u002Fuploads\u002Fsmall_heritage_gallery_29a47e9a87.jpg","small_heritage_gallery_29a47e9a87","small_heritage-gallery.jpg",18.56,262,18563,{"ext":34,"url":636,"hash":637,"mime":37,"name":638,"path":16,"size":639,"width":56,"height":57,"sizeInBytes":640},"\u002Fuploads\u002Fmedium_heritage_gallery_29a47e9a87.jpg","medium_heritage_gallery_29a47e9a87","medium_heritage-gallery.jpg",32.86,32860,{"ext":34,"url":642,"hash":643,"mime":37,"name":644,"path":16,"size":645,"width":64,"height":646,"sizeInBytes":647},"\u002Fuploads\u002Fthumbnail_heritage_gallery_29a47e9a87.jpg","thumbnail_heritage_gallery_29a47e9a87","thumbnail_heritage-gallery.jpg",6.88,128,6884,"heritage_gallery_29a47e9a87",85.89,"\u002Fuploads\u002Fheritage_gallery_29a47e9a87.jpg","2026-10-26T22:31:59.999Z",{"id":218,"documentId":616,"name":617,"alternativeText":618,"caption":16,"focalPoint":16,"width":619,"height":620,"formats":653,"hash":648,"ext":34,"mime":37,"size":649,"url":650,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":651,"updatedAt":651,"publishedAt":651},{"large":654,"small":655,"medium":656,"thumbnail":657},{"ext":34,"url":623,"hash":624,"mime":37,"name":625,"path":16,"size":626,"width":40,"height":41,"sizeInBytes":627},{"ext":34,"url":629,"hash":630,"mime":37,"name":631,"path":16,"size":632,"width":48,"height":633,"sizeInBytes":634},{"ext":34,"url":636,"hash":637,"mime":37,"name":638,"path":16,"size":639,"width":56,"height":57,"sizeInBytes":640},{"ext":34,"url":642,"hash":643,"mime":37,"name":644,"path":16,"size":645,"width":64,"height":646,"sizeInBytes":647},{"id":573,"ratio":306,"position":466,"scale":215},[],[661,664,667,670,673,676],{"id":662,"text":663},1279,"CMS-ready markup",{"id":665,"text":666},1280,"Web animation",{"id":668,"text":669},1281,"Catalogue with a filter",{"id":671,"text":672},1282,"Cart functionality",{"id":674,"text":675},1283,"Multiple languages",{"id":677,"text":678},1284,"Responsive layout",[],{"id":681,"metaTitle":682,"metaDescription":683,"canonical":16,"noIndex":77,"ogImage":16},285,"An art gallery website with a catalogue and online purchase: frontend development","22 pages with GSAP animation, a filtered catalogue, a cart, multiple languages and a fluid layout for the Heritage gallery.",{"id":685,"documentId":686,"title":687,"slug":688,"order":689,"lede":690,"desc":690,"collab":113,"clientName":691,"kind":692,"stack":693,"site":694,"noSiteText":306,"task":695,"result":696,"createdAt":697,"updatedAt":698,"publishedAt":699,"locale":11,"tags":700,"formats":709,"points":719,"slides":729,"cover":765,"coverSettings":771,"taskList":772,"done":773,"gallery":788,"seo":789},155,"lk30ochj0lodm4n4putc256c","HR pages for Rostelecom","rostelecom",7,"An animated website for the company's HR division and collecting applications.","Rostelecom","HR services website","Nuxt 3, Sendmail, CSS3 Animation, GreenSock Animation","https:\u002F\u002Fdev.rostelecom-hr.wespot.ru\u002F","\u003Cp>Develop an animated website for the HR division from the designs.\u003C\u002Fp>\n\u003Cp>Build several pages for different audience segments: tell about the benefits of working at the company and let an applicant submit their profile for review with a city choice.\u003C\u002Fp>","The animated HR pages launched on a tight deadline: every audience segment sees its own benefits of working at Rostelecom, and applications arrive linked to the chosen city.","2026-10-27T11:56:46.315Z","2026-10-28T01:53:59.465Z","2026-10-28T01:53:59.524Z",[701,703,706],{"id":702,"label":691},1154,{"id":704,"label":705},1155,"HR",{"id":707,"label":708},1156,"Telecom",[710,712,714,716],{"id":711,"label":324},1157,{"id":713,"label":692},1158,{"id":715,"label":333},1159,{"id":717,"label":718},1160,"Frontend",[720,723,726],{"id":721,"text":722},1209,"Delivered on a tight deadline and a limited budget",{"id":724,"text":725},1210,"Separate pages for different audience segments",{"id":727,"text":728},1211,"Applicant form with a city choice",[730],{"id":731,"documentId":732,"name":733,"alternativeText":734,"caption":16,"focalPoint":16,"width":619,"height":620,"formats":735,"hash":760,"ext":34,"mime":37,"size":761,"url":762,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":763,"updatedAt":763,"publishedAt":764},90,"ibfb5rgfvr7tbiryetohgtuk","rostelecom-hr.jpg","HR-страницы для Ростелекома",{"large":736,"small":742,"medium":748,"thumbnail":754},{"ext":34,"url":737,"hash":738,"mime":37,"name":739,"path":16,"size":740,"width":40,"height":41,"sizeInBytes":741},"\u002Fuploads\u002Flarge_rostelecom_hr_27bd7a1d89.jpg","large_rostelecom_hr_27bd7a1d89","large_rostelecom-hr.jpg",38.27,38267,{"ext":34,"url":743,"hash":744,"mime":37,"name":745,"path":16,"size":746,"width":48,"height":633,"sizeInBytes":747},"\u002Fuploads\u002Fsmall_rostelecom_hr_27bd7a1d89.jpg","small_rostelecom_hr_27bd7a1d89","small_rostelecom-hr.jpg",15.39,15390,{"ext":34,"url":749,"hash":750,"mime":37,"name":751,"path":16,"size":752,"width":56,"height":57,"sizeInBytes":753},"\u002Fuploads\u002Fmedium_rostelecom_hr_27bd7a1d89.jpg","medium_rostelecom_hr_27bd7a1d89","medium_rostelecom-hr.jpg",26.16,26163,{"ext":34,"url":755,"hash":756,"mime":37,"name":757,"path":16,"size":758,"width":64,"height":646,"sizeInBytes":759},"\u002Fuploads\u002Fthumbnail_rostelecom_hr_27bd7a1d89.jpg","thumbnail_rostelecom_hr_27bd7a1d89","thumbnail_rostelecom-hr.jpg",5.83,5829,"rostelecom_hr_27bd7a1d89",65.3,"\u002Fuploads\u002Frostelecom_hr_27bd7a1d89.jpg","2026-10-26T22:32:00.115Z","2026-10-26T22:32:00.116Z",{"id":731,"documentId":732,"name":733,"alternativeText":734,"caption":16,"focalPoint":16,"width":619,"height":620,"formats":766,"hash":760,"ext":34,"mime":37,"size":761,"url":762,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":763,"updatedAt":763,"publishedAt":764},{"large":767,"small":768,"medium":769,"thumbnail":770},{"ext":34,"url":737,"hash":738,"mime":37,"name":739,"path":16,"size":740,"width":40,"height":41,"sizeInBytes":741},{"ext":34,"url":743,"hash":744,"mime":37,"name":745,"path":16,"size":746,"width":48,"height":633,"sizeInBytes":747},{"ext":34,"url":749,"hash":750,"mime":37,"name":751,"path":16,"size":752,"width":56,"height":57,"sizeInBytes":753},{"ext":34,"url":755,"hash":756,"mime":37,"name":757,"path":16,"size":758,"width":64,"height":646,"sizeInBytes":759},{"id":685,"ratio":306,"position":466,"scale":215},[],[774,777,779,782,785],{"id":775,"text":776},1212,"Pages for different audience segments",{"id":778,"text":666},1213,{"id":780,"text":781},1214,"Application form by city",{"id":783,"text":784},1215,"Reactive frontend",{"id":786,"text":787},1216,"Fully responsive layout",[],{"id":790,"metaTitle":791,"metaDescription":792,"canonical":16,"noIndex":77,"ogImage":16},276,"An HR website for Rostelecom on Nuxt with animation and an application form","Animated pages for applicant segments, applications with a city choice. Built on Nuxt 3 and GSAP.",{"id":794,"documentId":795,"title":796,"slug":797,"order":798,"lede":799,"desc":800,"collab":113,"clientName":801,"kind":802,"stack":803,"site":804,"noSiteText":306,"task":805,"result":806,"createdAt":807,"updatedAt":808,"publishedAt":809,"locale":11,"tags":810,"formats":815,"points":820,"slides":821,"cover":822,"coverSettings":860,"taskList":864,"done":865,"gallery":880,"seo":881},166,"y3bgu9i55nsue99dr1vsqtjo","Animated pages for an HR service","career",10,"The goal was to adapt the website to the service's expanded range of products and features.","Modular pages the client's team assembles themselves.","Career.io","HR service website","React\u002FRemix, Styled components, GreenSock Animation, Contentful CMS","https:\u002F\u002Fcareer.io\u002F","\u003Cp>Together with a design studio, update the HR service website for its expanded product range: build universal pages for different audience segments.\u003C\u002Fp>\n\u003Cp>Assemble the home page with animations and move the site to reusable blocks so the client's team can build new product pages in Contentful themselves.\u003C\u002Fp>","The site now fits the expanded range of products and features: pages are assembled from reusable blocks, the home page got GSAP timeline animations, and the Career.io team builds new product pages in Contentful themselves.","2026-10-27T11:56:46.489Z","2026-10-28T01:53:59.623Z","2026-10-28T01:53:59.685Z",[811,812,814],{"id":721,"label":801},{"id":724,"label":813},"HR service",{"id":727,"label":705},[816,817,818,819],{"id":775,"label":324},{"id":778,"label":802},{"id":780,"label":333},{"id":783,"label":606},[],[],{"id":823,"documentId":824,"name":825,"alternativeText":826,"caption":16,"focalPoint":16,"width":827,"height":828,"formats":829,"hash":856,"ext":34,"mime":37,"size":857,"url":858,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":859,"updatedAt":859,"publishedAt":859},75,"rnphb5thkn1kgo0h42mypjld","career-cover.jpg","Анимированные страницы для HR-сервиса",2400,1350,{"large":830,"small":837,"medium":843,"thumbnail":849},{"ext":34,"url":831,"hash":832,"mime":37,"name":833,"path":16,"size":834,"width":40,"height":835,"sizeInBytes":836},"\u002Fuploads\u002Flarge_career_cover_0347603c8b.jpg","large_career_cover_0347603c8b","large_career-cover.jpg",62.3,563,62297,{"ext":34,"url":838,"hash":839,"mime":37,"name":840,"path":16,"size":841,"width":48,"height":443,"sizeInBytes":842},"\u002Fuploads\u002Fsmall_career_cover_0347603c8b.jpg","small_career_cover_0347603c8b","small_career-cover.jpg",22.32,22324,{"ext":34,"url":844,"hash":845,"mime":37,"name":846,"path":16,"size":847,"width":56,"height":450,"sizeInBytes":848},"\u002Fuploads\u002Fmedium_career_cover_0347603c8b.jpg","medium_career_cover_0347603c8b","medium_career-cover.jpg",40.53,40535,{"ext":34,"url":850,"hash":851,"mime":37,"name":852,"path":16,"size":853,"width":64,"height":854,"sizeInBytes":855},"\u002Fuploads\u002Fthumbnail_career_cover_0347603c8b.jpg","thumbnail_career_cover_0347603c8b","thumbnail_career-cover.jpg",7.65,137,7652,"career_cover_0347603c8b",227.09,"\u002Fuploads\u002Fcareer_cover_0347603c8b.jpg","2026-10-26T22:32:00.650Z",{"id":794,"ratio":861,"position":862,"scale":863},"1693 \u002F 906","50% 80%",1.13,[],[866,869,872,875,878],{"id":867,"text":868},1290,"Home page and universal page templates",{"id":870,"text":871},1291,"Timeline animations on GSAP",{"id":873,"text":874},1292,"Modular pages from reusable blocks",{"id":876,"text":877},1293,"Headless CMS Contentful integration",{"id":879,"text":784},1294,[],{"id":882,"metaTitle":883,"metaDescription":884,"canonical":16,"noIndex":77,"ogImage":16},287,"An HR service website on React and Contentful with GSAP animation","Universal pages for Career.io: modular blocks, timeline animations; the client's team assembles pages in the CMS themselves.",{"id":886,"documentId":887,"title":888,"slug":889,"order":890,"lede":891,"desc":891,"collab":113,"clientName":892,"kind":893,"stack":581,"site":894,"noSiteText":306,"task":895,"result":896,"createdAt":897,"updatedAt":898,"publishedAt":899,"locale":11,"tags":900,"formats":906,"points":907,"slides":908,"cover":909,"coverSettings":943,"taskList":944,"done":945,"gallery":958,"seo":959},124,"dxsron1w40fz28dk6ltwj8ji","Corporate website of a cosmetics brand","delight",11,"The frontend of an Italian professional cosmetics brand's website.","Constant Delight","Corporate website","https:\u002F\u002Fconstanta-cd.ru\u002F","\u003Cp>Build a creative front-end for the corporate website of an Italian professional cosmetics brand for WordPress.\u003C\u002Fp>\n\u003Cp>The pages must work smoothly and equally well on any screen: a fully fluid layout, animations, video and a map of the salon network.\u003C\u002Fp>","The brand site is built on front-end code the client's team integrated and fills in WordPress themselves: animations and video run smoothly, and the fluid layout makes the site predictable on any device.","2026-10-27T11:56:46.529Z","2026-10-29T00:37:57.275Z","2026-10-29T00:37:57.348Z",[901,903],{"id":902,"label":892},1016,{"id":904,"label":905},1017,"Cosmetics",[],[],[],{"id":910,"documentId":911,"name":912,"alternativeText":913,"caption":16,"focalPoint":16,"width":619,"height":620,"formats":914,"hash":939,"ext":34,"mime":37,"size":940,"url":941,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":942,"updatedAt":942,"publishedAt":942},94,"lm07k9exlzwo82uvkwbwvcvq","delight-site.jpg","Корпоративный сайт бренда косметики",{"large":915,"small":921,"medium":927,"thumbnail":933},{"ext":34,"url":916,"hash":917,"mime":37,"name":918,"path":16,"size":919,"width":40,"height":41,"sizeInBytes":920},"\u002Fuploads\u002Flarge_delight_site_8c8eb1cf75.jpg","large_delight_site_8c8eb1cf75","large_delight-site.jpg",55.37,55366,{"ext":34,"url":922,"hash":923,"mime":37,"name":924,"path":16,"size":925,"width":48,"height":633,"sizeInBytes":926},"\u002Fuploads\u002Fsmall_delight_site_8c8eb1cf75.jpg","small_delight_site_8c8eb1cf75","small_delight-site.jpg",19.44,19441,{"ext":34,"url":928,"hash":929,"mime":37,"name":930,"path":16,"size":931,"width":56,"height":57,"sizeInBytes":932},"\u002Fuploads\u002Fmedium_delight_site_8c8eb1cf75.jpg","medium_delight_site_8c8eb1cf75","medium_delight-site.jpg",36.06,36060,{"ext":34,"url":934,"hash":935,"mime":37,"name":936,"path":16,"size":937,"width":64,"height":646,"sizeInBytes":938},"\u002Fuploads\u002Fthumbnail_delight_site_8c8eb1cf75.jpg","thumbnail_delight_site_8c8eb1cf75","thumbnail_delight-site.jpg",6.53,6527,"delight_site_8c8eb1cf75",99.99,"\u002Fuploads\u002Fdelight_site_8c8eb1cf75.jpg","2026-10-26T22:32:00.758Z",{"id":886,"ratio":306,"position":466,"scale":215},[],[946,949,952,955],{"id":947,"text":948},952,"Creative front-end for WordPress",{"id":950,"text":951},953,"Video player and GSAP web animation",{"id":953,"text":954},954,"Network map on Mapbox",{"id":956,"text":957},955,"Fully fluid layout",[],{"id":64,"metaTitle":960,"metaDescription":961,"canonical":16,"noIndex":77,"ogImage":16},"Creative front-end for a corporate WordPress website","The Constant Delight cosmetics brand website: fluid layout, video, GSAP animation, a salon map on Mapbox.",{"id":963,"documentId":964,"title":965,"slug":966,"order":967,"lede":968,"desc":969,"collab":77,"clientName":970,"kind":971,"stack":972,"site":973,"noSiteText":306,"task":974,"result":975,"createdAt":976,"updatedAt":977,"publishedAt":978,"locale":11,"tags":979,"formats":987,"points":996,"slides":1008,"cover":1088,"coverSettings":1122,"taskList":1123,"done":1124,"gallery":1137,"seo":1147},131,"embhvl6m09f30654gaovimlt","Website for the server manufacturer NEBO Systems","nebosystems",12,"A responsive Nuxt 3 website with server pages and a Laravel Nova admin panel.","Server manufacturer website: Nuxt 3, Laravel and a Laravel Nova admin panel.","NEBO Systems","Corporate website with an admin panel","Nuxt 3, Vue 3, Laravel, Laravel Nova, PostgreSQL, Docker, Nginx","https:\u002F\u002Fnebosystems.ru\u002F","\u003Cp>Build a responsive website for a server manufacturer from the design mockups and connect it to a content management system: a Nuxt 3 (Vue 3) frontend and a Laravel backend with a Laravel Nova admin panel.\u003C\u002Fp>","The website runs on Nuxt 3 with a Laravel backend: the client team edits the server pages and the rest of the content in the Laravel Nova admin panel, and the pages open fast on any device.","2026-10-29T00:37:56.464Z","2026-10-29T01:09:40.158Z","2026-10-29T01:09:40.200Z",[980,982,985],{"id":981,"label":970},1050,{"id":983,"label":984},1051,"Servers",{"id":986,"label":320},1052,[988,990,992,994],{"id":989,"label":324},1053,{"id":991,"label":893},1054,{"id":993,"label":330},1055,{"id":995,"label":606},1056,[997,999,1002,1005],{"id":998,"text":678},1004,{"id":1000,"text":1001},1005,"Headless API on Laravel",{"id":1003,"text":1004},1006,"Laravel Nova admin panel",{"id":1006,"text":1007},1007,"SEO preparation",[1009,1049],{"id":1010,"documentId":1011,"name":1012,"alternativeText":1013,"caption":16,"focalPoint":16,"width":1014,"height":1015,"formats":1016,"hash":1045,"ext":34,"mime":37,"size":1046,"url":1047,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1048,"updatedAt":1048,"publishedAt":1048},68,"xuwx9eg5c362xtry2snl2q86","nebosystems-server.jpg","Сайт производителя серверов NEBO Systems",1428,1173,{"large":1017,"small":1024,"medium":1031,"thumbnail":1038},{"ext":34,"url":1018,"hash":1019,"mime":37,"name":1020,"path":16,"size":1021,"width":40,"height":1022,"sizeInBytes":1023},"\u002Fuploads\u002Flarge_nebosystems_server_92d41dafdc.jpg","large_nebosystems_server_92d41dafdc","large_nebosystems-server.jpg",83.92,821,83921,{"ext":34,"url":1025,"hash":1026,"mime":37,"name":1027,"path":16,"size":1028,"width":48,"height":1029,"sizeInBytes":1030},"\u002Fuploads\u002Fsmall_nebosystems_server_92d41dafdc.jpg","small_nebosystems_server_92d41dafdc","small_nebosystems-server.jpg",27.09,411,27091,{"ext":34,"url":1032,"hash":1033,"mime":37,"name":1034,"path":16,"size":1035,"width":56,"height":1036,"sizeInBytes":1037},"\u002Fuploads\u002Fmedium_nebosystems_server_92d41dafdc.jpg","medium_nebosystems_server_92d41dafdc","medium_nebosystems-server.jpg",54.01,616,54011,{"ext":34,"url":1039,"hash":1040,"mime":37,"name":1041,"path":16,"size":1042,"width":1043,"height":169,"sizeInBytes":1044},"\u002Fuploads\u002Fthumbnail_nebosystems_server_92d41dafdc.jpg","thumbnail_nebosystems_server_92d41dafdc","thumbnail_nebosystems-server.jpg",5.09,190,5090,"nebosystems_server_92d41dafdc",144.34,"\u002Fuploads\u002Fnebosystems_server_92d41dafdc.jpg","2026-10-29T00:37:56.319Z",{"id":1050,"documentId":1051,"name":1052,"alternativeText":1013,"caption":16,"focalPoint":16,"width":1053,"height":1054,"formats":1055,"hash":1083,"ext":34,"mime":37,"size":1084,"url":1085,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1086,"updatedAt":1086,"publishedAt":1087},67,"spb73yt2qymhr2gdvowf6m40","nebosystems-site.jpg",1442,1219,{"large":1056,"small":1063,"medium":1069,"thumbnail":1076},{"ext":34,"url":1057,"hash":1058,"mime":37,"name":1059,"path":16,"size":1060,"width":40,"height":1061,"sizeInBytes":1062},"\u002Fuploads\u002Flarge_nebosystems_site_fb07416c0c.jpg","large_nebosystems_site_fb07416c0c","large_nebosystems-site.jpg",44.86,845,44857,{"ext":34,"url":1064,"hash":1065,"mime":37,"name":1066,"path":16,"size":1067,"width":48,"height":277,"sizeInBytes":1068},"\u002Fuploads\u002Fsmall_nebosystems_site_fb07416c0c.jpg","small_nebosystems_site_fb07416c0c","small_nebosystems-site.jpg",15.3,15297,{"ext":34,"url":1070,"hash":1071,"mime":37,"name":1072,"path":16,"size":1073,"width":56,"height":1074,"sizeInBytes":1075},"\u002Fuploads\u002Fmedium_nebosystems_site_fb07416c0c.jpg","medium_nebosystems_site_fb07416c0c","medium_nebosystems-site.jpg",29.57,634,29566,{"ext":34,"url":1077,"hash":1078,"mime":37,"name":1079,"path":16,"size":1080,"width":1081,"height":169,"sizeInBytes":1082},"\u002Fuploads\u002Fthumbnail_nebosystems_site_fb07416c0c.jpg","thumbnail_nebosystems_site_fb07416c0c","thumbnail_nebosystems-site.jpg",3.09,185,3087,"nebosystems_site_fb07416c0c",77.85,"\u002Fuploads\u002Fnebosystems_site_fb07416c0c.jpg","2026-10-29T00:37:56.137Z","2026-10-29T00:37:56.138Z",{"id":1089,"documentId":1090,"name":1091,"alternativeText":1013,"caption":16,"focalPoint":16,"width":426,"height":427,"formats":1092,"hash":1117,"ext":430,"mime":433,"size":1118,"url":1119,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1120,"updatedAt":1120,"publishedAt":1121},71,"o7rwcyymci153fzeizdlloe1","nebosystems-cover.webp",{"large":1093,"small":1099,"medium":1105,"thumbnail":1111},{"ext":430,"url":1094,"hash":1095,"mime":433,"name":1096,"path":16,"size":1097,"width":40,"height":436,"sizeInBytes":1098},"\u002Fuploads\u002Flarge_nebosystems_cover_02a1a0abbf.webp","large_nebosystems_cover_02a1a0abbf","large_nebosystems-cover.webp",26.25,26250,{"ext":430,"url":1100,"hash":1101,"mime":433,"name":1102,"path":16,"size":1103,"width":48,"height":443,"sizeInBytes":1104},"\u002Fuploads\u002Fsmall_nebosystems_cover_02a1a0abbf.webp","small_nebosystems_cover_02a1a0abbf","small_nebosystems-cover.webp",10.17,10172,{"ext":430,"url":1106,"hash":1107,"mime":433,"name":1108,"path":16,"size":1109,"width":56,"height":450,"sizeInBytes":1110},"\u002Fuploads\u002Fmedium_nebosystems_cover_02a1a0abbf.webp","medium_nebosystems_cover_02a1a0abbf","medium_nebosystems-cover.webp",17.49,17492,{"ext":430,"url":1112,"hash":1113,"mime":433,"name":1114,"path":16,"size":1115,"width":64,"height":457,"sizeInBytes":1116},"\u002Fuploads\u002Fthumbnail_nebosystems_cover_02a1a0abbf.webp","thumbnail_nebosystems_cover_02a1a0abbf","thumbnail_nebosystems-cover.webp",3.74,3744,"nebosystems_cover_02a1a0abbf",50.06,"\u002Fuploads\u002Fnebosystems_cover_02a1a0abbf.webp","2026-10-29T01:09:39.952Z","2026-10-29T01:09:39.954Z",{"id":963,"ratio":465,"position":466,"scale":215},[],[1125,1128,1131,1134],{"id":1126,"text":1127},1008,"Responsive layout from the mockups",{"id":1129,"text":1130},1009,"Reactive Nuxt 3 frontend connected to the headless API",{"id":1132,"text":1133},1010,"Laravel Nova admin panel for the content",{"id":1135,"text":1136},1011,"Optimisation, testing and SEO preparation",[1138],{"id":1139,"caption":1140,"image":1141},57,"Server page",{"id":1010,"documentId":1011,"name":1012,"alternativeText":1013,"caption":16,"focalPoint":16,"width":1014,"height":1015,"formats":1142,"hash":1045,"ext":34,"mime":37,"size":1046,"url":1047,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1048,"updatedAt":1048,"publishedAt":1048},{"large":1143,"small":1144,"medium":1145,"thumbnail":1146},{"ext":34,"url":1018,"hash":1019,"mime":37,"name":1020,"path":16,"size":1021,"width":40,"height":1022,"sizeInBytes":1023},{"ext":34,"url":1025,"hash":1026,"mime":37,"name":1027,"path":16,"size":1028,"width":48,"height":1029,"sizeInBytes":1030},{"ext":34,"url":1032,"hash":1033,"mime":37,"name":1034,"path":16,"size":1035,"width":56,"height":1036,"sizeInBytes":1037},{"ext":34,"url":1039,"hash":1040,"mime":37,"name":1041,"path":16,"size":1042,"width":1043,"height":169,"sizeInBytes":1044},{"id":1148,"metaTitle":1149,"metaDescription":1150,"canonical":16,"noIndex":77,"ogImage":16},252,"Server manufacturer website on Nuxt 3 and Laravel Nova","Responsive NEBO Systems website: Nuxt 3 frontend, Laravel headless API, Laravel Nova admin panel, SEO preparation.",{"id":296,"documentId":297,"title":298,"slug":299,"order":4,"lede":300,"desc":301,"collab":77,"clientName":302,"kind":303,"stack":304,"site":305,"noSiteText":306,"task":307,"result":308,"createdAt":309,"updatedAt":310,"publishedAt":311,"locale":11,"tags":1152,"formats":1156,"points":1161,"slides":1166,"cover":1179,"coverSettings":1185,"taskList":1186,"done":1187,"gallery":1198,"seo":1207},[1153,1154,1155],{"id":314,"label":302},{"id":316,"label":317},{"id":319,"label":320},[1157,1158,1159,1160],{"id":323,"label":324},{"id":326,"label":327},{"id":329,"label":330},{"id":332,"label":333},[1162,1163,1164,1165],{"id":336,"text":337},{"id":339,"text":340},{"id":342,"text":343},{"id":345,"text":346},[1167,1173],{"id":241,"documentId":349,"name":350,"alternativeText":351,"caption":16,"focalPoint":16,"width":352,"height":353,"formats":1168,"hash":383,"ext":34,"mime":37,"size":384,"url":385,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":386,"updatedAt":386,"publishedAt":386},{"large":1169,"small":1170,"medium":1171,"thumbnail":1172},{"ext":34,"url":356,"hash":357,"mime":37,"name":358,"path":16,"size":359,"width":40,"height":360,"sizeInBytes":361},{"ext":34,"url":363,"hash":364,"mime":37,"name":365,"path":16,"size":366,"width":48,"height":367,"sizeInBytes":368},{"ext":34,"url":370,"hash":371,"mime":37,"name":372,"path":16,"size":373,"width":56,"height":374,"sizeInBytes":375},{"ext":34,"url":377,"hash":378,"mime":37,"name":379,"path":16,"size":380,"width":381,"height":169,"sizeInBytes":382},{"id":226,"documentId":388,"name":389,"alternativeText":351,"caption":16,"focalPoint":16,"width":390,"height":391,"formats":1174,"hash":417,"ext":34,"mime":37,"size":418,"url":419,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":420,"updatedAt":420,"publishedAt":420},{"large":1175,"small":1176,"medium":1177,"thumbnail":1178},{"ext":34,"url":394,"hash":395,"mime":37,"name":396,"path":16,"size":397,"width":40,"height":360,"sizeInBytes":398},{"ext":34,"url":400,"hash":401,"mime":37,"name":402,"path":16,"size":403,"width":48,"height":367,"sizeInBytes":404},{"ext":34,"url":406,"hash":407,"mime":37,"name":408,"path":16,"size":409,"width":56,"height":374,"sizeInBytes":410},{"ext":34,"url":412,"hash":413,"mime":37,"name":414,"path":16,"size":415,"width":381,"height":169,"sizeInBytes":416},{"id":422,"documentId":423,"name":424,"alternativeText":425,"caption":16,"focalPoint":16,"width":426,"height":427,"formats":1180,"hash":459,"ext":430,"mime":433,"size":460,"url":461,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":462,"updatedAt":462,"publishedAt":463},{"large":1181,"small":1182,"medium":1183,"thumbnail":1184},{"ext":430,"url":431,"hash":432,"mime":433,"name":434,"path":16,"size":435,"width":40,"height":436,"sizeInBytes":437},{"ext":430,"url":439,"hash":440,"mime":433,"name":441,"path":16,"size":442,"width":48,"height":443,"sizeInBytes":444},{"ext":430,"url":446,"hash":447,"mime":433,"name":448,"path":16,"size":449,"width":56,"height":450,"sizeInBytes":451},{"ext":430,"url":453,"hash":454,"mime":433,"name":455,"path":16,"size":456,"width":64,"height":457,"sizeInBytes":458},{"id":296,"ratio":465,"position":466,"scale":215},[],[1188,1190,1192,1195],{"id":902,"text":1189},"Reactive layout on Nuxt 3 (Vue 3)",{"id":904,"text":1191},"Strapi backend and admin panel for content management",{"id":1193,"text":1194},1018,"Interface testing",{"id":1196,"text":1197},1019,"Metrics for visitor analytics",[1199],{"id":1200,"caption":306,"image":1201},58,{"id":241,"documentId":349,"name":350,"alternativeText":351,"caption":16,"focalPoint":16,"width":352,"height":353,"formats":1202,"hash":383,"ext":34,"mime":37,"size":384,"url":385,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":386,"updatedAt":386,"publishedAt":386},{"large":1203,"small":1204,"medium":1205,"thumbnail":1206},{"ext":34,"url":356,"hash":357,"mime":37,"name":358,"path":16,"size":359,"width":40,"height":360,"sizeInBytes":361},{"ext":34,"url":363,"hash":364,"mime":37,"name":365,"path":16,"size":366,"width":48,"height":367,"sizeInBytes":368},{"ext":34,"url":370,"hash":371,"mime":37,"name":372,"path":16,"size":373,"width":56,"height":374,"sizeInBytes":375},{"ext":34,"url":377,"hash":378,"mime":37,"name":379,"path":16,"size":380,"width":381,"height":169,"sizeInBytes":382},{"id":1208,"metaTitle":1209,"metaDescription":1210,"canonical":16,"noIndex":77,"ogImage":16},253,"Charity foundation website on Nuxt 3 and Strapi","Reactive website for the Pomosch foundation: full content editing, staff, expense reports, analytics.",{"id":1212,"documentId":1213,"title":1214,"slug":1215,"order":1216,"lede":1217,"desc":1217,"collab":113,"clientName":1218,"kind":1219,"stack":1220,"site":1221,"noSiteText":306,"task":1222,"result":1223,"createdAt":1224,"updatedAt":1225,"publishedAt":1226,"locale":11,"tags":1227,"formats":1236,"points":1243,"slides":1250,"cover":1359,"coverSettings":1365,"taskList":1366,"done":1367,"gallery":1379,"seo":1396},136,"ooxg56w21e9uft4wk5oh2x7o","Launch landing page for Splat Biohack+","splat",8,"Build awareness of the new brand among customers and reveal its unique selling points.","SPLAT","Product page","Nuxt 3, Wordpress (Headless), GraphQL","https:\u002F\u002Fwww.splatbiohack.com\u002F","\u003Cp>Develop a landing page for the BIOHACK+ launch on a tight deadline together with the design team.\u003C\u002Fp>\n\u003Cp>Make the page editable: the client's team must manage the content themselves, add new products and manage marketplace links for a quick purchase.\u003C\u002Fp>","The landing page launched on time for the product start: the SPLAT team updates content, adds products and marketplace links through the content management system without developers.","2026-10-27T11:56:46.392Z","2026-10-29T01:38:29.164Z","2026-10-29T01:38:29.200Z",[1228,1230,1233],{"id":1229,"label":1218},1084,{"id":1231,"label":1232},1085,"BIOHACK+",{"id":1234,"label":1235},1086,"FMCG",[1237,1239,1241],{"id":1238,"label":324},1087,{"id":1240,"label":1219},1088,{"id":1242,"label":606},1089,[1244,1247],{"id":1245,"text":1246},1048,"Parallax animation, content from a CMS",{"id":1248,"text":1249},1049,"Marketplace links for a quick purchase",[1251,1285,1327],{"id":1252,"documentId":1253,"name":1254,"alternativeText":1255,"caption":16,"focalPoint":16,"width":619,"height":620,"formats":1256,"hash":1281,"ext":34,"mime":37,"size":1282,"url":1283,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1284,"updatedAt":1284,"publishedAt":1284},85,"eliis544sttmp6mn8ktgcvt2","splat-biohack.jpg","Лендинг для запуска продукта Splat Biohack+",{"large":1257,"small":1263,"medium":1269,"thumbnail":1275},{"ext":34,"url":1258,"hash":1259,"mime":37,"name":1260,"path":16,"size":1261,"width":40,"height":41,"sizeInBytes":1262},"\u002Fuploads\u002Flarge_splat_biohack_f6f5447ce0.jpg","large_splat_biohack_f6f5447ce0","large_splat-biohack.jpg",64.42,64418,{"ext":34,"url":1264,"hash":1265,"mime":37,"name":1266,"path":16,"size":1267,"width":48,"height":633,"sizeInBytes":1268},"\u002Fuploads\u002Fsmall_splat_biohack_f6f5447ce0.jpg","small_splat_biohack_f6f5447ce0","small_splat-biohack.jpg",22.65,22645,{"ext":34,"url":1270,"hash":1271,"mime":37,"name":1272,"path":16,"size":1273,"width":56,"height":57,"sizeInBytes":1274},"\u002Fuploads\u002Fmedium_splat_biohack_f6f5447ce0.jpg","medium_splat_biohack_f6f5447ce0","medium_splat-biohack.jpg",42.1,42097,{"ext":34,"url":1276,"hash":1277,"mime":37,"name":1278,"path":16,"size":1279,"width":64,"height":646,"sizeInBytes":1280},"\u002Fuploads\u002Fthumbnail_splat_biohack_f6f5447ce0.jpg","thumbnail_splat_biohack_f6f5447ce0","thumbnail_splat-biohack.jpg",7.37,7365,"splat_biohack_f6f5447ce0",116.95,"\u002Fuploads\u002Fsplat_biohack_f6f5447ce0.jpg","2026-10-26T22:32:00.226Z",{"id":1286,"documentId":1287,"name":1288,"alternativeText":1255,"caption":16,"focalPoint":16,"width":1289,"height":1290,"formats":1291,"hash":1322,"ext":1293,"mime":1296,"size":1323,"url":1324,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1325,"updatedAt":1325,"publishedAt":1326},83,"bodqv5hatwvh1g4wy89b9ett","splat-magnesium.png",1024,532,{"large":1292,"small":1301,"medium":1308,"thumbnail":1315},{"ext":1293,"url":1294,"hash":1295,"mime":1296,"name":1297,"path":16,"size":1298,"width":40,"height":1299,"sizeInBytes":1300},".png","\u002Fuploads\u002Flarge_splat_magnesium_07bb9f39c6.png","large_splat_magnesium_07bb9f39c6","image\u002Fpng","large_splat-magnesium.png",40.31,520,40314,{"ext":1293,"url":1302,"hash":1303,"mime":1296,"name":1304,"path":16,"size":1305,"width":48,"height":1306,"sizeInBytes":1307},"\u002Fuploads\u002Fsmall_splat_magnesium_07bb9f39c6.png","small_splat_magnesium_07bb9f39c6","small_splat-magnesium.png",13.8,260,13803,{"ext":1293,"url":1309,"hash":1310,"mime":1296,"name":1311,"path":16,"size":1312,"width":56,"height":1313,"sizeInBytes":1314},"\u002Fuploads\u002Fmedium_splat_magnesium_07bb9f39c6.png","medium_splat_magnesium_07bb9f39c6","medium_splat-magnesium.png",25.37,390,25373,{"ext":1293,"url":1316,"hash":1317,"mime":1296,"name":1318,"path":16,"size":1319,"width":64,"height":1320,"sizeInBytes":1321},"\u002Fuploads\u002Fthumbnail_splat_magnesium_07bb9f39c6.png","thumbnail_splat_magnesium_07bb9f39c6","thumbnail_splat-magnesium.png",4.8,127,4798,"splat_magnesium_07bb9f39c6",41.3,"\u002Fuploads\u002Fsplat_magnesium_07bb9f39c6.png","2026-10-26T22:32:00.279Z","2026-10-26T22:32:00.280Z",{"id":1328,"documentId":1329,"name":1330,"alternativeText":1255,"caption":16,"focalPoint":16,"width":1289,"height":1290,"formats":1331,"hash":1355,"ext":1293,"mime":1296,"size":1356,"url":1357,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1358,"updatedAt":1358,"publishedAt":1358},102,"wlwhiy6u9tmsf2l4wyu9wwlj","splat-feedback.png",{"large":1332,"small":1338,"medium":1344,"thumbnail":1350},{"ext":1293,"url":1333,"hash":1334,"mime":1296,"name":1335,"path":16,"size":1336,"width":40,"height":1299,"sizeInBytes":1337},"\u002Fuploads\u002Flarge_splat_feedback_b44a81f2c5.png","large_splat_feedback_b44a81f2c5","large_splat-feedback.png",52.11,52110,{"ext":1293,"url":1339,"hash":1340,"mime":1296,"name":1341,"path":16,"size":1342,"width":48,"height":1306,"sizeInBytes":1343},"\u002Fuploads\u002Fsmall_splat_feedback_b44a81f2c5.png","small_splat_feedback_b44a81f2c5","small_splat-feedback.png",16.91,16913,{"ext":1293,"url":1345,"hash":1346,"mime":1296,"name":1347,"path":16,"size":1348,"width":56,"height":1313,"sizeInBytes":1349},"\u002Fuploads\u002Fmedium_splat_feedback_b44a81f2c5.png","medium_splat_feedback_b44a81f2c5","medium_splat-feedback.png",32.02,32016,{"ext":1293,"url":1351,"hash":1352,"mime":1296,"name":1353,"path":16,"size":168,"width":64,"height":1320,"sizeInBytes":1354},"\u002Fuploads\u002Fthumbnail_splat_feedback_b44a81f2c5.png","thumbnail_splat_feedback_b44a81f2c5","thumbnail_splat-feedback.png",5613,"splat_feedback_b44a81f2c5",55.04,"\u002Fuploads\u002Fsplat_feedback_b44a81f2c5.png","2026-10-26T22:32:00.335Z",{"id":1252,"documentId":1253,"name":1254,"alternativeText":1255,"caption":16,"focalPoint":16,"width":619,"height":620,"formats":1360,"hash":1281,"ext":34,"mime":37,"size":1282,"url":1283,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1284,"updatedAt":1284,"publishedAt":1284},{"large":1361,"small":1362,"medium":1363,"thumbnail":1364},{"ext":34,"url":1258,"hash":1259,"mime":37,"name":1260,"path":16,"size":1261,"width":40,"height":41,"sizeInBytes":1262},{"ext":34,"url":1264,"hash":1265,"mime":37,"name":1266,"path":16,"size":1267,"width":48,"height":633,"sizeInBytes":1268},{"ext":34,"url":1270,"hash":1271,"mime":37,"name":1272,"path":16,"size":1273,"width":56,"height":57,"sizeInBytes":1274},{"ext":34,"url":1276,"hash":1277,"mime":37,"name":1278,"path":16,"size":1279,"width":64,"height":646,"sizeInBytes":1280},{"id":1212,"ratio":306,"position":466,"scale":215},[],[1368,1370,1372,1374,1375,1377],{"id":981,"text":1369},"Scroll parallax animation on GSAP",{"id":983,"text":1371},"Editable page through a CMS",{"id":986,"text":1373},"Product cards with marketplace links",{"id":989,"text":784},{"id":991,"text":1376},"Form with data validation",{"id":993,"text":1378},"Fluid layout",[1380,1388],{"id":1381,"caption":306,"image":1382},63,{"id":1286,"documentId":1287,"name":1288,"alternativeText":1255,"caption":16,"focalPoint":16,"width":1289,"height":1290,"formats":1383,"hash":1322,"ext":1293,"mime":1296,"size":1323,"url":1324,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1325,"updatedAt":1325,"publishedAt":1326},{"large":1384,"small":1385,"medium":1386,"thumbnail":1387},{"ext":1293,"url":1294,"hash":1295,"mime":1296,"name":1297,"path":16,"size":1298,"width":40,"height":1299,"sizeInBytes":1300},{"ext":1293,"url":1302,"hash":1303,"mime":1296,"name":1304,"path":16,"size":1305,"width":48,"height":1306,"sizeInBytes":1307},{"ext":1293,"url":1309,"hash":1310,"mime":1296,"name":1311,"path":16,"size":1312,"width":56,"height":1313,"sizeInBytes":1314},{"ext":1293,"url":1316,"hash":1317,"mime":1296,"name":1318,"path":16,"size":1319,"width":64,"height":1320,"sizeInBytes":1321},{"id":1389,"caption":306,"image":1390},64,{"id":1328,"documentId":1329,"name":1330,"alternativeText":1255,"caption":16,"focalPoint":16,"width":1289,"height":1290,"formats":1391,"hash":1355,"ext":1293,"mime":1296,"size":1356,"url":1357,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1358,"updatedAt":1358,"publishedAt":1358},{"large":1392,"small":1393,"medium":1394,"thumbnail":1395},{"ext":1293,"url":1333,"hash":1334,"mime":1296,"name":1335,"path":16,"size":1336,"width":40,"height":1299,"sizeInBytes":1337},{"ext":1293,"url":1339,"hash":1340,"mime":1296,"name":1341,"path":16,"size":1342,"width":48,"height":1306,"sizeInBytes":1343},{"ext":1293,"url":1345,"hash":1346,"mime":1296,"name":1347,"path":16,"size":1348,"width":56,"height":1313,"sizeInBytes":1349},{"ext":1293,"url":1351,"hash":1352,"mime":1296,"name":1353,"path":16,"size":168,"width":64,"height":1320,"sizeInBytes":1354},{"id":1397,"metaTitle":1398,"metaDescription":1399,"canonical":16,"noIndex":77,"ogImage":16},257,"A product launch landing page on Nuxt and headless WordPress","The SPLAT BIOHACK+ page with GSAP parallax animation. The brand team updates products and marketplace links through the CMS themselves.",[],{"id":1402,"documentId":1403,"name":1404,"order":1405,"showInMarquee":113,"createdAt":1406,"updatedAt":1407,"publishedAt":1408,"locale":11,"logo":16,"projects":1409},170,"hupzqp9iezi9goy65ypne39f","Pomosch",9,"2026-10-27T11:54:45.785Z","2026-10-27T12:06:29.284Z","2026-10-27T12:06:29.288Z",[1410],{"id":296,"documentId":297,"title":298,"slug":299,"order":4,"lede":300,"desc":301,"collab":77,"clientName":302,"kind":303,"stack":304,"site":305,"noSiteText":306,"task":307,"result":308,"createdAt":309,"updatedAt":310,"publishedAt":311,"locale":11,"tags":1411,"formats":1415,"points":1420,"slides":1425,"cover":1438,"coverSettings":1444,"taskList":1445,"done":1446,"gallery":1451,"seo":1459},[1412,1413,1414],{"id":314,"label":302},{"id":316,"label":317},{"id":319,"label":320},[1416,1417,1418,1419],{"id":323,"label":324},{"id":326,"label":327},{"id":329,"label":330},{"id":332,"label":333},[1421,1422,1423,1424],{"id":336,"text":337},{"id":339,"text":340},{"id":342,"text":343},{"id":345,"text":346},[1426,1432],{"id":241,"documentId":349,"name":350,"alternativeText":351,"caption":16,"focalPoint":16,"width":352,"height":353,"formats":1427,"hash":383,"ext":34,"mime":37,"size":384,"url":385,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":386,"updatedAt":386,"publishedAt":386},{"large":1428,"small":1429,"medium":1430,"thumbnail":1431},{"ext":34,"url":356,"hash":357,"mime":37,"name":358,"path":16,"size":359,"width":40,"height":360,"sizeInBytes":361},{"ext":34,"url":363,"hash":364,"mime":37,"name":365,"path":16,"size":366,"width":48,"height":367,"sizeInBytes":368},{"ext":34,"url":370,"hash":371,"mime":37,"name":372,"path":16,"size":373,"width":56,"height":374,"sizeInBytes":375},{"ext":34,"url":377,"hash":378,"mime":37,"name":379,"path":16,"size":380,"width":381,"height":169,"sizeInBytes":382},{"id":226,"documentId":388,"name":389,"alternativeText":351,"caption":16,"focalPoint":16,"width":390,"height":391,"formats":1433,"hash":417,"ext":34,"mime":37,"size":418,"url":419,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":420,"updatedAt":420,"publishedAt":420},{"large":1434,"small":1435,"medium":1436,"thumbnail":1437},{"ext":34,"url":394,"hash":395,"mime":37,"name":396,"path":16,"size":397,"width":40,"height":360,"sizeInBytes":398},{"ext":34,"url":400,"hash":401,"mime":37,"name":402,"path":16,"size":403,"width":48,"height":367,"sizeInBytes":404},{"ext":34,"url":406,"hash":407,"mime":37,"name":408,"path":16,"size":409,"width":56,"height":374,"sizeInBytes":410},{"ext":34,"url":412,"hash":413,"mime":37,"name":414,"path":16,"size":415,"width":381,"height":169,"sizeInBytes":416},{"id":422,"documentId":423,"name":424,"alternativeText":425,"caption":16,"focalPoint":16,"width":426,"height":427,"formats":1439,"hash":459,"ext":430,"mime":433,"size":460,"url":461,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":462,"updatedAt":462,"publishedAt":463},{"large":1440,"small":1441,"medium":1442,"thumbnail":1443},{"ext":430,"url":431,"hash":432,"mime":433,"name":434,"path":16,"size":435,"width":40,"height":436,"sizeInBytes":437},{"ext":430,"url":439,"hash":440,"mime":433,"name":441,"path":16,"size":442,"width":48,"height":443,"sizeInBytes":444},{"ext":430,"url":446,"hash":447,"mime":433,"name":448,"path":16,"size":449,"width":56,"height":450,"sizeInBytes":451},{"ext":430,"url":453,"hash":454,"mime":433,"name":455,"path":16,"size":456,"width":64,"height":457,"sizeInBytes":458},{"id":296,"ratio":465,"position":466,"scale":215},[],[1447,1448,1449,1450],{"id":902,"text":1189},{"id":904,"text":1191},{"id":1193,"text":1194},{"id":1196,"text":1197},[1452],{"id":1200,"caption":306,"image":1453},{"id":241,"documentId":349,"name":350,"alternativeText":351,"caption":16,"focalPoint":16,"width":352,"height":353,"formats":1454,"hash":383,"ext":34,"mime":37,"size":384,"url":385,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":386,"updatedAt":386,"publishedAt":386},{"large":1455,"small":1456,"medium":1457,"thumbnail":1458},{"ext":34,"url":356,"hash":357,"mime":37,"name":358,"path":16,"size":359,"width":40,"height":360,"sizeInBytes":361},{"ext":34,"url":363,"hash":364,"mime":37,"name":365,"path":16,"size":366,"width":48,"height":367,"sizeInBytes":368},{"ext":34,"url":370,"hash":371,"mime":37,"name":372,"path":16,"size":373,"width":56,"height":374,"sizeInBytes":375},{"ext":34,"url":377,"hash":378,"mime":37,"name":379,"path":16,"size":380,"width":381,"height":169,"sizeInBytes":382},{"id":1208,"metaTitle":1209,"metaDescription":1210,"canonical":16,"noIndex":77,"ogImage":16},[],[1462,1463,1464,1465],{"id":902,"text":1189},{"id":904,"text":1191},{"id":1193,"text":1194},{"id":1196,"text":1197},[1467],{"id":1200,"caption":306,"image":1468},{"id":241,"documentId":349,"name":350,"alternativeText":351,"caption":16,"focalPoint":16,"width":352,"height":353,"formats":1469,"hash":383,"ext":34,"mime":37,"size":384,"url":385,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":386,"updatedAt":386,"publishedAt":386},{"large":1470,"small":1471,"medium":1472,"thumbnail":1473},{"ext":34,"url":356,"hash":357,"mime":37,"name":358,"path":16,"size":359,"width":40,"height":360,"sizeInBytes":361},{"ext":34,"url":363,"hash":364,"mime":37,"name":365,"path":16,"size":366,"width":48,"height":367,"sizeInBytes":368},{"ext":34,"url":370,"hash":371,"mime":37,"name":372,"path":16,"size":373,"width":56,"height":374,"sizeInBytes":375},{"ext":34,"url":377,"hash":378,"mime":37,"name":379,"path":16,"size":380,"width":381,"height":169,"sizeInBytes":382},{"id":1475,"documentId":1476,"title":1477,"slug":1478,"order":182,"lede":306,"desc":1479,"collab":77,"clientName":1480,"kind":1481,"stack":1482,"site":1483,"noSiteText":306,"task":1484,"result":1485,"createdAt":1486,"updatedAt":1487,"publishedAt":1488,"locale":11,"tags":1489,"partner":16,"formats":1499,"points":1500,"slides":1516,"cover":1590,"coverSettings":1596,"categories":1597,"services":1605,"client":1697,"taskList":1703,"done":1704,"gallery":1716,"testimonial":16,"nextProject":1724,"seo":1819},143,"g81budr6atjyj7c003mjw16y","Customer account for the Luzhniki Tennis Club","luzhniki","Court booking, 1C:Fitness integration, profile, payments and visit history.","Luzhniki Tennis Club","Customer account","Nuxt 4, TypeScript, Pinia, BFF, PostgreSQL, 1C:Fitness","https:\u002F\u002Flk.tkl.ru\u002F","\u003Cp>Build a customer account with booking of tennis and padel courts, profile management, training sessions and a personal balance.\u003C\u002Fp>\n\u003Cp>A full customer account: from training history to booking several courts at once, choosing a locker room and a coach, filtering, payments and membership.\u003C\u002Fp>","Courts are booked and paid for in the account. Customers choose the date, time, court, coach and locker room themselves, while payments and membership show real data from 1C:Fitness.","2026-10-27T11:56:45.933Z","2026-10-27T12:06:30.034Z","2026-10-27T12:06:30.043Z",[1490,1493,1496],{"id":1491,"label":1492},1118,"TKL.RF",{"id":1494,"label":1495},1119,"Sports",{"id":1497,"label":1498},1120,"1C integration",[],[1501,1504,1507,1510,1513],{"id":1502,"text":1503},1107,"Booking system",{"id":1505,"text":1506},1108,"1C:Fitness integration",{"id":1508,"text":1509},1109,"Sign-up and profile editing",{"id":1511,"text":1512},1110,"Payments",{"id":1514,"text":1515},1111,"Visit history",[1517,1551],{"id":1518,"documentId":1519,"name":1520,"alternativeText":1521,"caption":16,"focalPoint":16,"width":426,"height":427,"formats":1522,"hash":1547,"ext":430,"mime":433,"size":1548,"url":1549,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1550,"updatedAt":1550,"publishedAt":1550},96,"mrssc8gaw5p1jmvqnoer1y3s","luzhniki-laptop.webp","Личный кабинет «Теннисного Клуба Лужники»",{"large":1523,"small":1529,"medium":1535,"thumbnail":1541},{"ext":430,"url":1524,"hash":1525,"mime":433,"name":1526,"path":16,"size":1527,"width":40,"height":436,"sizeInBytes":1528},"\u002Fuploads\u002Flarge_luzhniki_laptop_64b9d6396d.webp","large_luzhniki_laptop_64b9d6396d","large_luzhniki-laptop.webp",22.94,22942,{"ext":430,"url":1530,"hash":1531,"mime":433,"name":1532,"path":16,"size":1533,"width":48,"height":443,"sizeInBytes":1534},"\u002Fuploads\u002Fsmall_luzhniki_laptop_64b9d6396d.webp","small_luzhniki_laptop_64b9d6396d","small_luzhniki-laptop.webp",9.37,9372,{"ext":430,"url":1536,"hash":1537,"mime":433,"name":1538,"path":16,"size":1539,"width":56,"height":450,"sizeInBytes":1540},"\u002Fuploads\u002Fmedium_luzhniki_laptop_64b9d6396d.webp","medium_luzhniki_laptop_64b9d6396d","medium_luzhniki-laptop.webp",16.12,16124,{"ext":430,"url":1542,"hash":1543,"mime":433,"name":1544,"path":16,"size":1545,"width":64,"height":457,"sizeInBytes":1546},"\u002Fuploads\u002Fthumbnail_luzhniki_laptop_64b9d6396d.webp","thumbnail_luzhniki_laptop_64b9d6396d","thumbnail_luzhniki-laptop.webp",3.99,3988,"luzhniki_laptop_64b9d6396d",42.37,"\u002Fuploads\u002Fluzhniki_laptop_64b9d6396d.webp","2026-10-26T22:31:58.229Z",{"id":1552,"documentId":1553,"name":1554,"alternativeText":1521,"caption":16,"focalPoint":16,"width":1555,"height":1556,"formats":1557,"hash":1586,"ext":430,"mime":433,"size":1587,"url":1588,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1589,"updatedAt":1589,"publishedAt":1589},100,"rwafok0cke6f44570471ll5t","luzhniki-booking.webp",2000,987,{"large":1558,"small":1565,"medium":1572,"thumbnail":1579},{"ext":430,"url":1559,"hash":1560,"mime":433,"name":1561,"path":16,"size":1562,"width":40,"height":1563,"sizeInBytes":1564},"\u002Fuploads\u002Flarge_luzhniki_booking_e64bdfa8c7.webp","large_luzhniki_booking_e64bdfa8c7","large_luzhniki-booking.webp",20.14,494,20140,{"ext":430,"url":1566,"hash":1567,"mime":433,"name":1568,"path":16,"size":1569,"width":48,"height":1570,"sizeInBytes":1571},"\u002Fuploads\u002Fsmall_luzhniki_booking_e64bdfa8c7.webp","small_luzhniki_booking_e64bdfa8c7","small_luzhniki-booking.webp",7.15,247,7148,{"ext":430,"url":1573,"hash":1574,"mime":433,"name":1575,"path":16,"size":1576,"width":56,"height":1577,"sizeInBytes":1578},"\u002Fuploads\u002Fmedium_luzhniki_booking_e64bdfa8c7.webp","medium_luzhniki_booking_e64bdfa8c7","medium_luzhniki-booking.webp",13.38,370,13382,{"ext":430,"url":1580,"hash":1581,"mime":433,"name":1582,"path":16,"size":1583,"width":64,"height":1584,"sizeInBytes":1585},"\u002Fuploads\u002Fthumbnail_luzhniki_booking_e64bdfa8c7.webp","thumbnail_luzhniki_booking_e64bdfa8c7","thumbnail_luzhniki-booking.webp",2.63,121,2634,"luzhniki_booking_e64bdfa8c7",49.63,"\u002Fuploads\u002Fluzhniki_booking_e64bdfa8c7.webp","2026-10-26T22:31:58.477Z",{"id":1518,"documentId":1519,"name":1520,"alternativeText":1521,"caption":16,"focalPoint":16,"width":426,"height":427,"formats":1591,"hash":1547,"ext":430,"mime":433,"size":1548,"url":1549,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1550,"updatedAt":1550,"publishedAt":1550},{"large":1592,"small":1593,"medium":1594,"thumbnail":1595},{"ext":430,"url":1524,"hash":1525,"mime":433,"name":1526,"path":16,"size":1527,"width":40,"height":436,"sizeInBytes":1528},{"ext":430,"url":1530,"hash":1531,"mime":433,"name":1532,"path":16,"size":1533,"width":48,"height":443,"sizeInBytes":1534},{"ext":430,"url":1536,"hash":1537,"mime":433,"name":1538,"path":16,"size":1539,"width":56,"height":450,"sizeInBytes":1540},{"ext":430,"url":1542,"hash":1543,"mime":433,"name":1544,"path":16,"size":1545,"width":64,"height":457,"sizeInBytes":1546},{"id":1475,"ratio":306,"position":466,"scale":215},[1598],{"id":184,"documentId":1599,"label":1600,"slug":1601,"order":182,"createdAt":1602,"updatedAt":1603,"publishedAt":1604,"locale":11},"tanodytymqmx8fmdfitrupv8","Accounts and CRM","crm","2026-10-27T11:54:45.703Z","2026-10-27T12:06:29.151Z","2026-10-27T12:06:29.154Z",[1606,1664],{"id":202,"documentId":203,"title":204,"slug":205,"num":206,"order":182,"text":207,"ctaLabel":208,"includes":1607,"isLinked":77,"createdAt":1608,"updatedAt":1609,"publishedAt":1610,"locale":11,"blocks":1611,"seo":1661},"[Scope of the service: which tasks we solve and what the work includes]","2026-10-27T11:56:46.917Z","2026-10-29T09:22:30.812Z","2026-10-29T09:22:30.831Z",[1612,1616,1621,1654],{"id":1613,"heading":1614,"body":1607,"__component":1615},88,"What's included","blocks.includes",{"id":1089,"heading":1617,"projects":1618,"__component":1620},"Cases",[1619],{"id":1475,"documentId":1476,"title":1477,"slug":1478,"order":182,"lede":306,"desc":1479,"collab":77,"clientName":1480,"kind":1481,"stack":1482,"site":1483,"noSiteText":306,"task":1484,"result":1485,"createdAt":1486,"updatedAt":1487,"publishedAt":1488,"locale":11},"blocks.projects-cards",{"id":296,"heading":88,"lead":1622,"principlesHeading":1623,"steps":1624,"principles":1641,"__component":1653},"We were doing custom development long before neural networks, and the process took shape back then. AI helps us ship and maintain the product faster. Stability and security are still on us.","You always know what is going on",[1625,1629,1633,1637],{"id":1626,"num":206,"title":1627,"text":1628},567,"Brief and estimate","We discuss the task and estimate it. Then we write a specification: features, technical decisions, roles, rules and edge cases. We develop against it (SDD) and accept the result against it too.",{"id":1630,"num":213,"title":1631,"text":1632},568,"Clickable prototype","We build a prototype from your design or with neural networks. The scenarios can be walked through by hand before the main development starts: see the screens and flows, drop what is not needed and refine the requirements.",{"id":1634,"num":222,"title":1635,"text":1636},569,"Development and integration","After the prototype demo we refine the specification. Routine code is written with Codex and Claude Code: faster and cheaper, and every change is checked by a developer in code review. We connect the product to your systems: CRM, payments and others. The stage result is open in the demo environment.",{"id":1638,"num":230,"title":1639,"text":1640},570,"Testing and release","Once the functionality is ready, we cover it with tests and prepare the launch on a staging environment: a copy of the production environment where the product is checked in real conditions. After the final testing we move it to production and set up monitoring.",[1642,1645,1649],{"id":57,"title":1643,"text":1644},"Reports","Every 1–2 weeks we send a report: what was done, what we take on next and where an overrun is possible. You learn about extra costs in advance, not after the fact.",{"id":1646,"title":1647,"text":1648},395,"Demo link","The current version of the product is always open at a link. Come in at any moment, try everything and show it to colleagues.",{"id":1650,"title":1651,"text":1652},396,"Direct line to the team","A shared chat with the developers, no chain of managers. Questions are answered by the people who write the code, and nothing gets lost in retelling.","blocks.how",{"id":296,"heading":1655,"cta":1656,"__component":1660},"F.A.Q",{"id":1657,"label":1658,"href":97,"kind":1659,"strong":77,"external":77},538,"Ask your question","btn-d","blocks.faq",{"id":1662,"metaTitle":1663,"metaDescription":207,"canonical":16,"noIndex":77,"ogImage":16},316,"Customer accounts and portals — Spot",{"id":234,"documentId":235,"title":236,"slug":237,"num":238,"order":195,"text":239,"ctaLabel":208,"includes":1607,"isLinked":77,"createdAt":1665,"updatedAt":1666,"publishedAt":1667,"locale":11,"blocks":1668,"seo":1694},"2026-10-27T11:56:47.200Z","2026-10-29T09:22:31.030Z","2026-10-29T09:22:31.048Z",[1669,1670,1674,1690],{"id":422,"heading":1614,"body":1607,"__component":1615},{"id":1200,"heading":1617,"projects":1671,"__component":1620},[1672,1673],{"id":1475,"documentId":1476,"title":1477,"slug":1478,"order":182,"lede":306,"desc":1479,"collab":77,"clientName":1480,"kind":1481,"stack":1482,"site":1483,"noSiteText":306,"task":1484,"result":1485,"createdAt":1486,"updatedAt":1487,"publishedAt":1488,"locale":11},{"id":478,"documentId":479,"title":480,"slug":481,"order":224,"lede":482,"desc":482,"collab":77,"clientName":483,"kind":484,"stack":485,"site":486,"noSiteText":306,"task":487,"result":488,"createdAt":489,"updatedAt":490,"publishedAt":491,"locale":11},{"id":17,"heading":88,"lead":1622,"principlesHeading":1623,"steps":1675,"principles":1683,"__component":1653},[1676,1678,1680,1682],{"id":1677,"num":206,"title":1627,"text":1628},491,{"id":1679,"num":213,"title":1631,"text":1632},492,{"id":1681,"num":222,"title":1635,"text":1636},493,{"id":1563,"num":230,"title":1639,"text":1640},[1684,1686,1688],{"id":1685,"title":1643,"text":1644},346,{"id":1687,"title":1647,"text":1648},347,{"id":1689,"title":1651,"text":1652},348,{"id":1691,"heading":1655,"cta":1692,"__component":1660},112,{"id":1693,"label":1658,"href":97,"kind":1659,"strong":77,"external":77},518,{"id":1695,"metaTitle":1696,"metaDescription":239,"canonical":16,"noIndex":77,"ogImage":16},296,"Service integrations — Spot",{"id":1698,"documentId":1699,"name":1480,"order":967,"showInMarquee":113,"createdAt":1700,"updatedAt":1701,"publishedAt":1702,"locale":11,"logo":16},182,"n0elolio4gvxc94xuq2sm2xn","2026-10-27T11:54:45.799Z","2026-10-27T12:06:29.307Z","2026-10-27T12:06:29.310Z",[],[1705,1707,1709,1711,1714],{"id":1706,"text":1503},1112,{"id":1708,"text":1506},1113,{"id":1710,"text":1509},1114,{"id":1712,"text":1713},1115,"Payments and membership",{"id":1715,"text":1515},1116,[1717],{"id":241,"caption":306,"image":1718},{"id":1552,"documentId":1553,"name":1554,"alternativeText":1521,"caption":16,"focalPoint":16,"width":1555,"height":1556,"formats":1719,"hash":1586,"ext":430,"mime":433,"size":1587,"url":1588,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1589,"updatedAt":1589,"publishedAt":1589},{"large":1720,"small":1721,"medium":1722,"thumbnail":1723},{"ext":430,"url":1559,"hash":1560,"mime":433,"name":1561,"path":16,"size":1562,"width":40,"height":1563,"sizeInBytes":1564},{"ext":430,"url":1566,"hash":1567,"mime":433,"name":1568,"path":16,"size":1569,"width":48,"height":1570,"sizeInBytes":1571},{"ext":430,"url":1573,"hash":1574,"mime":433,"name":1575,"path":16,"size":1576,"width":56,"height":1577,"sizeInBytes":1578},{"ext":430,"url":1580,"hash":1581,"mime":433,"name":1582,"path":16,"size":1583,"width":64,"height":1584,"sizeInBytes":1585},{"id":1725,"documentId":1726,"title":1727,"slug":1728,"order":215,"lede":1729,"desc":1729,"collab":77,"clientName":1730,"kind":1731,"stack":1732,"site":306,"noSiteText":1733,"task":1734,"result":306,"createdAt":1735,"updatedAt":1736,"publishedAt":1737,"locale":11,"tags":1738,"formats":1745,"points":1746,"slides":1756,"cover":1790,"coverSettings":1796,"taskList":1797,"done":1798,"gallery":1814,"seo":1815},151,"jzhsxo67cxtotrobtcmid5rg","Three years developing the CRM of the Virtuozy music school chain","virtuozy","Every branch got a reactive real-time schedule and a set of useful business management modules.","Virtuozy music school chain","CRM system","Vue.js, Pinia, PrimeVue, PHP, Socket.IO","Internal system","\u003Cp>Optimise the schedule and take the load off the administrators of the school chain: lessons, substitutions and reschedules must update in every branch at once, without calls and manual reconciliation.\u003C\u002Fp>\n\u003Cp>Deliver real-time and fill the system with business management modules: students, teachers, payments and reporting in one CRM.\u003C\u002Fp>","2026-10-27T11:56:45.992Z","2026-10-28T01:53:58.401Z","2026-10-28T01:53:58.485Z",[1739,1742],{"id":1740,"label":1741},1141,"Virtuozy",{"id":1743,"label":1744},1142,"Education",[],[1747,1750,1753],{"id":1748,"text":1749},1174,"Frontend stack migration to Vue.js",{"id":1751,"text":1752},1175,"Modular system introduced",{"id":1754,"text":1755},1176,"Reactive forms, recurring lessons",[1757],{"id":1758,"documentId":1759,"name":1760,"alternativeText":1761,"caption":16,"focalPoint":16,"width":426,"height":427,"formats":1762,"hash":1786,"ext":430,"mime":433,"size":1787,"url":1788,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1789,"updatedAt":1789,"publishedAt":1789},97,"oepj2jygdk1n4z0b7wxud8tm","virtuozy-laptop.webp","3 года развиваем CRM сети музыкальных школ «Виртуозы»",{"large":1763,"small":1769,"medium":1775,"thumbnail":1781},{"ext":430,"url":1764,"hash":1765,"mime":433,"name":1766,"path":16,"size":1767,"width":40,"height":436,"sizeInBytes":1768},"\u002Fuploads\u002Flarge_virtuozy_laptop_ceee7f8cbb.webp","large_virtuozy_laptop_ceee7f8cbb","large_virtuozy-laptop.webp",32.99,32994,{"ext":430,"url":1770,"hash":1771,"mime":433,"name":1772,"path":16,"size":1773,"width":48,"height":443,"sizeInBytes":1774},"\u002Fuploads\u002Fsmall_virtuozy_laptop_ceee7f8cbb.webp","small_virtuozy_laptop_ceee7f8cbb","small_virtuozy-laptop.webp",13.39,13394,{"ext":430,"url":1776,"hash":1777,"mime":433,"name":1778,"path":16,"size":1779,"width":56,"height":450,"sizeInBytes":1780},"\u002Fuploads\u002Fmedium_virtuozy_laptop_ceee7f8cbb.webp","medium_virtuozy_laptop_ceee7f8cbb","medium_virtuozy-laptop.webp",23.22,23220,{"ext":430,"url":1782,"hash":1783,"mime":433,"name":1784,"path":16,"size":537,"width":64,"height":457,"sizeInBytes":1785},"\u002Fuploads\u002Fthumbnail_virtuozy_laptop_ceee7f8cbb.webp","thumbnail_virtuozy_laptop_ceee7f8cbb","thumbnail_virtuozy-laptop.webp",5212,"virtuozy_laptop_ceee7f8cbb",66.57,"\u002Fuploads\u002Fvirtuozy_laptop_ceee7f8cbb.webp","2026-10-26T22:31:58.739Z",{"id":1758,"documentId":1759,"name":1760,"alternativeText":1761,"caption":16,"focalPoint":16,"width":426,"height":427,"formats":1791,"hash":1786,"ext":430,"mime":433,"size":1787,"url":1788,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1789,"updatedAt":1789,"publishedAt":1789},{"large":1792,"small":1793,"medium":1794,"thumbnail":1795},{"ext":430,"url":1764,"hash":1765,"mime":433,"name":1766,"path":16,"size":1767,"width":40,"height":436,"sizeInBytes":1768},{"ext":430,"url":1770,"hash":1771,"mime":433,"name":1772,"path":16,"size":1773,"width":48,"height":443,"sizeInBytes":1774},{"ext":430,"url":1776,"hash":1777,"mime":433,"name":1778,"path":16,"size":1779,"width":56,"height":450,"sizeInBytes":1780},{"ext":430,"url":1782,"hash":1783,"mime":433,"name":1784,"path":16,"size":537,"width":64,"height":457,"sizeInBytes":1785},{"id":1725,"ratio":306,"position":466,"scale":215},[],[1799,1801,1804,1807,1809,1812],{"id":1800,"text":1749},1177,{"id":1802,"text":1803},1178,"Real-time schedule in every branch on Socket.IO",{"id":1805,"text":1806},1179,"Substitutions and reschedules without manual reconciliation",{"id":1808,"text":1752},1180,{"id":1810,"text":1811},1181,"Student, teacher, payment and reporting modules",{"id":1813,"text":1755},1182,[],{"id":1816,"metaTitle":1817,"metaDescription":1818,"canonical":16,"noIndex":77,"ogImage":16},272,"CRM development for a music school chain on Vue.js","3 years of developing the Virtuozy CRM: real-time schedule on Socket.IO, students, payments and reporting for every branch.",{"id":1820,"metaTitle":1821,"metaDescription":1822,"canonical":16,"noIndex":77,"ogImage":16},264,"Tennis club customer account with court booking and 1C:Fitness integration","A customer account for Luzhniki Tennis Club on Nuxt 4: court booking, payment, membership, coaches. Data synced with 1C:Fitness.",{"id":1208,"metaTitle":1209,"metaDescription":1210,"canonical":16,"noIndex":77,"ogImage":16}]