[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"global":3,"services:en":200,"technology-names:en":248,"project:vetersport:en":296},{"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},5,"pdvc9bpy99219el368k0axyu","Spot","https:\u002F\u002Fwespot.ru","2026-10-27T11:56:47.515Z","2026-10-28T01:53:56.708Z","2026-10-28T01:53:56.790Z","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},28,"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},29,"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},174,"Services","\u002Fservices","text",false,{"id":79,"label":80,"href":81,"kind":76,"strong":77,"external":77},175,"Projects","\u002Fcases",{"id":83,"label":84,"href":85,"kind":76,"strong":77,"external":77},176,"Expertise","\u002F#expertise",{"id":87,"label":88,"href":89,"kind":76,"strong":77,"external":77},177,"How we work","\u002F#how",{"id":91,"label":92,"href":93,"kind":76,"strong":77,"external":77},178,"Contacts","#contact",{"id":95,"label":96,"href":97,"kind":98,"strong":77,"external":77},179,"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},180,[105,109],{"id":106,"label":107,"href":108,"kind":76,"strong":77,"external":77},181,"push@wespot.ru","mailto:push@wespot.ru",{"id":110,"label":111,"href":112,"kind":76,"strong":77,"external":113},182,"@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},183,"Privacy policy","\u002Fprivacy",{"id":122,"label":123,"href":124,"kind":76,"strong":77,"external":77},184,"Terms of use","\u002Fterms",{"id":126,"label":127,"href":128,"kind":76,"strong":113,"external":113},185,"Habr","https:\u002F\u002Fhabr.com\u002Fru\u002Fusers\u002Fkhudyakv\u002Farticles\u002F",{"id":130,"label":131,"href":132,"kind":76,"strong":113,"external":113},186,"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},6,"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},187,{"id":142,"label":143,"href":132,"kind":76,"strong":77,"external":113},188,"Read on Telegram",{"id":145,"label":146,"href":128,"kind":76,"strong":77,"external":113},189,"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},9,"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},30,"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},13,"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},14,"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},15,"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,218,226,234,241],{"id":202,"documentId":203,"title":204,"slug":205,"num":206,"text":207,"isLinked":77,"order":182,"ctaLabel":208},36,"xom9f9b8uov8k5jzse6cawd0","Customer accounts and portals","lk","01","Accounts for customers, partners and employees: orders, payments, requests, history and access roles.","Discuss the task",{"id":210,"documentId":211,"title":212,"slug":213,"num":214,"text":215,"isLinked":77,"order":216,"ctaLabel":217},35,"tumsah9k2m6m0sewkabpw61e","Corporate systems","corporate","02","CRM, ERP and internal systems. Customers, finances, requests and access in one place.",1,"Discuss a system",{"id":219,"documentId":220,"title":221,"slug":222,"num":223,"text":224,"isLinked":77,"order":225,"ctaLabel":208},37,"zunn9dms6ad8texoqw6y3tdr","Mini Apps and web services","mini-apps","03","Mini Apps, chatbots and web services that automate individual business processes.",2,{"id":227,"documentId":228,"title":229,"slug":230,"num":231,"text":232,"isLinked":77,"order":233,"ctaLabel":208},38,"jhuw9zs2spni1yu9a682x04h","Special projects and complex interfaces","special","04","Web games, configurators and calculators. Built for Alfa-Bank, Raiffeisen Life and SPLAT.",3,{"id":235,"documentId":236,"title":237,"slug":238,"num":239,"text":240,"isLinked":77,"order":195,"ctaLabel":208},39,"ckrj708ld8bs46wv7klunsjo","Service integrations","integrations","05","Data exchange with 1C, CRM, YooKassa, Stripe, delivery services and SMS gateways.",{"id":242,"documentId":243,"title":244,"slug":245,"num":246,"text":247,"isLinked":77,"order":4,"ctaLabel":208},40,"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.",[249,253,257,260,264,268,272,276,280,284,288,292],{"id":250,"documentId":251,"name":252},169,"p8vqp4j7u4d5hczr7szvpixb","Vue",{"id":254,"documentId":255,"name":256},128,"cz2o7v44o0aco9e5ug991orw","React",{"id":65,"documentId":258,"name":259},"xlc3e2f0g2e8d21dtz56fhqq","Nuxt",{"id":261,"documentId":262,"name":263},130,"tn8tizd5lz1g7lobpen0g8jp","Next.js",{"id":265,"documentId":266,"name":267},131,"j4b9wdar97fh6a7n4np1ol1b","TypeScript",{"id":269,"documentId":270,"name":271},132,"y119214qgyryif676kl65vzm","Vite",{"id":273,"documentId":274,"name":275},133,"h32yowozezgx7shnoavwhdhr","Sass",{"id":277,"documentId":278,"name":279},134,"nptn5i4h1260f2i8vsf05xm8","Pinia",{"id":281,"documentId":282,"name":283},135,"deb59z0fojzpks7jg8zqhy9x","GSAP",{"id":285,"documentId":286,"name":287},136,"ipa2daxz0h944wz1bpkhaphz","Canvas",{"id":289,"documentId":290,"name":291},137,"rzotygp0g2fxn3ynxnucq3jp","Anime.js",{"id":293,"documentId":294,"name":295},138,"hd8evrxia67rvyuvmv0tij7o","Figma",{"id":297,"documentId":298,"title":299,"slug":300,"order":225,"lede":301,"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":320,"points":321,"slides":328,"cover":369,"coverSettings":375,"categories":377,"services":941,"client":1316,"taskList":1356,"done":1357,"gallery":1363,"testimonial":16,"nextProject":1364,"seo":1749},54,"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",[313,315,317],{"id":314,"label":302},489,{"id":316,"label":303},490,{"id":318,"label":319},491,"Retail",[],[322,325],{"id":323,"text":324},413,"Connected an address and data suggestion service for forms",{"id":326,"text":327},414,"Moved file uploads to S3 cloud storage",[329],{"id":177,"documentId":330,"name":331,"alternativeText":332,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":335,"hash":365,"ext":337,"mime":340,"size":366,"url":367,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":368,"updatedAt":368,"publishedAt":368},"fgctemnasxypnn1xc1g8hxy8","vetersport-laptop.webp","Расширили функционал интернет-магазина производителя Ветерспорт",1536,864,{"large":336,"small":345,"medium":352,"thumbnail":359},{"ext":337,"url":338,"hash":339,"mime":340,"name":341,"path":16,"size":342,"width":40,"height":343,"sizeInBytes":344},".webp","\u002Fuploads\u002Flarge_vetersport_laptop_0a3b6dc2cd.webp","large_vetersport_laptop_0a3b6dc2cd","image\u002Fwebp","large_vetersport-laptop.webp",27.51,562,27514,{"ext":337,"url":346,"hash":347,"mime":340,"name":348,"path":16,"size":349,"width":48,"height":350,"sizeInBytes":351},"\u002Fuploads\u002Fsmall_vetersport_laptop_0a3b6dc2cd.webp","small_vetersport_laptop_0a3b6dc2cd","small_vetersport-laptop.webp",12.07,281,12072,{"ext":337,"url":353,"hash":354,"mime":340,"name":355,"path":16,"size":356,"width":56,"height":357,"sizeInBytes":358},"\u002Fuploads\u002Fmedium_vetersport_laptop_0a3b6dc2cd.webp","medium_vetersport_laptop_0a3b6dc2cd","medium_vetersport-laptop.webp",19.85,422,19848,{"ext":337,"url":360,"hash":361,"mime":340,"name":362,"path":16,"size":363,"width":64,"height":293,"sizeInBytes":364},"\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":177,"documentId":330,"name":331,"alternativeText":332,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":370,"hash":365,"ext":337,"mime":340,"size":366,"url":367,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":368,"updatedAt":368,"publishedAt":368},{"large":371,"small":372,"medium":373,"thumbnail":374},{"ext":337,"url":338,"hash":339,"mime":340,"name":341,"path":16,"size":342,"width":40,"height":343,"sizeInBytes":344},{"ext":337,"url":346,"hash":347,"mime":340,"name":348,"path":16,"size":349,"width":48,"height":350,"sizeInBytes":351},{"ext":337,"url":353,"hash":354,"mime":340,"name":355,"path":16,"size":356,"width":56,"height":357,"sizeInBytes":358},{"ext":337,"url":360,"hash":361,"mime":340,"name":362,"path":16,"size":363,"width":64,"height":293,"sizeInBytes":364},{"id":297,"ratio":306,"position":376,"scale":216},"50% 50%",[378],{"id":184,"documentId":379,"label":380,"slug":381,"order":216,"createdAt":382,"updatedAt":383,"publishedAt":384,"locale":11,"projects":385},"lko2vn42mhotyi1l1swd5gxi","Websites and stores","sites","2026-10-27T11:54:45.708Z","2026-10-27T12:06:29.158Z","2026-10-27T12:06:29.160Z",[386,431,547,659,765,863],{"id":297,"documentId":298,"title":299,"slug":300,"order":225,"lede":301,"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":387,"formats":391,"points":392,"slides":395,"cover":402,"coverSettings":408,"taskList":409,"done":410,"gallery":426,"seo":427},[388,389,390],{"id":314,"label":302},{"id":316,"label":303},{"id":318,"label":319},[],[393,394],{"id":323,"text":324},{"id":326,"text":327},[396],{"id":177,"documentId":330,"name":331,"alternativeText":332,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":397,"hash":365,"ext":337,"mime":340,"size":366,"url":367,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":368,"updatedAt":368,"publishedAt":368},{"large":398,"small":399,"medium":400,"thumbnail":401},{"ext":337,"url":338,"hash":339,"mime":340,"name":341,"path":16,"size":342,"width":40,"height":343,"sizeInBytes":344},{"ext":337,"url":346,"hash":347,"mime":340,"name":348,"path":16,"size":349,"width":48,"height":350,"sizeInBytes":351},{"ext":337,"url":353,"hash":354,"mime":340,"name":355,"path":16,"size":356,"width":56,"height":357,"sizeInBytes":358},{"ext":337,"url":360,"hash":361,"mime":340,"name":362,"path":16,"size":363,"width":64,"height":293,"sizeInBytes":364},{"id":177,"documentId":330,"name":331,"alternativeText":332,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":403,"hash":365,"ext":337,"mime":340,"size":366,"url":367,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":368,"updatedAt":368,"publishedAt":368},{"large":404,"small":405,"medium":406,"thumbnail":407},{"ext":337,"url":338,"hash":339,"mime":340,"name":341,"path":16,"size":342,"width":40,"height":343,"sizeInBytes":344},{"ext":337,"url":346,"hash":347,"mime":340,"name":348,"path":16,"size":349,"width":48,"height":350,"sizeInBytes":351},{"ext":337,"url":353,"hash":354,"mime":340,"name":355,"path":16,"size":356,"width":56,"height":357,"sizeInBytes":358},{"ext":337,"url":360,"hash":361,"mime":340,"name":362,"path":16,"size":363,"width":64,"height":293,"sizeInBytes":364},{"id":297,"ratio":306,"position":376,"scale":216},[],[411,414,417,420,423],{"id":412,"text":413},415,"Product bundles with a set discount",{"id":415,"text":416},416,"Address and data suggestions in forms",{"id":418,"text":419},417,"File uploads moved to S3 with CDN delivery",{"id":421,"text":422},418,"Server optimisation and caching",{"id":424,"text":425},419,"Monitoring and failure alerts",[],{"id":428,"metaTitle":429,"metaDescription":430,"canonical":16,"noIndex":77,"ogImage":16},121,"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":432,"documentId":433,"title":434,"slug":435,"order":4,"lede":436,"desc":436,"collab":113,"clientName":437,"kind":438,"stack":439,"site":306,"noSiteText":440,"task":441,"result":442,"createdAt":443,"updatedAt":444,"publishedAt":445,"locale":11,"tags":446,"formats":452,"points":465,"slides":475,"cover":515,"coverSettings":521,"taskList":522,"done":523,"gallery":542,"seo":543},44,"mdr5m390jta7okrng52xusvy","A quiz that recommends the Alfa card","atlas","A web quiz game with card-swipe mechanics that unlocks locations as you progress.","Alfa-Bank","Web game in a WebView","Vue.js, Pinia, CSS3 Animation, Laravel (PHP), Zabbix","Inside the bank's app","\u003Cp>Build a game around geographic locations: the player answers a series of questions about one of them, and a successful session unlocks a new location the next day. Track key events and player behaviour to improve the game experience.\u003C\u002Fp>","The game runs inside the bank's app: the swipe quiz brings players back every day for a new location, and key event analytics shows where the problems are and whether customers reach the card recommendation.","2026-10-27T11:56:46.202Z","2026-10-27T12:27:43.517Z","2026-10-27T12:27:43.532Z",[447,448,450],{"id":140,"label":437},{"id":142,"label":449},"“Atlas”",{"id":145,"label":451},"Fintech",[453,456,459,462],{"id":454,"label":455},190,"Interactive special project",{"id":457,"label":458},191,"Mini game",{"id":460,"label":461},192,"QA",{"id":463,"label":464},193,"DevOps",[466,469,472],{"id":467,"text":468},331,"Questions about geographic locations, answered with a swipe",{"id":470,"text":471},332,"A new location unlocks the day after a successful session",{"id":473,"text":474},333,"Behaviour and key event analytics",[476],{"id":477,"documentId":478,"name":479,"alternativeText":480,"caption":16,"focalPoint":16,"width":481,"height":482,"formats":483,"hash":511,"ext":34,"mime":37,"size":512,"url":513,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":514,"updatedAt":514,"publishedAt":514},19,"r9g8z3qtrbtt8g088945ng5m","alfa-atlas.jpg","Квиз для рекомендаций Альфа-карты",1024,537,{"large":484,"small":491,"medium":498,"thumbnail":505},{"ext":34,"url":485,"hash":486,"mime":37,"name":487,"path":16,"size":488,"width":40,"height":489,"sizeInBytes":490},"\u002Fuploads\u002Flarge_alfa_atlas_ddebcb2aae.jpg","large_alfa_atlas_ddebcb2aae","large_alfa-atlas.jpg",64.51,524,64513,{"ext":34,"url":492,"hash":493,"mime":37,"name":494,"path":16,"size":495,"width":48,"height":496,"sizeInBytes":497},"\u002Fuploads\u002Fsmall_alfa_atlas_ddebcb2aae.jpg","small_alfa_atlas_ddebcb2aae","small_alfa-atlas.jpg",21.24,262,21237,{"ext":34,"url":499,"hash":500,"mime":37,"name":501,"path":16,"size":502,"width":56,"height":503,"sizeInBytes":504},"\u002Fuploads\u002Fmedium_alfa_atlas_ddebcb2aae.jpg","medium_alfa_atlas_ddebcb2aae","medium_alfa-atlas.jpg",39.63,393,39627,{"ext":34,"url":506,"hash":507,"mime":37,"name":508,"path":16,"size":509,"width":64,"height":254,"sizeInBytes":510},"\u002Fuploads\u002Fthumbnail_alfa_atlas_ddebcb2aae.jpg","thumbnail_alfa_atlas_ddebcb2aae","thumbnail_alfa-atlas.jpg",6.97,6969,"alfa_atlas_ddebcb2aae",67.37,"\u002Fuploads\u002Falfa_atlas_ddebcb2aae.jpg","2026-10-26T22:31:59.898Z",{"id":477,"documentId":478,"name":479,"alternativeText":480,"caption":16,"focalPoint":16,"width":481,"height":482,"formats":516,"hash":511,"ext":34,"mime":37,"size":512,"url":513,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":514,"updatedAt":514,"publishedAt":514},{"large":517,"small":518,"medium":519,"thumbnail":520},{"ext":34,"url":485,"hash":486,"mime":37,"name":487,"path":16,"size":488,"width":40,"height":489,"sizeInBytes":490},{"ext":34,"url":492,"hash":493,"mime":37,"name":494,"path":16,"size":495,"width":48,"height":496,"sizeInBytes":497},{"ext":34,"url":499,"hash":500,"mime":37,"name":501,"path":16,"size":502,"width":56,"height":503,"sizeInBytes":504},{"ext":34,"url":506,"hash":507,"mime":37,"name":508,"path":16,"size":509,"width":64,"height":254,"sizeInBytes":510},{"id":432,"ratio":306,"position":376,"scale":216},[],[524,527,530,533,536,539],{"id":525,"text":526},334,"Reactive frontend",{"id":528,"text":529},335,"Card swipe animation",{"id":531,"text":532},336,"Prize delivery system",{"id":534,"text":535},337,"Extended device support",{"id":537,"text":538},338,"Game session analytics",{"id":540,"text":541},339,"Managed content",[],{"id":544,"metaTitle":545,"metaDescription":546,"canonical":16,"noIndex":77,"ogImage":16},56,"A quiz game for a bank in a WebView: development on Vue.js and Laravel","The “Atlas” game for Alfa-Bank: a swipe quiz across locations, daily player returns, key event analytics.",{"id":548,"documentId":549,"title":550,"slug":551,"order":134,"lede":552,"desc":552,"collab":113,"clientName":553,"kind":554,"stack":555,"site":556,"noSiteText":306,"task":557,"result":558,"createdAt":559,"updatedAt":560,"publishedAt":561,"locale":11,"tags":562,"formats":571,"points":583,"slides":590,"cover":627,"coverSettings":633,"taskList":634,"done":635,"gallery":654,"seo":655},55,"tq1mf6bpc2x9nk1gfgzkdzh6","Creative frontend for the Heritage art gallery","heritage","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",[563,565,568],{"id":564,"label":553},492,{"id":566,"label":567},493,"Art gallery",{"id":569,"label":570},494,"Culture",[572,575,578,580],{"id":573,"label":574},495,"Commercial development",{"id":576,"label":577},496,"Showcase website",{"id":579,"label":461},497,{"id":581,"label":582},498,"Development",[584,587],{"id":585,"text":586},426,"22 functional pages",{"id":588,"text":589},427,"Catalogue with a filter and a cart",[591],{"id":592,"documentId":593,"name":594,"alternativeText":595,"caption":16,"focalPoint":16,"width":596,"height":597,"formats":598,"hash":623,"ext":34,"mime":37,"size":624,"url":625,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":626,"updatedAt":626,"publishedAt":626},20,"bcrmlyyf9imr22aox6kntczr","heritage-gallery.jpg","Креативный фронтенд для арт-галереи Эритаж",1490,782,{"large":599,"small":605,"medium":611,"thumbnail":617},{"ext":34,"url":600,"hash":601,"mime":37,"name":602,"path":16,"size":603,"width":40,"height":41,"sizeInBytes":604},"\u002Fuploads\u002Flarge_heritage_gallery_29a47e9a87.jpg","large_heritage_gallery_29a47e9a87","large_heritage-gallery.jpg",48.83,48827,{"ext":34,"url":606,"hash":607,"mime":37,"name":608,"path":16,"size":609,"width":48,"height":496,"sizeInBytes":610},"\u002Fuploads\u002Fsmall_heritage_gallery_29a47e9a87.jpg","small_heritage_gallery_29a47e9a87","small_heritage-gallery.jpg",18.56,18563,{"ext":34,"url":612,"hash":613,"mime":37,"name":614,"path":16,"size":615,"width":56,"height":57,"sizeInBytes":616},"\u002Fuploads\u002Fmedium_heritage_gallery_29a47e9a87.jpg","medium_heritage_gallery_29a47e9a87","medium_heritage-gallery.jpg",32.86,32860,{"ext":34,"url":618,"hash":619,"mime":37,"name":620,"path":16,"size":621,"width":64,"height":254,"sizeInBytes":622},"\u002Fuploads\u002Fthumbnail_heritage_gallery_29a47e9a87.jpg","thumbnail_heritage_gallery_29a47e9a87","thumbnail_heritage-gallery.jpg",6.88,6884,"heritage_gallery_29a47e9a87",85.89,"\u002Fuploads\u002Fheritage_gallery_29a47e9a87.jpg","2026-10-26T22:31:59.999Z",{"id":592,"documentId":593,"name":594,"alternativeText":595,"caption":16,"focalPoint":16,"width":596,"height":597,"formats":628,"hash":623,"ext":34,"mime":37,"size":624,"url":625,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":626,"updatedAt":626,"publishedAt":626},{"large":629,"small":630,"medium":631,"thumbnail":632},{"ext":34,"url":600,"hash":601,"mime":37,"name":602,"path":16,"size":603,"width":40,"height":41,"sizeInBytes":604},{"ext":34,"url":606,"hash":607,"mime":37,"name":608,"path":16,"size":609,"width":48,"height":496,"sizeInBytes":610},{"ext":34,"url":612,"hash":613,"mime":37,"name":614,"path":16,"size":615,"width":56,"height":57,"sizeInBytes":616},{"ext":34,"url":618,"hash":619,"mime":37,"name":620,"path":16,"size":621,"width":64,"height":254,"sizeInBytes":622},{"id":548,"ratio":306,"position":376,"scale":216},[],[636,639,642,645,648,651],{"id":637,"text":638},428,"CMS-ready markup",{"id":640,"text":641},429,"Web animation",{"id":643,"text":644},430,"Catalogue with a filter",{"id":646,"text":647},431,"Cart functionality",{"id":649,"text":650},432,"Multiple languages",{"id":652,"text":653},433,"Responsive layout",[],{"id":656,"metaTitle":657,"metaDescription":658,"canonical":16,"noIndex":77,"ogImage":16},122,"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":544,"documentId":660,"title":661,"slug":662,"order":663,"lede":664,"desc":664,"collab":113,"clientName":665,"kind":666,"stack":667,"site":668,"noSiteText":306,"task":669,"result":670,"createdAt":671,"updatedAt":672,"publishedAt":673,"locale":11,"tags":674,"formats":682,"points":692,"slides":702,"cover":738,"coverSettings":744,"taskList":745,"done":746,"gallery":760,"seo":761},"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",[675,677,679],{"id":676,"label":665},499,{"id":48,"label":678},"HR",{"id":680,"label":681},501,"Telecom",[683,685,687,689],{"id":684,"label":574},502,{"id":686,"label":666},503,{"id":688,"label":461},504,{"id":690,"label":691},505,"Frontend",[693,696,699],{"id":694,"text":695},434,"Delivered on a tight deadline and a limited budget",{"id":697,"text":698},435,"Separate pages for different audience segments",{"id":700,"text":701},436,"Applicant form with a city choice",[703],{"id":704,"documentId":705,"name":706,"alternativeText":707,"caption":16,"focalPoint":16,"width":596,"height":597,"formats":708,"hash":733,"ext":34,"mime":37,"size":734,"url":735,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":736,"updatedAt":736,"publishedAt":737},21,"ibfb5rgfvr7tbiryetohgtuk","rostelecom-hr.jpg","HR-страницы для Ростелекома",{"large":709,"small":715,"medium":721,"thumbnail":727},{"ext":34,"url":710,"hash":711,"mime":37,"name":712,"path":16,"size":713,"width":40,"height":41,"sizeInBytes":714},"\u002Fuploads\u002Flarge_rostelecom_hr_27bd7a1d89.jpg","large_rostelecom_hr_27bd7a1d89","large_rostelecom-hr.jpg",38.27,38267,{"ext":34,"url":716,"hash":717,"mime":37,"name":718,"path":16,"size":719,"width":48,"height":496,"sizeInBytes":720},"\u002Fuploads\u002Fsmall_rostelecom_hr_27bd7a1d89.jpg","small_rostelecom_hr_27bd7a1d89","small_rostelecom-hr.jpg",15.39,15390,{"ext":34,"url":722,"hash":723,"mime":37,"name":724,"path":16,"size":725,"width":56,"height":57,"sizeInBytes":726},"\u002Fuploads\u002Fmedium_rostelecom_hr_27bd7a1d89.jpg","medium_rostelecom_hr_27bd7a1d89","medium_rostelecom-hr.jpg",26.16,26163,{"ext":34,"url":728,"hash":729,"mime":37,"name":730,"path":16,"size":731,"width":64,"height":254,"sizeInBytes":732},"\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":704,"documentId":705,"name":706,"alternativeText":707,"caption":16,"focalPoint":16,"width":596,"height":597,"formats":739,"hash":733,"ext":34,"mime":37,"size":734,"url":735,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":736,"updatedAt":736,"publishedAt":737},{"large":740,"small":741,"medium":742,"thumbnail":743},{"ext":34,"url":710,"hash":711,"mime":37,"name":712,"path":16,"size":713,"width":40,"height":41,"sizeInBytes":714},{"ext":34,"url":716,"hash":717,"mime":37,"name":718,"path":16,"size":719,"width":48,"height":496,"sizeInBytes":720},{"ext":34,"url":722,"hash":723,"mime":37,"name":724,"path":16,"size":725,"width":56,"height":57,"sizeInBytes":726},{"ext":34,"url":728,"hash":729,"mime":37,"name":730,"path":16,"size":731,"width":64,"height":254,"sizeInBytes":732},{"id":544,"ratio":306,"position":376,"scale":216},[],[747,750,752,755,757],{"id":748,"text":749},437,"Pages for different audience segments",{"id":751,"text":641},438,{"id":753,"text":754},439,"Application form by city",{"id":756,"text":526},440,{"id":758,"text":759},441,"Fully responsive layout",[],{"id":762,"metaTitle":763,"metaDescription":764,"canonical":16,"noIndex":77,"ogImage":16},123,"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":766,"documentId":767,"title":768,"slug":769,"order":770,"lede":771,"desc":772,"collab":113,"clientName":773,"kind":774,"stack":775,"site":776,"noSiteText":306,"task":777,"result":778,"createdAt":779,"updatedAt":780,"publishedAt":781,"locale":11,"tags":782,"formats":790,"points":799,"slides":800,"cover":801,"coverSettings":838,"taskList":842,"done":843,"gallery":858,"seo":859},57,"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",[783,785,788],{"id":784,"label":773},506,{"id":786,"label":787},507,"HR service",{"id":789,"label":678},508,[791,793,795,797],{"id":792,"label":574},509,{"id":794,"label":774},510,{"id":796,"label":461},511,{"id":798,"label":582},512,[],[],{"id":802,"documentId":803,"name":804,"alternativeText":805,"caption":16,"focalPoint":16,"width":806,"height":807,"formats":808,"hash":834,"ext":34,"mime":37,"size":835,"url":836,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":837,"updatedAt":837,"publishedAt":837},26,"rnphb5thkn1kgo0h42mypjld","career-cover.jpg","Анимированные страницы для HR-сервиса",2400,1350,{"large":809,"small":816,"medium":822,"thumbnail":828},{"ext":34,"url":810,"hash":811,"mime":37,"name":812,"path":16,"size":813,"width":40,"height":814,"sizeInBytes":815},"\u002Fuploads\u002Flarge_career_cover_0347603c8b.jpg","large_career_cover_0347603c8b","large_career-cover.jpg",62.3,563,62297,{"ext":34,"url":817,"hash":818,"mime":37,"name":819,"path":16,"size":820,"width":48,"height":350,"sizeInBytes":821},"\u002Fuploads\u002Fsmall_career_cover_0347603c8b.jpg","small_career_cover_0347603c8b","small_career-cover.jpg",22.32,22324,{"ext":34,"url":823,"hash":824,"mime":37,"name":825,"path":16,"size":826,"width":56,"height":357,"sizeInBytes":827},"\u002Fuploads\u002Fmedium_career_cover_0347603c8b.jpg","medium_career_cover_0347603c8b","medium_career-cover.jpg",40.53,40535,{"ext":34,"url":829,"hash":830,"mime":37,"name":831,"path":16,"size":832,"width":64,"height":289,"sizeInBytes":833},"\u002Fuploads\u002Fthumbnail_career_cover_0347603c8b.jpg","thumbnail_career_cover_0347603c8b","thumbnail_career-cover.jpg",7.65,7652,"career_cover_0347603c8b",227.09,"\u002Fuploads\u002Fcareer_cover_0347603c8b.jpg","2026-10-26T22:32:00.650Z",{"id":766,"ratio":839,"position":840,"scale":841},"1693 \u002F 906","50% 80%",1.13,[],[844,847,850,853,856],{"id":845,"text":846},447,"Home page and universal page templates",{"id":848,"text":849},448,"Timeline animations on GSAP",{"id":851,"text":852},449,"Modular pages from reusable blocks",{"id":854,"text":855},450,"Headless CMS Contentful integration",{"id":857,"text":526},451,[],{"id":860,"metaTitle":861,"metaDescription":862,"canonical":16,"noIndex":77,"ogImage":16},124,"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":864,"documentId":865,"title":866,"slug":867,"order":868,"lede":869,"desc":869,"collab":113,"clientName":870,"kind":871,"stack":555,"site":872,"noSiteText":306,"task":873,"result":874,"createdAt":875,"updatedAt":876,"publishedAt":877,"locale":11,"tags":878,"formats":884,"points":885,"slides":886,"cover":887,"coverSettings":921,"taskList":922,"done":923,"gallery":936,"seo":937},53,"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-28T01:53:58.963Z","2026-10-28T01:53:59.025Z",[879,881],{"id":880,"label":870},487,{"id":882,"label":883},488,"Cosmetics",[],[],[],{"id":888,"documentId":889,"name":890,"alternativeText":891,"caption":16,"focalPoint":16,"width":596,"height":597,"formats":892,"hash":917,"ext":34,"mime":37,"size":918,"url":919,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":920,"updatedAt":920,"publishedAt":920},27,"lm07k9exlzwo82uvkwbwvcvq","delight-site.jpg","Корпоративный сайт бренда косметики",{"large":893,"small":899,"medium":905,"thumbnail":911},{"ext":34,"url":894,"hash":895,"mime":37,"name":896,"path":16,"size":897,"width":40,"height":41,"sizeInBytes":898},"\u002Fuploads\u002Flarge_delight_site_8c8eb1cf75.jpg","large_delight_site_8c8eb1cf75","large_delight-site.jpg",55.37,55366,{"ext":34,"url":900,"hash":901,"mime":37,"name":902,"path":16,"size":903,"width":48,"height":496,"sizeInBytes":904},"\u002Fuploads\u002Fsmall_delight_site_8c8eb1cf75.jpg","small_delight_site_8c8eb1cf75","small_delight-site.jpg",19.44,19441,{"ext":34,"url":906,"hash":907,"mime":37,"name":908,"path":16,"size":909,"width":56,"height":57,"sizeInBytes":910},"\u002Fuploads\u002Fmedium_delight_site_8c8eb1cf75.jpg","medium_delight_site_8c8eb1cf75","medium_delight-site.jpg",36.06,36060,{"ext":34,"url":912,"hash":913,"mime":37,"name":914,"path":16,"size":915,"width":64,"height":254,"sizeInBytes":916},"\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":864,"ratio":306,"position":376,"scale":216},[],[924,927,930,933],{"id":925,"text":926},409,"Creative front-end for WordPress",{"id":928,"text":929},410,"Video player and GSAP web animation",{"id":931,"text":932},411,"Network map on Mapbox",{"id":934,"text":935},412,"Fully fluid layout",[],{"id":938,"metaTitle":939,"metaDescription":940,"canonical":16,"noIndex":77,"ogImage":16},120,"Creative front-end for a corporate WordPress website","The Constant Delight cosmetics brand website: fluid layout, video, GSAP animation, a salon map on Mapbox.",[942],{"id":235,"documentId":236,"title":237,"slug":238,"num":239,"order":195,"text":240,"ctaLabel":208,"includes":943,"isLinked":77,"createdAt":944,"updatedAt":945,"publishedAt":946,"locale":11,"projects":947,"faqs":1121,"blocks":1173,"seo":1313},"[Scope of the service: which tasks we solve and what the work includes]","2026-10-27T11:56:47.200Z","2026-10-28T01:53:58.119Z","2026-10-28T01:53:58.164Z",[948,1089],{"id":158,"documentId":949,"title":950,"slug":951,"order":182,"lede":306,"desc":952,"collab":77,"clientName":953,"kind":954,"stack":955,"site":956,"noSiteText":306,"task":957,"result":958,"createdAt":959,"updatedAt":960,"publishedAt":961,"locale":11,"tags":962,"formats":969,"points":970,"slides":986,"cover":1056,"coverSettings":1062,"taskList":1063,"done":1064,"gallery":1076,"seo":1085},"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",[963,965,967],{"id":656,"label":964},"TKL.RF",{"id":762,"label":966},"Sports",{"id":860,"label":968},"1C integration",[],[971,974,977,980,983],{"id":972,"text":973},221,"Booking system",{"id":975,"text":976},222,"1C:Fitness integration",{"id":978,"text":979},223,"Sign-up and profile editing",{"id":981,"text":982},224,"Payments",{"id":984,"text":985},225,"Visit history",[987,1020],{"id":770,"documentId":988,"name":989,"alternativeText":990,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":991,"hash":1016,"ext":337,"mime":340,"size":1017,"url":1018,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1019,"updatedAt":1019,"publishedAt":1019},"mrssc8gaw5p1jmvqnoer1y3s","luzhniki-laptop.webp","Личный кабинет «Теннисного Клуба Лужники»",{"large":992,"small":998,"medium":1004,"thumbnail":1010},{"ext":337,"url":993,"hash":994,"mime":340,"name":995,"path":16,"size":996,"width":40,"height":343,"sizeInBytes":997},"\u002Fuploads\u002Flarge_luzhniki_laptop_64b9d6396d.webp","large_luzhniki_laptop_64b9d6396d","large_luzhniki-laptop.webp",22.94,22942,{"ext":337,"url":999,"hash":1000,"mime":340,"name":1001,"path":16,"size":1002,"width":48,"height":350,"sizeInBytes":1003},"\u002Fuploads\u002Fsmall_luzhniki_laptop_64b9d6396d.webp","small_luzhniki_laptop_64b9d6396d","small_luzhniki-laptop.webp",9.37,9372,{"ext":337,"url":1005,"hash":1006,"mime":340,"name":1007,"path":16,"size":1008,"width":56,"height":357,"sizeInBytes":1009},"\u002Fuploads\u002Fmedium_luzhniki_laptop_64b9d6396d.webp","medium_luzhniki_laptop_64b9d6396d","medium_luzhniki-laptop.webp",16.12,16124,{"ext":337,"url":1011,"hash":1012,"mime":340,"name":1013,"path":16,"size":1014,"width":64,"height":293,"sizeInBytes":1015},"\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":868,"documentId":1021,"name":1022,"alternativeText":990,"caption":16,"focalPoint":16,"width":1023,"height":1024,"formats":1025,"hash":1052,"ext":337,"mime":340,"size":1053,"url":1054,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1055,"updatedAt":1055,"publishedAt":1055},"rwafok0cke6f44570471ll5t","luzhniki-booking.webp",2000,987,{"large":1026,"small":1032,"medium":1039,"thumbnail":1046},{"ext":337,"url":1027,"hash":1028,"mime":340,"name":1029,"path":16,"size":1030,"width":40,"height":569,"sizeInBytes":1031},"\u002Fuploads\u002Flarge_luzhniki_booking_e64bdfa8c7.webp","large_luzhniki_booking_e64bdfa8c7","large_luzhniki-booking.webp",20.14,20140,{"ext":337,"url":1033,"hash":1034,"mime":340,"name":1035,"path":16,"size":1036,"width":48,"height":1037,"sizeInBytes":1038},"\u002Fuploads\u002Fsmall_luzhniki_booking_e64bdfa8c7.webp","small_luzhniki_booking_e64bdfa8c7","small_luzhniki-booking.webp",7.15,247,7148,{"ext":337,"url":1040,"hash":1041,"mime":340,"name":1042,"path":16,"size":1043,"width":56,"height":1044,"sizeInBytes":1045},"\u002Fuploads\u002Fmedium_luzhniki_booking_e64bdfa8c7.webp","medium_luzhniki_booking_e64bdfa8c7","medium_luzhniki-booking.webp",13.38,370,13382,{"ext":337,"url":1047,"hash":1048,"mime":340,"name":1049,"path":16,"size":1050,"width":64,"height":428,"sizeInBytes":1051},"\u002Fuploads\u002Fthumbnail_luzhniki_booking_e64bdfa8c7.webp","thumbnail_luzhniki_booking_e64bdfa8c7","thumbnail_luzhniki-booking.webp",2.63,2634,"luzhniki_booking_e64bdfa8c7",49.63,"\u002Fuploads\u002Fluzhniki_booking_e64bdfa8c7.webp","2026-10-26T22:31:58.477Z",{"id":770,"documentId":988,"name":989,"alternativeText":990,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1057,"hash":1016,"ext":337,"mime":340,"size":1017,"url":1018,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1019,"updatedAt":1019,"publishedAt":1019},{"large":1058,"small":1059,"medium":1060,"thumbnail":1061},{"ext":337,"url":993,"hash":994,"mime":340,"name":995,"path":16,"size":996,"width":40,"height":343,"sizeInBytes":997},{"ext":337,"url":999,"hash":1000,"mime":340,"name":1001,"path":16,"size":1002,"width":48,"height":350,"sizeInBytes":1003},{"ext":337,"url":1005,"hash":1006,"mime":340,"name":1007,"path":16,"size":1008,"width":56,"height":357,"sizeInBytes":1009},{"ext":337,"url":1011,"hash":1012,"mime":340,"name":1013,"path":16,"size":1014,"width":64,"height":293,"sizeInBytes":1015},{"id":158,"ratio":306,"position":376,"scale":216},[],[1065,1067,1069,1071,1074],{"id":1066,"text":973},226,{"id":1068,"text":976},227,{"id":1070,"text":979},228,{"id":1072,"text":1073},229,"Payments and membership",{"id":1075,"text":985},230,[1077],{"id":1078,"caption":306,"image":1079},12,{"id":868,"documentId":1021,"name":1022,"alternativeText":990,"caption":16,"focalPoint":16,"width":1023,"height":1024,"formats":1080,"hash":1052,"ext":337,"mime":340,"size":1053,"url":1054,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1055,"updatedAt":1055,"publishedAt":1055},{"large":1081,"small":1082,"medium":1083,"thumbnail":1084},{"ext":337,"url":1027,"hash":1028,"mime":340,"name":1029,"path":16,"size":1030,"width":40,"height":569,"sizeInBytes":1031},{"ext":337,"url":1033,"hash":1034,"mime":340,"name":1035,"path":16,"size":1036,"width":48,"height":1037,"sizeInBytes":1038},{"ext":337,"url":1040,"hash":1041,"mime":340,"name":1042,"path":16,"size":1043,"width":56,"height":1044,"sizeInBytes":1045},{"ext":337,"url":1047,"hash":1048,"mime":340,"name":1049,"path":16,"size":1050,"width":64,"height":428,"sizeInBytes":1051},{"id":1086,"metaTitle":1087,"metaDescription":1088,"canonical":16,"noIndex":77,"ogImage":16},42,"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":297,"documentId":298,"title":299,"slug":300,"order":225,"lede":301,"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":1090,"formats":1094,"points":1095,"slides":1098,"cover":1105,"coverSettings":1111,"taskList":1112,"done":1113,"gallery":1119,"seo":1120},[1091,1092,1093],{"id":314,"label":302},{"id":316,"label":303},{"id":318,"label":319},[],[1096,1097],{"id":323,"text":324},{"id":326,"text":327},[1099],{"id":177,"documentId":330,"name":331,"alternativeText":332,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1100,"hash":365,"ext":337,"mime":340,"size":366,"url":367,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":368,"updatedAt":368,"publishedAt":368},{"large":1101,"small":1102,"medium":1103,"thumbnail":1104},{"ext":337,"url":338,"hash":339,"mime":340,"name":341,"path":16,"size":342,"width":40,"height":343,"sizeInBytes":344},{"ext":337,"url":346,"hash":347,"mime":340,"name":348,"path":16,"size":349,"width":48,"height":350,"sizeInBytes":351},{"ext":337,"url":353,"hash":354,"mime":340,"name":355,"path":16,"size":356,"width":56,"height":357,"sizeInBytes":358},{"ext":337,"url":360,"hash":361,"mime":340,"name":362,"path":16,"size":363,"width":64,"height":293,"sizeInBytes":364},{"id":177,"documentId":330,"name":331,"alternativeText":332,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1106,"hash":365,"ext":337,"mime":340,"size":366,"url":367,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":368,"updatedAt":368,"publishedAt":368},{"large":1107,"small":1108,"medium":1109,"thumbnail":1110},{"ext":337,"url":338,"hash":339,"mime":340,"name":341,"path":16,"size":342,"width":40,"height":343,"sizeInBytes":344},{"ext":337,"url":346,"hash":347,"mime":340,"name":348,"path":16,"size":349,"width":48,"height":350,"sizeInBytes":351},{"ext":337,"url":353,"hash":354,"mime":340,"name":355,"path":16,"size":356,"width":56,"height":357,"sizeInBytes":358},{"ext":337,"url":360,"hash":361,"mime":340,"name":362,"path":16,"size":363,"width":64,"height":293,"sizeInBytes":364},{"id":297,"ratio":306,"position":376,"scale":216},[],[1114,1115,1116,1117,1118],{"id":412,"text":413},{"id":415,"text":416},{"id":418,"text":419},{"id":421,"text":422},{"id":424,"text":425},[],{"id":428,"metaTitle":429,"metaDescription":430,"canonical":16,"noIndex":77,"ogImage":16},[1122,1130,1137,1144,1151,1158,1165],{"id":1123,"documentId":1124,"question":1125,"answer":1126,"order":182,"createdAt":1127,"updatedAt":1128,"publishedAt":1129,"locale":11},25,"dmecq2q423srweqrd068vdkx","We already have a system, but the contractor disappeared. Will you take it over?","Yes. First we study the code and write down in a specification the rules the system follows today. Then we decide together what to improve and what to rewrite.","2026-10-27T11:56:45.706Z","2026-10-27T12:06:29.370Z","2026-10-27T12:06:29.373Z",{"id":802,"documentId":1131,"question":1132,"answer":1133,"order":216,"createdAt":1134,"updatedAt":1135,"publishedAt":1136,"locale":11},"isakfq4sz4tlv93qye86sm2a","Can we start with a small part?","Yes, and most of the time that is the right way. We launch one scenario and expand once the first real users appear.","2026-10-27T11:56:45.744Z","2026-10-27T12:06:29.378Z","2026-10-27T12:06:29.381Z",{"id":888,"documentId":1138,"question":1139,"answer":1140,"order":225,"createdAt":1141,"updatedAt":1142,"publishedAt":1143,"locale":11},"m93dux663mw3o0su76g2hb6o","How much does it cost and how long does it take?","We give an estimate after the brief: the price and timeline depend on the number of roles, integrations and scenarios. To make the scope clear earlier, the first stage is a clickable prototype — you can walk through it before the main development and adjust the specification.","2026-10-27T11:56:45.755Z","2026-10-27T12:06:29.385Z","2026-10-27T12:06:29.388Z",{"id":18,"documentId":1145,"question":1146,"answer":1147,"order":233,"createdAt":1148,"updatedAt":1149,"publishedAt":1150,"locale":11},"lrwdw5domnj5cksjo5z693vu","How does the work go?","Four stages: brief and estimate, clickable prototype, development with integrations, testing and release. At the first stage we write a specification — roles, rules and edge cases — and develop against it. Before launch we test in a staging environment and connect monitoring.","2026-10-27T11:56:45.758Z","2026-10-28T01:53:59.841Z","2026-10-28T01:53:59.855Z",{"id":27,"documentId":1152,"question":1153,"answer":1154,"order":195,"createdAt":1155,"updatedAt":1156,"publishedAt":1157,"locale":11},"b1qz515rjys8nojrx0kan4k0","How do you use AI, and will quality suffer?","AI writes boilerplate code and speeds up routine work, but every change goes through code review and tests. We know where neural networks make mistakes, so business logic and integrations are checked by hand. The code lives in git and is backed up.","2026-10-27T11:56:45.763Z","2026-10-27T12:06:29.401Z","2026-10-27T12:06:29.404Z",{"id":158,"documentId":1159,"question":1160,"answer":1161,"order":4,"createdAt":1162,"updatedAt":1163,"publishedAt":1164,"locale":11},"mh0h6u9yy2kj6xsv2i5oykak","Do you integrate with 1C, payments and external services?","Yes. Customer accounts and CRMs are usually connected to 1C, payment acquiring, telephony and analytics: we sync data both ways and fix the exchange rules in the specification. An example is the Luzhniki Tennis Club account with 1C:Fitness, payments and membership.","2026-10-27T11:56:45.766Z","2026-10-27T12:06:29.409Z","2026-10-27T12:06:29.412Z",{"id":1166,"documentId":1167,"question":1168,"answer":1169,"order":134,"createdAt":1170,"updatedAt":1171,"publishedAt":1172,"locale":11},31,"jm8geopu3odeyz4zrig6dth1","What happens to the project after launch?","We stay on for support and development: we watch the monitoring, ship improvements and scale for growing load. The stack is proven and the code is documented — a new team can join the project easily if needed.","2026-10-27T11:56:45.771Z","2026-10-27T12:06:29.427Z","2026-10-27T12:06:29.430Z",[1174,1178,1262,1297],{"id":1175,"heading":1176,"body":943,"__component":1177},48,"What's included","blocks.includes",{"id":227,"heading":1179,"projects":1180,"__component":1261},"Cases",[1181,1229],{"id":158,"documentId":949,"title":950,"slug":951,"order":182,"lede":306,"desc":952,"collab":77,"clientName":953,"kind":954,"stack":955,"site":956,"noSiteText":306,"task":957,"result":958,"createdAt":959,"updatedAt":960,"publishedAt":961,"locale":11,"tags":1182,"formats":1186,"points":1187,"slides":1193,"cover":1206,"coverSettings":1212,"taskList":1213,"done":1214,"gallery":1220,"seo":1228},[1183,1184,1185],{"id":656,"label":964},{"id":762,"label":966},{"id":860,"label":968},[],[1188,1189,1190,1191,1192],{"id":972,"text":973},{"id":975,"text":976},{"id":978,"text":979},{"id":981,"text":982},{"id":984,"text":985},[1194,1200],{"id":770,"documentId":988,"name":989,"alternativeText":990,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1195,"hash":1016,"ext":337,"mime":340,"size":1017,"url":1018,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1019,"updatedAt":1019,"publishedAt":1019},{"large":1196,"small":1197,"medium":1198,"thumbnail":1199},{"ext":337,"url":993,"hash":994,"mime":340,"name":995,"path":16,"size":996,"width":40,"height":343,"sizeInBytes":997},{"ext":337,"url":999,"hash":1000,"mime":340,"name":1001,"path":16,"size":1002,"width":48,"height":350,"sizeInBytes":1003},{"ext":337,"url":1005,"hash":1006,"mime":340,"name":1007,"path":16,"size":1008,"width":56,"height":357,"sizeInBytes":1009},{"ext":337,"url":1011,"hash":1012,"mime":340,"name":1013,"path":16,"size":1014,"width":64,"height":293,"sizeInBytes":1015},{"id":868,"documentId":1021,"name":1022,"alternativeText":990,"caption":16,"focalPoint":16,"width":1023,"height":1024,"formats":1201,"hash":1052,"ext":337,"mime":340,"size":1053,"url":1054,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1055,"updatedAt":1055,"publishedAt":1055},{"large":1202,"small":1203,"medium":1204,"thumbnail":1205},{"ext":337,"url":1027,"hash":1028,"mime":340,"name":1029,"path":16,"size":1030,"width":40,"height":569,"sizeInBytes":1031},{"ext":337,"url":1033,"hash":1034,"mime":340,"name":1035,"path":16,"size":1036,"width":48,"height":1037,"sizeInBytes":1038},{"ext":337,"url":1040,"hash":1041,"mime":340,"name":1042,"path":16,"size":1043,"width":56,"height":1044,"sizeInBytes":1045},{"ext":337,"url":1047,"hash":1048,"mime":340,"name":1049,"path":16,"size":1050,"width":64,"height":428,"sizeInBytes":1051},{"id":770,"documentId":988,"name":989,"alternativeText":990,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1207,"hash":1016,"ext":337,"mime":340,"size":1017,"url":1018,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1019,"updatedAt":1019,"publishedAt":1019},{"large":1208,"small":1209,"medium":1210,"thumbnail":1211},{"ext":337,"url":993,"hash":994,"mime":340,"name":995,"path":16,"size":996,"width":40,"height":343,"sizeInBytes":997},{"ext":337,"url":999,"hash":1000,"mime":340,"name":1001,"path":16,"size":1002,"width":48,"height":350,"sizeInBytes":1003},{"ext":337,"url":1005,"hash":1006,"mime":340,"name":1007,"path":16,"size":1008,"width":56,"height":357,"sizeInBytes":1009},{"ext":337,"url":1011,"hash":1012,"mime":340,"name":1013,"path":16,"size":1014,"width":64,"height":293,"sizeInBytes":1015},{"id":158,"ratio":306,"position":376,"scale":216},[],[1215,1216,1217,1218,1219],{"id":1066,"text":973},{"id":1068,"text":976},{"id":1070,"text":979},{"id":1072,"text":1073},{"id":1075,"text":985},[1221],{"id":1078,"caption":306,"image":1222},{"id":868,"documentId":1021,"name":1022,"alternativeText":990,"caption":16,"focalPoint":16,"width":1023,"height":1024,"formats":1223,"hash":1052,"ext":337,"mime":340,"size":1053,"url":1054,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1055,"updatedAt":1055,"publishedAt":1055},{"large":1224,"small":1225,"medium":1226,"thumbnail":1227},{"ext":337,"url":1027,"hash":1028,"mime":340,"name":1029,"path":16,"size":1030,"width":40,"height":569,"sizeInBytes":1031},{"ext":337,"url":1033,"hash":1034,"mime":340,"name":1035,"path":16,"size":1036,"width":48,"height":1037,"sizeInBytes":1038},{"ext":337,"url":1040,"hash":1041,"mime":340,"name":1042,"path":16,"size":1043,"width":56,"height":1044,"sizeInBytes":1045},{"ext":337,"url":1047,"hash":1048,"mime":340,"name":1049,"path":16,"size":1050,"width":64,"height":428,"sizeInBytes":1051},{"id":1086,"metaTitle":1087,"metaDescription":1088,"canonical":16,"noIndex":77,"ogImage":16},{"id":297,"documentId":298,"title":299,"slug":300,"order":225,"lede":301,"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":1230,"formats":1234,"points":1235,"slides":1238,"cover":1245,"coverSettings":1251,"taskList":1252,"done":1253,"gallery":1259,"seo":1260},[1231,1232,1233],{"id":314,"label":302},{"id":316,"label":303},{"id":318,"label":319},[],[1236,1237],{"id":323,"text":324},{"id":326,"text":327},[1239],{"id":177,"documentId":330,"name":331,"alternativeText":332,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1240,"hash":365,"ext":337,"mime":340,"size":366,"url":367,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":368,"updatedAt":368,"publishedAt":368},{"large":1241,"small":1242,"medium":1243,"thumbnail":1244},{"ext":337,"url":338,"hash":339,"mime":340,"name":341,"path":16,"size":342,"width":40,"height":343,"sizeInBytes":344},{"ext":337,"url":346,"hash":347,"mime":340,"name":348,"path":16,"size":349,"width":48,"height":350,"sizeInBytes":351},{"ext":337,"url":353,"hash":354,"mime":340,"name":355,"path":16,"size":356,"width":56,"height":357,"sizeInBytes":358},{"ext":337,"url":360,"hash":361,"mime":340,"name":362,"path":16,"size":363,"width":64,"height":293,"sizeInBytes":364},{"id":177,"documentId":330,"name":331,"alternativeText":332,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1246,"hash":365,"ext":337,"mime":340,"size":366,"url":367,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":368,"updatedAt":368,"publishedAt":368},{"large":1247,"small":1248,"medium":1249,"thumbnail":1250},{"ext":337,"url":338,"hash":339,"mime":340,"name":341,"path":16,"size":342,"width":40,"height":343,"sizeInBytes":344},{"ext":337,"url":346,"hash":347,"mime":340,"name":348,"path":16,"size":349,"width":48,"height":350,"sizeInBytes":351},{"ext":337,"url":353,"hash":354,"mime":340,"name":355,"path":16,"size":356,"width":56,"height":357,"sizeInBytes":358},{"ext":337,"url":360,"hash":361,"mime":340,"name":362,"path":16,"size":363,"width":64,"height":293,"sizeInBytes":364},{"id":297,"ratio":306,"position":376,"scale":216},[],[1254,1255,1256,1257,1258],{"id":412,"text":413},{"id":415,"text":416},{"id":418,"text":419},{"id":421,"text":422},{"id":424,"text":425},[],{"id":428,"metaTitle":429,"metaDescription":430,"canonical":16,"noIndex":77,"ogImage":16},"blocks.projects-cards",{"id":1263,"heading":88,"lead":1264,"principlesHeading":1265,"steps":1266,"principles":1283,"__component":1296},68,"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",[1267,1271,1275,1279],{"id":1268,"num":206,"title":1269,"text":1270},287,"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":1272,"num":214,"title":1273,"text":1274},288,"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.",{"id":1276,"num":223,"title":1277,"text":1278},289,"Development and integration","After the prototype demo we adjust the specification. Simple code is written with Codex and Claude Code: routine work goes faster and the budget goes further. We know where AI can go wrong, so every change is checked by a developer in code review. We connect the product to your systems and external services: CRM, payments and others. Everything built during the stage is available in the demo environment at the project link.",{"id":1280,"num":231,"title":1281,"text":1282},290,"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.",[1284,1288,1292],{"id":1285,"title":1286,"text":1287},202,"Reports","Every 1–2 weeks we send a report: what was done, what we take on next and where an overrun is possible if the tasks change. You learn about extra costs before they happen, not after.",{"id":1289,"title":1290,"text":1291},203,"Demo link","The current version of the product is always open. Come in at any moment, try everything and send the link to colleagues.",{"id":1293,"title":1294,"text":1295},204,"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.","blocks.how",{"id":1298,"heading":1299,"items":1300,"cta":1308,"__component":1312},64,"F.A.Q",[1301,1302,1303,1304,1305,1306,1307],{"id":1123,"documentId":1124,"question":1125,"answer":1126,"order":182,"createdAt":1127,"updatedAt":1128,"publishedAt":1129,"locale":11},{"id":802,"documentId":1131,"question":1132,"answer":1133,"order":216,"createdAt":1134,"updatedAt":1135,"publishedAt":1136,"locale":11},{"id":888,"documentId":1138,"question":1139,"answer":1140,"order":225,"createdAt":1141,"updatedAt":1142,"publishedAt":1143,"locale":11},{"id":18,"documentId":1145,"question":1146,"answer":1147,"order":233,"createdAt":1148,"updatedAt":1149,"publishedAt":1150,"locale":11},{"id":27,"documentId":1152,"question":1153,"answer":1154,"order":195,"createdAt":1155,"updatedAt":1156,"publishedAt":1157,"locale":11},{"id":158,"documentId":1159,"question":1160,"answer":1161,"order":4,"createdAt":1162,"updatedAt":1163,"publishedAt":1164,"locale":11},{"id":1166,"documentId":1167,"question":1168,"answer":1169,"order":134,"createdAt":1170,"updatedAt":1171,"publishedAt":1172,"locale":11},{"id":1309,"label":1310,"href":97,"kind":1311,"strong":77,"external":77},199,"Ask your question","btn-d","blocks.faq",{"id":1314,"metaTitle":1315,"metaDescription":240,"canonical":16,"noIndex":77,"ogImage":16},114,"Service integrations — Spot",{"id":1317,"documentId":1318,"name":302,"order":1319,"showInMarquee":77,"createdAt":1320,"updatedAt":1321,"publishedAt":1322,"locale":11,"logo":16,"projects":1323},72,"x46qwti1vqaughvt5ry2fm0y",100,"2026-10-27T11:54:45.826Z","2026-10-27T12:06:29.345Z","2026-10-27T12:06:29.347Z",[1324],{"id":297,"documentId":298,"title":299,"slug":300,"order":225,"lede":301,"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":1325,"formats":1329,"points":1330,"slides":1333,"cover":1340,"coverSettings":1346,"taskList":1347,"done":1348,"gallery":1354,"seo":1355},[1326,1327,1328],{"id":314,"label":302},{"id":316,"label":303},{"id":318,"label":319},[],[1331,1332],{"id":323,"text":324},{"id":326,"text":327},[1334],{"id":177,"documentId":330,"name":331,"alternativeText":332,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1335,"hash":365,"ext":337,"mime":340,"size":366,"url":367,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":368,"updatedAt":368,"publishedAt":368},{"large":1336,"small":1337,"medium":1338,"thumbnail":1339},{"ext":337,"url":338,"hash":339,"mime":340,"name":341,"path":16,"size":342,"width":40,"height":343,"sizeInBytes":344},{"ext":337,"url":346,"hash":347,"mime":340,"name":348,"path":16,"size":349,"width":48,"height":350,"sizeInBytes":351},{"ext":337,"url":353,"hash":354,"mime":340,"name":355,"path":16,"size":356,"width":56,"height":357,"sizeInBytes":358},{"ext":337,"url":360,"hash":361,"mime":340,"name":362,"path":16,"size":363,"width":64,"height":293,"sizeInBytes":364},{"id":177,"documentId":330,"name":331,"alternativeText":332,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1341,"hash":365,"ext":337,"mime":340,"size":366,"url":367,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":368,"updatedAt":368,"publishedAt":368},{"large":1342,"small":1343,"medium":1344,"thumbnail":1345},{"ext":337,"url":338,"hash":339,"mime":340,"name":341,"path":16,"size":342,"width":40,"height":343,"sizeInBytes":344},{"ext":337,"url":346,"hash":347,"mime":340,"name":348,"path":16,"size":349,"width":48,"height":350,"sizeInBytes":351},{"ext":337,"url":353,"hash":354,"mime":340,"name":355,"path":16,"size":356,"width":56,"height":357,"sizeInBytes":358},{"ext":337,"url":360,"hash":361,"mime":340,"name":362,"path":16,"size":363,"width":64,"height":293,"sizeInBytes":364},{"id":297,"ratio":306,"position":376,"scale":216},[],[1349,1350,1351,1352,1353],{"id":412,"text":413},{"id":415,"text":416},{"id":418,"text":419},{"id":421,"text":422},{"id":424,"text":425},[],{"id":428,"metaTitle":429,"metaDescription":430,"canonical":16,"noIndex":77,"ogImage":16},[],[1358,1359,1360,1361,1362],{"id":412,"text":413},{"id":415,"text":416},{"id":418,"text":419},{"id":421,"text":422},{"id":424,"text":425},[],{"id":1365,"documentId":1366,"title":1367,"slug":1368,"order":233,"lede":1369,"desc":1369,"collab":113,"clientName":437,"kind":438,"stack":439,"site":306,"noSiteText":440,"task":1370,"result":1371,"createdAt":1372,"updatedAt":1373,"publishedAt":1374,"locale":11,"tags":1375,"partner":1380,"formats":1386,"points":1391,"slides":1404,"cover":1473,"coverSettings":1479,"categories":1480,"services":1495,"client":1576,"taskList":1581,"done":1582,"gallery":1600,"testimonial":16,"nextProject":1673,"seo":1746},43,"dz53r8mitt3dtxzu29ni7apu","An onboarding game for a loyalty programme","more-vygody","A web game that onboards customers into the bank's loyalty system.","\u003Cp>Introduce the bank's customers to the loyalty programme through a game and motivate them to earn and spend points.\u003C\u002Fp>\n\u003Cp>Build two mechanics: a quiz that explains the programme rules and grants attempts, and fishing with collectible items and real prizes. Collect player behaviour analytics to improve the game experience.\u003C\u002Fp>","The game runs inside the bank's app as onboarding into the loyalty programme: the quiz explains the rules, and customers get collectible items and prizes for their attempts.","2026-10-27T11:56:46.091Z","2026-10-27T12:27:43.482Z","2026-10-27T12:27:43.493Z",[1376,1377,1379],{"id":103,"label":437},{"id":106,"label":1378},"“Sea of Benefits”",{"id":110,"label":451},{"id":195,"documentId":1381,"name":1382,"url":16,"order":182,"createdAt":1383,"updatedAt":1384,"publishedAt":1385,"locale":11,"logo":16},"aftb92nnhw9ls4rpwg67z6o7","Pragmatica","2026-10-27T11:54:45.840Z","2026-10-27T12:06:29.363Z","2026-10-27T12:06:29.365Z",[1387,1388,1389,1390],{"id":118,"label":455},{"id":122,"label":458},{"id":126,"label":461},{"id":130,"label":464},[1392,1395,1398,1401],{"id":1393,"text":1394},320,"A quiz about points gives attempts to “cast the line”",{"id":1396,"text":1397},321,"Fishing with collectible items and prizes",{"id":1399,"text":1400},322,"Collection and achievement screens",{"id":1402,"text":1403},323,"User behaviour analytics",[1405,1437],{"id":184,"documentId":1406,"name":1407,"alternativeText":1408,"caption":16,"focalPoint":16,"width":596,"height":597,"formats":1409,"hash":1433,"ext":34,"mime":37,"size":1434,"url":1435,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1436,"updatedAt":1436,"publishedAt":1436},"iopyhg9unqem19v5fxg7a1t0","alfa-more-vygody.jpg","Игра для онбординга в программу лояльности",{"large":1410,"small":1416,"medium":1422,"thumbnail":1428},{"ext":34,"url":1411,"hash":1412,"mime":37,"name":1413,"path":16,"size":1414,"width":40,"height":41,"sizeInBytes":1415},"\u002Fuploads\u002Flarge_alfa_more_vygody_a40f2b5e07.jpg","large_alfa_more_vygody_a40f2b5e07","large_alfa-more-vygody.jpg",62.26,62259,{"ext":34,"url":1417,"hash":1418,"mime":37,"name":1419,"path":16,"size":1420,"width":48,"height":496,"sizeInBytes":1421},"\u002Fuploads\u002Fsmall_alfa_more_vygody_a40f2b5e07.jpg","small_alfa_more_vygody_a40f2b5e07","small_alfa-more-vygody.jpg",21.68,21681,{"ext":34,"url":1423,"hash":1424,"mime":37,"name":1425,"path":16,"size":1426,"width":56,"height":57,"sizeInBytes":1427},"\u002Fuploads\u002Fmedium_alfa_more_vygody_a40f2b5e07.jpg","medium_alfa_more_vygody_a40f2b5e07","medium_alfa-more-vygody.jpg",40.2,40195,{"ext":34,"url":1429,"hash":1430,"mime":37,"name":1431,"path":16,"size":1036,"width":64,"height":254,"sizeInBytes":1432},"\u002Fuploads\u002Fthumbnail_alfa_more_vygody_a40f2b5e07.jpg","thumbnail_alfa_more_vygody_a40f2b5e07","thumbnail_alfa-more-vygody.jpg",7147,"alfa_more_vygody_a40f2b5e07",113.12,"\u002Fuploads\u002Falfa_more_vygody_a40f2b5e07.jpg","2026-10-26T22:31:59.106Z",{"id":190,"documentId":1438,"name":1439,"alternativeText":1408,"caption":16,"focalPoint":16,"width":806,"height":1440,"formats":1441,"hash":1469,"ext":34,"mime":37,"size":1470,"url":1471,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1472,"updatedAt":1472,"publishedAt":1472},"flis01idcvbjx8027ys4enxt","more-vygody-screens.jpg",1284,{"large":1442,"small":1449,"medium":1456,"thumbnail":1463},{"ext":34,"url":1443,"hash":1444,"mime":37,"name":1445,"path":16,"size":1446,"width":40,"height":1447,"sizeInBytes":1448},"\u002Fuploads\u002Flarge_more_vygody_screens_3ac7b0bc6f.jpg","large_more_vygody_screens_3ac7b0bc6f","large_more-vygody-screens.jpg",74.94,535,74940,{"ext":34,"url":1450,"hash":1451,"mime":37,"name":1452,"path":16,"size":1453,"width":48,"height":1454,"sizeInBytes":1455},"\u002Fuploads\u002Fsmall_more_vygody_screens_3ac7b0bc6f.jpg","small_more_vygody_screens_3ac7b0bc6f","small_more-vygody-screens.jpg",27.25,268,27246,{"ext":34,"url":1457,"hash":1458,"mime":37,"name":1459,"path":16,"size":1460,"width":56,"height":1461,"sizeInBytes":1462},"\u002Fuploads\u002Fmedium_more_vygody_screens_3ac7b0bc6f.jpg","medium_more_vygody_screens_3ac7b0bc6f","medium_more-vygody-screens.jpg",49.52,401,49524,{"ext":34,"url":1464,"hash":1465,"mime":37,"name":1466,"path":16,"size":1467,"width":64,"height":265,"sizeInBytes":1468},"\u002Fuploads\u002Fthumbnail_more_vygody_screens_3ac7b0bc6f.jpg","thumbnail_more_vygody_screens_3ac7b0bc6f","thumbnail_more-vygody-screens.jpg",9.16,9162,"more_vygody_screens_3ac7b0bc6f",263.45,"\u002Fuploads\u002Fmore_vygody_screens_3ac7b0bc6f.jpg","2026-10-26T22:31:59.276Z",{"id":184,"documentId":1406,"name":1407,"alternativeText":1408,"caption":16,"focalPoint":16,"width":596,"height":597,"formats":1474,"hash":1433,"ext":34,"mime":37,"size":1434,"url":1435,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1436,"updatedAt":1436,"publishedAt":1436},{"large":1475,"small":1476,"medium":1477,"thumbnail":1478},{"ext":34,"url":1411,"hash":1412,"mime":37,"name":1413,"path":16,"size":1414,"width":40,"height":41,"sizeInBytes":1415},{"ext":34,"url":1417,"hash":1418,"mime":37,"name":1419,"path":16,"size":1420,"width":48,"height":496,"sizeInBytes":1421},{"ext":34,"url":1423,"hash":1424,"mime":37,"name":1425,"path":16,"size":1426,"width":56,"height":57,"sizeInBytes":1427},{"ext":34,"url":1429,"hash":1430,"mime":37,"name":1431,"path":16,"size":1036,"width":64,"height":254,"sizeInBytes":1432},{"id":1365,"ratio":306,"position":376,"scale":216},[1481,1488],{"id":190,"documentId":1482,"label":1483,"slug":1484,"order":225,"createdAt":1485,"updatedAt":1486,"publishedAt":1487,"locale":11},"px7ocjz6yw8c5f1dv9lhszzc","Games and loyalty","games","2026-10-27T11:54:45.713Z","2026-10-27T12:06:29.164Z","2026-10-27T12:06:29.165Z",{"id":1489,"documentId":1490,"label":1491,"slug":230,"order":233,"createdAt":1492,"updatedAt":1493,"publishedAt":1494,"locale":11},16,"p0gjo9lj5uk1xox3vvfqxjmh","Special projects","2026-10-27T11:54:45.717Z","2026-10-27T12:06:29.169Z","2026-10-27T12:06:29.171Z",[1496],{"id":227,"documentId":228,"title":229,"slug":230,"num":231,"order":233,"text":232,"ctaLabel":208,"includes":943,"isLinked":77,"createdAt":1497,"updatedAt":1498,"publishedAt":1499,"locale":11,"blocks":1500,"seo":1573},"2026-10-27T11:56:47.157Z","2026-10-28T01:53:57.941Z","2026-10-28T01:53:57.990Z",[1501,1503,1553,1570],{"id":1502,"heading":1176,"body":943,"__component":1177},46,{"id":202,"heading":1179,"projects":1504,"__component":1261},[1505,1506,1507,1523,1538],{"id":1365,"documentId":1366,"title":1367,"slug":1368,"order":233,"lede":1369,"desc":1369,"collab":113,"clientName":437,"kind":438,"stack":439,"site":306,"noSiteText":440,"task":1370,"result":1371,"createdAt":1372,"updatedAt":1373,"publishedAt":1374,"locale":11},{"id":432,"documentId":433,"title":434,"slug":435,"order":4,"lede":436,"desc":436,"collab":113,"clientName":437,"kind":438,"stack":439,"site":306,"noSiteText":440,"task":441,"result":442,"createdAt":443,"updatedAt":444,"publishedAt":445,"locale":11},{"id":1508,"documentId":1509,"title":1510,"slug":1511,"order":1512,"lede":1513,"desc":1513,"collab":113,"clientName":1514,"kind":1515,"stack":1516,"site":1517,"noSiteText":306,"task":1518,"result":1519,"createdAt":1520,"updatedAt":1521,"publishedAt":1522,"locale":11},47,"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-27T12:27:43.627Z","2026-10-27T12:27:43.642Z",{"id":1524,"documentId":1525,"title":1526,"slug":1527,"order":195,"lede":1528,"desc":1528,"collab":113,"clientName":1529,"kind":1530,"stack":1531,"site":306,"noSiteText":1532,"task":1533,"result":1534,"createdAt":1535,"updatedAt":1536,"publishedAt":1537,"locale":11},51,"qdeu7079nihj4cfspmqsvnx0","Calculators and services for an insurance company","raiffeisen","As part of support we improved the website and systems: the insured-event form and the policy issuing flow.","Raiffeisen Life","Calculators and services","1C-Bitrix, Native Frontend","Link no longer public","\u003Cp>Improve the insurer's website and internal services as part of support: simplify the insured-event form and update the policy issuing flow so the price on the site matches the price in the contract.\u003C\u002Fp>","Over a year of support we updated the main flows, the insured-event form and the policy issuing mechanism; the insurer's website and services keep evolving.","2026-10-27T11:56:46.153Z","2026-10-28T01:53:58.578Z","2026-10-28T01:53:58.669Z",{"id":1539,"documentId":1540,"title":1541,"slug":1542,"order":154,"lede":1543,"desc":1543,"collab":77,"clientName":1544,"kind":1545,"stack":1546,"site":306,"noSiteText":1547,"task":1548,"result":1549,"createdAt":1550,"updatedAt":1551,"publishedAt":1552,"locale":11},52,"lsfpzts1qol8bleck5gvqp79","A quiz for the interactive stand of the developer Praktika","praktika","One version for the touch panel, the employee's tablet and the visitor's phone.","Praktika","Quiz for a stand","Vue.js, Pinia, Vue-Validate, PHP, Sms.ru, Google Docs","Internal service","\u003Cp>Build a quiz for a property developer's interactive stand at a forum in an EXPO centre: by answering questions, a visitor finds out which profession suits them.\u003C\u002Fp>\n\u003Cp>Collect participants' contacts and confirm the phone number by SMS. One version must work on the stand's touch panel, an employee's tablet and a visitor's phone.\u003C\u002Fp>","Over a few days of the forum we collected more than 300 live leads with confirmed numbers from different devices: the stand's touch panel, employees' tablets and visitors' phones.","2026-10-27T11:56:46.448Z","2026-10-28T01:53:58.775Z","2026-10-28T01:53:58.864Z",{"id":1554,"heading":88,"lead":1264,"principlesHeading":1265,"steps":1555,"principles":1563,"__component":1296},66,[1556,1558,1560,1561],{"id":1557,"num":206,"title":1269,"text":1270},279,{"id":1559,"num":214,"title":1273,"text":1274},280,{"id":350,"num":223,"title":1277,"text":1278},{"id":1562,"num":231,"title":1281,"text":1282},282,[1564,1566,1568],{"id":1565,"title":1286,"text":1287},196,{"id":1567,"title":1290,"text":1291},197,{"id":1569,"title":1294,"text":1295},198,{"id":1571,"heading":1299,"cta":1572,"__component":1312},62,{"id":1567,"label":1310,"href":97,"kind":1311,"strong":77,"external":77},{"id":1574,"metaTitle":1575,"metaDescription":232,"canonical":16,"noIndex":77,"ogImage":16},113,"Special projects and complex interfaces — Spot",{"id":548,"documentId":1577,"name":437,"order":182,"showInMarquee":113,"createdAt":1578,"updatedAt":1579,"publishedAt":1580,"locale":11,"logo":16},"kx9kst2du7773gxcamc86h5i","2026-10-27T11:54:45.735Z","2026-10-27T12:06:29.187Z","2026-10-27T12:06:29.190Z",[],[1583,1586,1588,1591,1593,1595,1598],{"id":1584,"text":1585},324,"Quiz about the loyalty programme rules",{"id":1587,"text":526},325,{"id":1589,"text":1590},326,"Fishing animation",{"id":1592,"text":532},327,{"id":1594,"text":535},328,{"id":1596,"text":1597},329,"Per-event analytics of game sessions",{"id":1599,"text":1400},330,[1601,1637],{"id":1602,"caption":1603,"image":1604},17,"Game screens: collections, quiz, reward, achievements",{"id":1489,"documentId":1605,"name":1606,"alternativeText":1607,"caption":16,"focalPoint":16,"width":806,"height":807,"formats":1608,"hash":1633,"ext":34,"mime":37,"size":1634,"url":1635,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1636,"updatedAt":1636,"publishedAt":1636},"b29ct1td30fhj53cwi338osy","more-vygody-game-screens.jpg","Экраны игры: коллекции, квиз, награда, достижения",{"large":1609,"small":1615,"medium":1621,"thumbnail":1627},{"ext":34,"url":1610,"hash":1611,"mime":37,"name":1612,"path":16,"size":1613,"width":40,"height":814,"sizeInBytes":1614},"\u002Fuploads\u002Flarge_more_vygody_game_screens_92ec58de83.jpg","large_more_vygody_game_screens_92ec58de83","large_more-vygody-game-screens.jpg",71.58,71577,{"ext":34,"url":1616,"hash":1617,"mime":37,"name":1618,"path":16,"size":1619,"width":48,"height":350,"sizeInBytes":1620},"\u002Fuploads\u002Fsmall_more_vygody_game_screens_92ec58de83.jpg","small_more_vygody_game_screens_92ec58de83","small_more-vygody-game-screens.jpg",26.4,26401,{"ext":34,"url":1622,"hash":1623,"mime":37,"name":1624,"path":16,"size":1625,"width":56,"height":357,"sizeInBytes":1626},"\u002Fuploads\u002Fmedium_more_vygody_game_screens_92ec58de83.jpg","medium_more_vygody_game_screens_92ec58de83","medium_more-vygody-game-screens.jpg",45.95,45954,{"ext":34,"url":1628,"hash":1629,"mime":37,"name":1630,"path":16,"size":1631,"width":64,"height":289,"sizeInBytes":1632},"\u002Fuploads\u002Fthumbnail_more_vygody_game_screens_92ec58de83.jpg","thumbnail_more_vygody_game_screens_92ec58de83","thumbnail_more-vygody-game-screens.jpg",8.6,8600,"more_vygody_game_screens_92ec58de83",229.3,"\u002Fuploads\u002Fmore_vygody_game_screens_92ec58de83.jpg","2026-10-26T22:31:59.426Z",{"id":1638,"caption":1639,"image":1640},18,"Player event analytics and the game's promo page",{"id":1602,"documentId":1641,"name":1642,"alternativeText":1643,"caption":16,"focalPoint":16,"width":806,"height":807,"formats":1644,"hash":1669,"ext":34,"mime":37,"size":1670,"url":1671,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1672,"updatedAt":1672,"publishedAt":1672},"m36xo0unxbphyfzq89hu3wfo","more-vygody-analytics.jpg","Аналитика событий игрока и промо-страница игры",{"large":1645,"small":1651,"medium":1657,"thumbnail":1663},{"ext":34,"url":1646,"hash":1647,"mime":37,"name":1648,"path":16,"size":1649,"width":40,"height":814,"sizeInBytes":1650},"\u002Fuploads\u002Flarge_more_vygody_analytics_d9357f34fa.jpg","large_more_vygody_analytics_d9357f34fa","large_more-vygody-analytics.jpg",51.25,51251,{"ext":34,"url":1652,"hash":1653,"mime":37,"name":1654,"path":16,"size":1655,"width":48,"height":350,"sizeInBytes":1656},"\u002Fuploads\u002Fsmall_more_vygody_analytics_d9357f34fa.jpg","small_more_vygody_analytics_d9357f34fa","small_more-vygody-analytics.jpg",17.75,17754,{"ext":34,"url":1658,"hash":1659,"mime":37,"name":1660,"path":16,"size":1661,"width":56,"height":357,"sizeInBytes":1662},"\u002Fuploads\u002Fmedium_more_vygody_analytics_d9357f34fa.jpg","medium_more_vygody_analytics_d9357f34fa","medium_more-vygody-analytics.jpg",32.96,32960,{"ext":34,"url":1664,"hash":1665,"mime":37,"name":1666,"path":16,"size":1667,"width":64,"height":289,"sizeInBytes":1668},"\u002Fuploads\u002Fthumbnail_more_vygody_analytics_d9357f34fa.jpg","thumbnail_more_vygody_analytics_d9357f34fa","thumbnail_more-vygody-analytics.jpg",6.11,6109,"more_vygody_analytics_d9357f34fa",179.12,"\u002Fuploads\u002Fmore_vygody_analytics_d9357f34fa.jpg","2026-10-26T22:31:59.577Z",{"id":1524,"documentId":1525,"title":1526,"slug":1527,"order":195,"lede":1528,"desc":1528,"collab":113,"clientName":1529,"kind":1530,"stack":1531,"site":306,"noSiteText":1532,"task":1533,"result":1534,"createdAt":1535,"updatedAt":1536,"publishedAt":1537,"locale":11,"tags":1674,"formats":1680,"points":1681,"slides":1688,"cover":1722,"coverSettings":1728,"taskList":1729,"done":1730,"gallery":1741,"seo":1742},[1675,1677],{"id":1676,"label":1529},483,{"id":1678,"label":1679},484,"Insurance",[],[1682,1685],{"id":1683,"text":1684},387,"Policy calculators",{"id":1686,"text":1687},388,"Insured-event scenarios",[1689],{"id":1638,"documentId":1690,"name":1691,"alternativeText":1692,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1693,"hash":1718,"ext":337,"mime":340,"size":1719,"url":1720,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1721,"updatedAt":1721,"publishedAt":1721},"erkuhx09vnbzhocyritt9cga","raiffeisen-laptop.webp","Калькуляторы и сервисы для страховой компании",{"large":1694,"small":1700,"medium":1706,"thumbnail":1712},{"ext":337,"url":1695,"hash":1696,"mime":340,"name":1697,"path":16,"size":1698,"width":40,"height":343,"sizeInBytes":1699},"\u002Fuploads\u002Flarge_raiffeisen_laptop_8eebfcc8da.webp","large_raiffeisen_laptop_8eebfcc8da","large_raiffeisen-laptop.webp",25.82,25824,{"ext":337,"url":1701,"hash":1702,"mime":340,"name":1703,"path":16,"size":1704,"width":48,"height":350,"sizeInBytes":1705},"\u002Fuploads\u002Fsmall_raiffeisen_laptop_8eebfcc8da.webp","small_raiffeisen_laptop_8eebfcc8da","small_raiffeisen-laptop.webp",10.66,10658,{"ext":337,"url":1707,"hash":1708,"mime":340,"name":1709,"path":16,"size":1710,"width":56,"height":357,"sizeInBytes":1711},"\u002Fuploads\u002Fmedium_raiffeisen_laptop_8eebfcc8da.webp","medium_raiffeisen_laptop_8eebfcc8da","medium_raiffeisen-laptop.webp",18.15,18152,{"ext":337,"url":1713,"hash":1714,"mime":340,"name":1715,"path":16,"size":1716,"width":64,"height":293,"sizeInBytes":1717},"\u002Fuploads\u002Fthumbnail_raiffeisen_laptop_8eebfcc8da.webp","thumbnail_raiffeisen_laptop_8eebfcc8da","thumbnail_raiffeisen-laptop.webp",4.4,4396,"raiffeisen_laptop_8eebfcc8da",48.37,"\u002Fuploads\u002Fraiffeisen_laptop_8eebfcc8da.webp","2026-10-26T22:31:59.820Z",{"id":1638,"documentId":1690,"name":1691,"alternativeText":1692,"caption":16,"focalPoint":16,"width":333,"height":334,"formats":1723,"hash":1718,"ext":337,"mime":340,"size":1719,"url":1720,"previewUrl":16,"provider":24,"provider_metadata":16,"createdAt":1721,"updatedAt":1721,"publishedAt":1721},{"large":1724,"small":1725,"medium":1726,"thumbnail":1727},{"ext":337,"url":1695,"hash":1696,"mime":340,"name":1697,"path":16,"size":1698,"width":40,"height":343,"sizeInBytes":1699},{"ext":337,"url":1701,"hash":1702,"mime":340,"name":1703,"path":16,"size":1704,"width":48,"height":350,"sizeInBytes":1705},{"ext":337,"url":1707,"hash":1708,"mime":340,"name":1709,"path":16,"size":1710,"width":56,"height":357,"sizeInBytes":1711},{"ext":337,"url":1713,"hash":1714,"mime":340,"name":1715,"path":16,"size":1716,"width":64,"height":293,"sizeInBytes":1717},{"id":1524,"ratio":306,"position":376,"scale":216},[],[1731,1733,1735,1738],{"id":1732,"text":1684},389,{"id":1734,"text":1687},390,{"id":1736,"text":1737},391,"Insured-event form",{"id":1739,"text":1740},392,"Policy issuing on the website",[],{"id":1743,"metaTitle":1744,"metaDescription":1745,"canonical":16,"noIndex":77,"ogImage":16},117,"Policy calculators and services for the insurer Raiffeisen Life","Support of an insurance website on 1C-Bitrix: insured-event form, online policy issuing, calculators.",{"id":548,"metaTitle":1747,"metaDescription":1748,"canonical":16,"noIndex":77,"ogImage":16},"Web game for Alfa-Bank's loyalty programme in a WebView","Development of the “Sea of Benefits” game on Vue.js and Laravel: a quiz, fishing with prizes, collections and event analytics.",{"id":428,"metaTitle":429,"metaDescription":430,"canonical":16,"noIndex":77,"ogImage":16}]