{"id":198414,"date":"2026-07-31T06:47:14","date_gmt":"2026-07-31T10:47:14","guid":{"rendered":"https:\/\/innowise.com\/?post_type=case&#038;p=198414"},"modified":"2026-07-31T06:54:43","modified_gmt":"2026-07-31T10:54:43","slug":"online-coupon-platform-modernization","status":"publish","type":"case","link":"https:\/\/innowise.com\/fr\/case\/online-coupon-platform-modernization\/","title":{"rendered":"Modernisation de la plateforme de coupons en ligne pour Sovendus"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"198414\" class=\"elementor elementor-198414\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a5d40de e-flex e-con-boxed e-con e-parent\" data-id=\"a5d40de\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b8b99be e-con-full e-flex e-con e-child\" data-id=\"b8b99be\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1cedcd3 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"1cedcd3\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"240\" height=\"25\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/Log\u043e-for-review-3.svg\" class=\"attachment-full size-full wp-image-198462\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-111398e elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"111398e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Modernization and support for Sovendus\u2019s coupon aggregator<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0d4cf26 last-child-mb-0 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"0d4cf26\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Innowise helped Sovendus update its online coupon platform, working on both backend and frontend development and migrating the legacy monolith to a microservices architecture.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-65b9634 e-con-full e-grid e-con e-child\" data-id=\"65b9634\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-54748d5 e-con-full e-flex e-con e-child\" data-id=\"54748d5\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-878cd69 last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"878cd69\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><b>Fewer vulnerabilities<\/b><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b302ff0 last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"b302ff0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>after tech stack updates<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d6e691d e-con-full e-flex e-con e-child\" data-id=\"d6e691d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-de0f3c8 last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"de0f3c8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><b>Smoother coupon flows<\/b><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e4e4b3 last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"2e4e4b3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>for partner shop users<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2201c4c elementor-mobile-align-justify elementor-widget-mobile__width-inherit btn-min-320 elementor-widget elementor-widget-button\" data-id=\"2201c4c\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#contact-form\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Schedule a consultation<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-123eae4 e-con-full e-flex e-con e-child\" data-id=\"123eae4\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-de8bb5d elementor-widget elementor-widget-html\" data-id=\"de8bb5d\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n.hero-info-card {\n    display: flex;\n    flex-direction: column;\n    \n    color: #2e2e2e;\n    background-color: #FFFFFF;\n\n\n\n    width: 400px;\n    \n    height: 100%;\n}\n\n.hero-info-card__content {\n    display: flex;\n    flex-direction: column;\n    row-gap: 20px;\n\n    padding: 30px;\n\n    border-width: 0px 1px 1px 1px;\n    border-style: solid;\n    border-color: #999999;\n    \n    flex-grow: 1;\n}\n\n.hero-info-card__content-row {\n    display: grid;\n    grid-template-columns: 102px 1fr;\n\n    column-gap: 40px;\n}\n\n\nimg.hero-info-card__img {\n    display: flex;\n    object-fit: cover;\n    width: 100%;\n    height: auto;\n}\n\n.hero-info-card__param {\n    font-family: Karla;\n    font-weight: 600;\n    font-size: 16px;\n    line-height: 150%;\n\n    text-transform: uppercase;\n}\n\n.hero-info-card__value {\n    font-family: Karla;\n    font-weight: 400;\n    font-size: 16px;\n    line-height: 150%;\n}\n\n@media screen and (max-width:1279px) {\n    .hero-info-card {\n        display: grid;\n        grid-template-columns: 390px 1fr;\n\n        place-items: stretch;\n\n        width: 100%;\n    }\n    \n    .hero-info-card__content {\n        padding: 30px 175px 30px 30px;\n\n        border-width: 1px 0px 1px 0px;\n    }\n\n}\n\n\n@media screen and (max-width:840px) {\n    .hero-info-card__content {\n        padding: 30px;\n    }\n}\n\n\n@media screen and (max-width:780px) {\n    .hero-info-card {\n        grid-template-columns: 1fr 1fr;\n    }\n}\n\n\n\n\n@media screen and (max-width:767px) {\n    .hero-info-card {\n        display: flex;\n        flex-direction: column;\n\n        width: 100%;\n    }\n    \n    img.hero-info-card__img {\n        max-height: 300px;\n    }\n\n    \n    .hero-info-card__content {\n        padding: 20px 15px;\n\n        row-gap: 15px;\n\n        border-width: 0px 0px 1px 0px;\n    }\n    \n    .hero-info-card__param {\n        font-size: 14px;\n    }\n\n    .hero-info-card__value {\n        font-size: 14px;\n    }\n}\n<\/style>\n\n<div class=\"hero-info-card\">\n    <img decoding=\"async\" class=\"hero-info-card__img\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/sovendus-coupon-platform-modernization-1.png\" alt=\"Digital coupon platform modernization for scalable partner offers and customer rewards\"\/>\n    <div class=\"hero-info-card__content\">\n        <div class=\"hero-info-card__content-row\">\n            <span class=\"hero-info-card__param\">Industry<\/span>\n            <span  class=\"hero-info-card__value\">\n                E-commerce,  marketing\n                <\/span>\n        <\/div>\n        \n        <div class=\"hero-info-card__content-row\">\n            <span class=\"hero-info-card__param\">Employees<\/span>\n            <span class=\"hero-info-card__value\">51\u2013200<\/span>\n        <\/div>\n        \n        <div class=\"hero-info-card__content-row\">\n            <span class=\"hero-info-card__param\">Region<\/span>\n            <span class=\"hero-info-card__value\">Germany<\/span>\n        <\/div>\n\n        <div class=\"hero-info-card__content-row\">\n            <span class=\"hero-info-card__param\">Services<\/span>\n            <span class=\"hero-info-card__value\">\n               <a href=\"https:\/\/innowise.com\/services\/back-end-development\/\">Back-end development<\/a>, \n               <a href=\"https:\/\/innowise.com\/services\/front-end-development\/\">Front-end development<\/a>, <a href=\"https:\/\/innowise.com\/services\/web-development\/\">Web development<\/a> <\/span>\n        <\/div>\n        \n                <div class=\"hero-info-card__content-row\">\n            <span class=\"hero-info-card__param\">Client since<\/span>\n            <span class=\"hero-info-card__value\">2019<\/span>\n        <\/div>\n    <\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-60191b4 article-description e-flex e-con-boxed e-con e-parent\" data-id=\"60191b4\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-97ca77d author-article e-con-full e-flex e-con e-child\" data-id=\"97ca77d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-538f134 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-html\" data-id=\"538f134\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n.section-bg--white, .section-bg--grey {\n    position: relative;\n}\n\n.section-bg--white::before, .section-bg--grey::before {\n    content:\"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left:-100vw;\n    width: 300vw;\n}\n\n.section-bg--white::before {\n    background-color: #ffffff;\n}\n\n.section-bg--grey::before {\n    background-color: #FBFBFD;\n}\n\n\n.summarize_ai_button {\n    min-width:320px !important;\n    align-items: center;\n    justify-content: center;\n}\n\n@media (max-width: 767px) {\n    .summarize_ai_button {\n        width: 100% !important;\n        min-width: initial !important;\n    }\n}\n\n\n\/* hiding generic disclaimer for open cases *\/\n\/*.case-alert-wrapper {\n    display: none !important;\n}*\/\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-13294fa e-con-full section-bg--white e-flex e-con e-child\" data-id=\"13294fa\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-5fa3743 e-con-full e-flex e-con e-child\" data-id=\"5fa3743\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6bb9824 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"6bb9824\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Client overview<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5c4f12d elementor-widget elementor-widget-shortcode\" data-id=\"5c4f12d\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">[summarize_button_ai]<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6d6014b elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"6d6014b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Sovendus GmbH is a German company that runs a European network for customer acquisition and online coupons. After users make a purchase on partner websites, they can access discount coupons and special offers through Sovendus. The company works with a large partner network and has established product and delivery processes.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9c97c75 e-con-full e-flex e-con e-child\" data-id=\"9c97c75\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7241990 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"7241990\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Challenge<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29b54f6 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"29b54f6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Sovendus needed a team to support its voucher channel, develop backend and frontend functionality, and help move the platform from a legacy monolith to microservices within the company\u2019s existing processes.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5bb8bb6 elementor-widget elementor-widget-html\" data-id=\"5bb8bb6\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n.challenge-tabs {\r\n    display: flex;\r\n    flex-direction: column;\r\n\r\n    width: 100%;\r\n}\r\n\r\n.challenge-tab-container {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1fr;\r\n\r\n    width: 100%;\r\n\r\n    place-items: stretch;\r\n}\r\n\r\n\r\n.challenge-tab-container button.challenge-tab-btn {\r\n    display: flex;\r\n\r\n    font-family: Sora;\r\n    font-weight: 400;\r\n    font-size: 24px;\r\n    line-height: 135%;\r\n\r\n    text-align: start;\r\n\r\n    cursor: pointer;\r\n\r\n    background-color: transparent;\r\n    color: #717171;\r\n    border: none;\r\n    border-bottom: 1px solid #999999;\r\n\r\n    padding: 0 40px 24px;\r\n    \r\n    border-radius: 0;\r\n    \r\n    \r\n    white-space: normal;\r\n    \r\n    transition: initial;\r\n}\r\n\r\n.challenge-tab-container button.challenge-tab-btn.challenge-tab-btn--active {\r\n    color: #2E2E2E;\r\n    border-bottom: 2px solid #C63031;\r\n\r\n    cursor: default;\r\n\r\n    padding: 0 40px 23px;\r\n}\r\n\r\n.challenge-tab-content {\r\n    display: none;\r\n\r\n    flex-direction: column;\r\n    gap: 18px;\r\n\r\n    padding: 40px 40px 0;\r\n\r\n    font-family: Karla;\r\n    font-weight: 400;\r\n    font-size: 22px;\r\n    line-height: 150%;\r\n}\r\n\r\n.challenge-tab-content.challenge-tab-content--active {\r\n    display: flex;\r\n}\r\n\r\n.challenge-tab-content>* {\r\n    margin: 0;\r\n}\r\n\r\n.challenge-tab-content ul {\r\n    list-style-position: outside;\r\n    \r\n    margin: 0;\r\n    padding: 0;\r\n    \r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 16px;\r\n    \r\n    padding-left: 1.5em;\r\n}\r\n\r\n.challenge-tab-content li {\r\n    margin: 0;\r\n    padding: 0;\r\n}\r\n\r\n@media screen and (max-width:780px) {\r\n    .challenge-tab-content {\r\n        padding: 30px 30px 0;\r\n    }\r\n\r\n    .challenge-tab-container button.challenge-tab-btn {\r\n        padding: 0 20px 15px;\r\n    }\r\n\r\n    .challenge-tab-container button.challenge-tab-btn.challenge-tab-btn--active {\r\n        padding: 0 20px 14px;\r\n    }\r\n}\r\n\r\n@media screen and (max-width:767px) {\r\n    .challenge-tab-content {\r\n        padding: 20px 0 0;\r\n\r\n        font-size: 16px;\r\n    }\r\n    \r\n    .challenge-tab-container button.challenge-tab-btn {\r\n        padding: 0 15px 15px;\r\n\r\n        font-size: 16px;\r\n    }\r\n\r\n    .challenge-tab-container button.challenge-tab-btn.challenge-tab-btn--active {\r\n        padding: 0 15px 14px;\r\n        color: #2E2E2E;\r\n    }\r\n}\r\n<\/style>\r\n\r\n<div class=\"challenge-tabs\">\r\n    <div class=\"challenge-tab-container\">\r\n        <button class=\"challenge-tab-btn challenge-tab-btn--active\">Business challenges<\/button>\r\n        <button class=\"challenge-tab-btn\">Technical challenges<\/button>\r\n    <\/div>\r\n    <div class=\"challenge-tab-content-container\">\r\n        <div class=\"challenge-tab-content challenge-tab-content--active\">\r\n            \r\n            \r\n            <ul>\r\n                \r\n                \r\n                <li>Low platform performance. The existing network was built on older technologies and had performance issues. Sovendus needed the platform to run faster and become easier to maintain as the product and partner network grew.<\/li>\r\n                <li>Same interface, better system behind it. The client wanted to keep the UI unchanged, so users could still move through the same familiar pages: the main page with connected web shops, the product page, and the post-purchase bonus page.\r\n<\/li>\r\n                                <li>Support for broader market use. Sovendus wanted the network to remain available and competitive in more countries. The system had to support voucher and product flows across its partner network without complicating the user journey.\r\n<\/li>\r\n                  \r\n            <\/ul>            \r\n        <\/div>\r\n        <div class=\"challenge-tab-content\">\r\n\r\n            <ul>\r\n                \r\n               \r\n                \r\n                <li>Monolith-to-microservices migration. The platform had to be rewritten and moved from a monolithic setup to microservices. The team needed to update both backend and frontend parts while keeping the existing interface logic in place.\r\n<\/li>\r\n                <li>HTML templates in Angular. The client provided HTML templates that needed to be converted into Angular components. The team had to connect this frontend work with the wider rewrite, so the pages could stay close to the existing UI while the platform moved to a newer architecture.\r\n\r\n<\/li>\r\n                <li>Complex existing architecture. The platform already had a complex architecture. Adding Docker and Kubernetes to the existing system was a separate technical challenge, especially because the team had to work within the current project setup rather than rebuild everything from scratch.\r\n<\/li>\r\n                \r\n            <\/ul>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n    const tabButtons = [...document.querySelectorAll(\".challenge-tabs .challenge-tab-btn\")];\r\n    const tabContents = [...document.querySelectorAll(\".challenge-tabs .challenge-tab-content\")];\r\n\r\n    const tabButtonActiveClass = \"challenge-tab-btn--active\"\r\n    const tabContentActiveClass = \"challenge-tab-content--active\"\r\n\r\n    const activateItem = (index) => {\r\n        tabButtons.forEach((item, itemIndex) => {\r\n            if (itemIndex === index) {\r\n                item.classList.add(tabButtonActiveClass);\r\n            } else {\r\n                item.classList.remove(tabButtonActiveClass);\r\n            }\r\n        });\r\n        \r\n        tabContents.forEach(\r\n            (itemDesc, itemDescIndex) => {\r\n                if (itemDescIndex === index) {\r\n                    itemDesc.classList.add(tabContentActiveClass);\r\n                } else {\r\n                    itemDesc.classList.remove(tabContentActiveClass);\r\n                }\r\n            }\r\n        );\r\n    }\r\n\r\n    tabButtons.forEach((item, index)=>{\r\n        item.addEventListener(\"click\", () => activateItem(index))\r\n    })\r\n})\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2c75c12 e-con-full elementor-hidden-desktop e-flex e-con e-child\" data-id=\"2c75c12\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d098071 elementor-widget__width-inherit elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"d098071\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><span><\/span><span><\/span>Strengthen your e-commerce platform<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-30c5b15 elementor-mobile-align-justify elementor-widget-mobile__width-inherit elementor-widget elementor-widget-button\" data-id=\"30c5b15\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#contact-form\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Let\u2019s talk<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-513b863 e-con-full section-bg--white e-flex e-con e-child\" data-id=\"513b863\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e6056c elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"7e6056c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Solution we delivered<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b5b9815 e-con-full e-flex e-con e-child\" data-id=\"b5b9815\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c599486 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"c599486\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">SOLUTION DESIGN<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bf2c91a e-con-full e-flex e-con e-child\" data-id=\"bf2c91a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-47c9cd1 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"47c9cd1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Innowise worked on both the backend and frontend parts of Sovendus\u2019s voucher channel. The client already had an operational platform, so our work focused on modernizing the system while keeping the user-facing flow familiar.<\/p><p>Our team helped rewrite the legacy monolith as a microservices architecture, updated backend logic, implemented the provided HTML templates in Angular, and added Docker and NestJS to the existing setup. The work covered coupon flows, product lists, coupon campaigns, banners, and content management tools.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8d2cbe elementor-widget__width-inherit elementor-widget elementor-widget-image\" data-id=\"a8d2cbe\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/sovendus-personalized-coupon-marketplace-1.png\" data-elementor-open-lightbox=\"yes\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DW10%3D\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/sovendus-personalized-coupon-marketplace-1.png\" title=\"\" alt=\"Personalized coupon marketplace with partner rewards and post-purchase offers within the Sovendus platform\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-96170d7 e-con-full e-flex e-con e-child\" data-id=\"96170d7\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-322f7fb elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"322f7fb\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">KEY FUNCTIONALITY DELIVERED<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d68a6cf e-con-full e-flex e-con e-child\" data-id=\"d68a6cf\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-87b168d elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"87b168d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Monolith-to-microservices rewrite<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-332f4e0 e-con-full e-flex e-con e-child\" data-id=\"332f4e0\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1724306 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"1724306\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Innowise helped rewrite the old platform from a monolithic setup into a microservices architecture. The work covered both backend and frontend parts of the system, so the team could move the platform to a newer technical base while keeping the familiar user flow in place.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6d73355 e-con-full e-flex e-con e-child\" data-id=\"6d73355\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9b605b9 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"9b605b9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Voucher channel development<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-eda5288 e-con-full e-flex e-con e-child\" data-id=\"eda5288\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3f99961 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"3f99961\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Our experts worked on voucher channel functionality, where users receive coupon offers after making purchases on partner websites. The team supported the logic behind these coupon flows and helped the client keep developing the aggregator as project needs changed.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-32c9f51 e-con-full e-flex e-con e-child\" data-id=\"32c9f51\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c1a2212 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"c1a2212\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Core page updates<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-712f6a4 e-con-full e-flex e-con e-child\" data-id=\"712f6a4\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cb3f45c elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"cb3f45c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Our team updated the main pages in the network: the main page with connected web shops, the product page where users enter purchase details, and the \u201cThank you \u2013 Bonus\u201d page with related post-purchase offers. The goal was to keep the user journey familiar while the system behind it moved to newer technologies.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f1b190f elementor-widget__width-inherit elementor-widget elementor-widget-image\" data-id=\"f1b190f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/sovendus-coupon-offer-details.png\" data-elementor-open-lightbox=\"yes\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DW10%3D\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/sovendus-coupon-offer-details.png\" title=\"\" alt=\"Interactive coupon offer experience with personalized deal details and reward selection flow\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-56191f0 e-con-full e-flex e-con e-child\" data-id=\"56191f0\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f37e533 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"f37e533\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Coupon and product modules<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-60da307 e-con-full e-flex e-con e-child\" data-id=\"60da307\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-18ba28a elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"18ba28a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Innowise rewrote and improved core modules related to coupons, product lists, and coupon campaigns. The coupon flow covered a scenario where a partner website displays a banner, users click it, and then see coupon offers from online and offline stores.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7d3fc72 e-con-full e-flex e-con e-child\" data-id=\"7d3fc72\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-271123c elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"271123c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Banner management module<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a2d561f e-con-full e-flex e-con e-child\" data-id=\"a2d561f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c258666 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"c258666\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The team created a custom module for editing banners, creating banner templates, and generating new banners based on those templates. The module gave Sovendus more control over the banner flow used to direct users from partner websites to coupon offers.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-171dc04 e-con-full e-flex e-con e-child\" data-id=\"171dc04\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5079641 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"5079641\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Backend tools for content managers<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-163f43c e-con-full e-flex e-con e-child\" data-id=\"163f43c\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b2e6fa2 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"b2e6fa2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>On the backend side, Innowise worked on tools for content managers with different access levels. These tools covered stores, banners, banner descriptions, coupons, email templates, display rules, order fields, export settings, and user routes within the purchase flow.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-01d9c9e elementor-widget__width-inherit elementor-widget elementor-widget-image\" data-id=\"01d9c9e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/sovendus-homepage-post-purchase-offers-1.png\" data-elementor-open-lightbox=\"yes\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DW10%3D\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/sovendus-homepage-post-purchase-offers-1.png\" title=\"\" alt=\"Sovendus homepage for post-purchase monetization through personalized partner offers\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1500b6d e-con-full e-flex e-con e-child\" data-id=\"1500b6d\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-bd96491 e-con-full e-flex e-con e-child\" data-id=\"bd96491\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5d173c8 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"5d173c8\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Delivery approach\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c13a771 e-con-full e-flex e-con e-child\" data-id=\"c13a771\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-98e0889 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"98e0889\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The team worked within Sovendus\u2019s existing process rather than setting up a separate one. Work was planned in two-week sprints, with refinements, daily catch-ups, retrospectives, and sprint reviews used to agree on priorities and show completed work.\u00a0<\/p><p>On the development side, Innowise engineers stayed closely aligned with Sovendus\u2019s team through pair-programming-style sessions and code reviews. Backend tasks moved through the same planning and review process as the client\u2019s internal work. Time was logged in the client\u2019s Jira.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8a3c800 elementor-widget elementor-widget-html\" data-id=\"8a3c800\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n.quote-container {\n  display: flex;\n  align-items: start;\n\n  gap: 20px;\n\n  width: 100%;\n\n  padding: 50px 50px 50px 30px;\n\n  color: #2e2e2e;\n\n  border: 1px solid transparent;\n  background: linear-gradient(white, white) padding-box, linear-gradient(93.93deg, #60b5ff 3.21%, #eb757c 96.79%) border-box;\n}\n}\n\nimg.quote-icon {\n  display: flex;\n  width: 24px;\n  height: auto;\n\n  aspect-ratio: 1\/1;\n\n  flex-shrink: 0;\n}\n\n.quote-content {\n  display: flex;\n  flex-direction: column;\n\n  gap: 40px;\n}\n\np.quote-text {\n  font-family: Karla;\n  font-weight: 400;\n  font-size: 22px;\n  line-height: 150%;\n\n  margin: 0;\n}\n\n.quote-author__container {\n  display: flex;\n  gap: 20px;\n\n  align-items: center;\n}\n\nimg.quote-author__img {\n  display: flex;\n  width: 100px;\n  height: auto;\n\n  aspect-ratio: 1\/1;\n\n  flex-shrink: 0;\n}\n\n.quote-author__info {\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n\n  flex-basis: 320px;\n  flex-grow: 0;\n}\n\n.quote-author__name {\n  font-family: Sora;\n  font-weight: 600;\n  font-size: 20px;\n  line-height: 135%;\n\n  margin: 0;\n}\n\n.quote-author__role {\n  font-family: Karla;\n  font-weight: 400;\n  font-size: 18px;\n  line-height: 150%;\n\n  margin: 0;\n}\n\n.quote-text span {\n  display: block;\n}\n\n.quote-text span:not(:last-child) {\n  margin-bottom: 16px;\n}\n\n@media screen and (max-width: 767px) {\n  .quote-container {\n    flex-direction: column;\n    gap: 10px;\n\n    padding: 20px;\n  }\n\n  img.quote-icon {\n    width: 16px;\n  }\n\n  .quote-content {\n    gap: 20px;\n  }\n\n  p.quote-text {\n    font-size: 16px;\n  }\n\n  img.quote-author__img {\n    width: 60px;\n  }\n\n  .quote-author__name {\n    font-size: 16px;\n  }\n\n  .quote-author__role {\n    font-size: 14px;\n  }\n}\n<\/style>\n\n<div class=\"quote-container\">\n    <img decoding=\"async\"  class=\"quote-icon\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/10\/Frame-2131329670.svg\" alt=\"Quote icon\" \/>\n    <div class=\"quote-content\">\n        <p class=\"quote-text\">For a business like Sovendus, the coupon flow is a partner relationship in motion. If that path slows down or feels broken, the value drops for everyone involved: the user, the partner shop, and the platform. Our role was to support this channel over years of product work, while fitting into Sovendus\u2019s own processes and pace.<\/span>\n        <\/p>\n        <div class=\"quote-author__container\">\n            <img decoding=\"async\" class=\"quote-author__img\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/Veronika-Olesik.png\" alt=\"Veronika Olesik\" \/>\n            <div class=\"quote-author__info\">\n                <span class=\"quote-author__name\">Veronika Olesik<\/span>\n                <span class=\"quote-author__role\">Chief Business Development Officer & Co-founder<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7e9c8cf e-con-full section-bg--grey e-flex e-con e-child\" data-id=\"7e9c8cf\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8982ccb elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"8982ccb\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Technologies<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c9946c7 elementor-widget elementor-widget-html\" data-id=\"c9946c7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n.tech-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, 1fr);\r\n    column-gap: 60px;\r\n    row-gap: 80px;\r\n}\r\n\r\n.tech-grid-item {\r\n    display: grid;\r\n    flex-direction: column;\r\n    grid-template-rows: subgrid;\r\n    grid-row: span 2;\r\n    gap: 20px;\r\n}\r\n\r\n.tech-grid-item__title-wrapper {\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: end;\r\n    padding-bottom: 20px;\r\n    border-bottom: 1px solid transparent;\r\n    border-image: linear-gradient(93.93deg, #60B5FF 3.21%, #EB757C 96.79%) 1 round; \r\n}\r\n\r\nh4.tech-grid-item__title {\r\n    font-family: Sora;\r\n    font-weight: 600;\r\n    font-size: 20px;\r\n    line-height: 135%;\r\n    margin: 0;\r\n}\r\n\r\np.tech-grid-item__techs {\r\n    font-family: Karla;\r\n    font-weight: 400;\r\n    font-size: 18px;\r\n    line-height: 150%;\r\n    margin: 0;\r\n}\r\n\r\n@media screen and (max-width:780px) {\r\n    .tech-grid {\r\n        grid-template-columns: repeat(2, 1fr);\r\n        column-gap: 60px;\r\n        row-gap: 60px;\r\n    }\r\n}\r\n\r\n@media screen and (max-width:767px) {\r\n    .tech-grid {\r\n        grid-template-columns: 1fr;\r\n        gap: 30px;\r\n    }\r\n\r\n    .tech-grid-item {\r\n        gap: 10px;\r\n    }\r\n\r\n    .tech-grid-item__title-wrapper {\r\n        padding-bottom: 10px;\r\n    }\r\n\r\n    h4.tech-grid-item__title {\r\n        font-size: 14px;\r\n        line-height: 120%;\r\n    }\r\n\r\n    p.tech-grid-item__techs {\r\n        font-size: 14px;\r\n        line-height: 150%;\r\n    }\r\n}\r\n<\/style>\r\n\r\n<div class=\"tech-grid\">\r\n  <div class=\"tech-grid-item\">\r\n    <div class=\"tech-grid-item__title-wrapper\">\r\n      <h4 class=\"tech-grid-item__title\">Architecture<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">Microservices<\/p>\r\n  <\/div>\r\n    \r\n  <div class=\"tech-grid-item\">\r\n    <div class=\"tech-grid-item__title-wrapper\">\r\n      <h4 class=\"tech-grid-item__title\">Backend<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">PHP, Laravel, NestJS<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"tech-grid-item\">\r\n    <div class=\"tech-grid-item__title-wrapper\">\r\n      <h4 class=\"tech-grid-item__title\">Frontend<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">JavaScript, Angular, Angular Universal, NgRx<\/p>\r\n  <\/div>\r\n  \r\n  <div class=\"tech-grid-item\">\r\n    <div class=\"tech-grid-item__title-wrapper\">\r\n      <h4 class=\"tech-grid-item__title\">Database & cache<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">MySQL, Redis<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"tech-grid-item\">\r\n    <div class=\"tech-grid-item__title-wrapper\">\r\n      <h4 class=\"tech-grid-item__title\">Messaging & access management<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">Kafka, Keycloak<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"tech-grid-item\">\r\n    <div class=\"tech-grid-item__title-wrapper\">\r\n      <h4 class=\"tech-grid-item__title\">Infrastructure & DevOps<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">Docker, Kubernetes, GitHub Actions<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"tech-grid-item\">\r\n    <div class=\"tech-grid-item__title-wrapper\">\r\n      <h4 class=\"tech-grid-item__title\">Monitoring & logging<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">New Relic, Grafana, ELK<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"tech-grid-item\">\r\n    <div class=\"tech-grid-item__title-wrapper\">\r\n      <h4 class=\"tech-grid-item__title\">Testing<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">Karma, Jasmine<\/p>\r\n  <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-904df3a e-con-full section-bg--white e-flex e-con e-child\" data-id=\"904df3a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2343ecf elementor-widget elementor-widget-html\" data-id=\"2343ecf\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"team-grid\">\r\n  <div class=\"team-title-wrapper\">\r\n    <h2 class=\"team-title\">Team<\/h2>\r\n  <\/div>\r\n\r\n  <div class=\"team-grid-item\">\r\n    <div class=\"team-grid-item__count\">\r\n      <img decoding=\"async\"\r\n        src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/10\/Icon.svg\"\r\n        alt=\"Icon\"\r\n      \/>\r\n      <span>1<\/span>\r\n    <\/div>\r\n    <span class=\"team-grid-item__type\">Project Manager<\/span>\r\n  <\/div>\r\n  \r\n  <div class=\"team-grid-item\">\r\n    <div class=\"team-grid-item__count\">\r\n      <img decoding=\"async\"\r\n        src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/10\/Icon.svg\"\r\n        alt=\"Icon\"\r\n      \/>\r\n      <span>3<\/span>\r\n    <\/div>\r\n    <span class=\"team-grid-item__type\">Back-end Developers<\/span>\r\n  <\/div>\r\n  \r\n  <div class=\"team-grid-item\">\r\n    <div class=\"team-grid-item__count\">\r\n      <img decoding=\"async\"\r\n        src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/10\/Icon.svg\"\r\n        alt=\"Icon\"\r\n      \/>\r\n      <span>2<\/span>\r\n    <\/div>\r\n    <span class=\"team-grid-item__type\">Front-end Developers<\/span>\r\n  <\/div>\r\n  \r\n  <div class=\"team-grid-item\">\r\n    <div class=\"team-grid-item__count\">\r\n      <img decoding=\"async\"\r\n        src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/10\/Icon.svg\"\r\n        alt=\"Icon\"\r\n      \/>\r\n      <span>2<\/span>\r\n    <\/div>\r\n    <span class=\"team-grid-item__type\">QA engineers<\/span>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n.team-grid {\r\n    display: grid;\r\n    width: 100%;\r\n    grid-template-columns: repeat(3, 1fr);\r\n    gap: 20px;\r\n    place-items: stretch;\r\n    color: #2E2E2E;\r\n}\r\n\r\n.team-title-wrapper, .team-grid-item {\r\n    display: flex;\r\n    gap: 5px;\r\n}\r\n\r\n.team-grid-item {\r\n    padding: 40px 30px;\r\n}\r\n\r\n.team-title-wrapper {\r\n    padding: 40px 30px;\r\n    padding-left: 0;\r\n    grid-column: span 2;\r\n}\r\n\r\n.team-title-wrapper {\r\n    flex-direction: row;\r\n    align-items: center;\r\n}\r\n\r\n.team-grid-item {\r\n    flex-direction: column;\r\n    align-items: start;\r\n    background-color: #F5F5F7;\r\n}\r\n\r\nh2.team-title {\r\n    font-family: Sora;\r\n    font-weight: 400;\r\n    font-size: 36px;\r\n    line-height: 46px;\r\n    margin: 0;\r\n}\r\n\r\n.team-grid-item__count {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 5px;\r\n}\r\n\r\n.team-grid-item__count > span {\r\n    font-family: Sora;\r\n    font-weight: 600;\r\n    font-size: 18px;\r\n    line-height: 130%;\r\n    text-align: center;\r\n    position: relative;\r\n    top: 1px;\r\n    color: #C63031;\r\n}\r\n\r\n.team-grid-item__count > img {\r\n    display: flex;\r\n    width: 20px;\r\n    height: auto;\r\n    aspect-ratio: 1\/1;\r\n    flex-shrink: 0;\r\n}\r\n\r\n.team-grid-item__type {\r\n    font-family: Karla;\r\n    font-weight: 400;\r\n    font-size: 18px;\r\n    line-height: 150%;\r\n}\r\n\r\n@media screen and (max-width:780px) {\r\n    .team-grid-item {\r\n        padding: 30px;\r\n    }\r\n\r\n    .team-title-wrapper {\r\n        padding: 30px;\r\n        padding-left: 0;\r\n    }\r\n}\r\n\r\n@media screen and (max-width:767px) {\r\n    h2.team-title {\r\n        font-size: 24px;\r\n        line-height: 36px;\r\n        margin: 0;\r\n    }\r\n\r\n    .team-grid {\r\n        grid-template-columns: repeat(2, 1fr);\r\n        gap: 10px;\r\n    }\r\n\r\n    .team-grid-item {\r\n        padding: 20px;\r\n    }\r\n\r\n    .team-title-wrapper {\r\n        padding: 0px;\r\n        grid-column: span 2;\r\n        margin-bottom: 20px;\r\n    }\r\n\r\n    .team-grid-item--placeholder {\r\n        display: none;\r\n    }\r\n\r\n    .team-grid-item__count > img {\r\n        width: 16px;\r\n    }\r\n    \r\n    .team-grid-item__count > span {\r\n        font-size: 14px;\r\n        top: 0;\r\n    }\r\n\r\n    .team-grid-item__type {\r\n        font-size: 14px;\r\n    }\r\n}\r\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-03f4e16 elementor-widget elementor-widget-image\" data-id=\"03f4e16\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1000\" height=\"400\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/10\/innowise-team.jpg\" class=\"attachment-full size-full wp-image-188146\" alt=\"Innowise team\" srcset=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/10\/innowise-team.jpg 1000w, https:\/\/innowise.com\/wp-content\/uploads\/2025\/10\/innowise-team-300x120.jpg 300w, https:\/\/innowise.com\/wp-content\/uploads\/2025\/10\/innowise-team-768x307.jpg 768w, https:\/\/innowise.com\/wp-content\/uploads\/2025\/10\/innowise-team-18x7.jpg 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0ad8ca5 e-con-full section-bg--grey e-flex e-con e-child\" data-id=\"0ad8ca5\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5db0aea elementor-widget elementor-widget-html\" data-id=\"5db0aea\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\nh2.results__title {\n    font-family: Sora;\n    font-weight: 400;\n    font-size: 36px;\n    line-height: 46px;\n\n    margin: 0;\n}\n\n.results__title-wrapper {\n    display: flex;\n    gap: 30px;\n\n    align-items: center;\n    justify-content: space-between;\n\n    width: 100%;\n\n    border-bottom: 1px solid transparent;\n    border-image: linear-gradient(93.93deg, #60B5FF 3.21%, #EB757C 96.79%) 1 round; \n}\n\n.results__duration-wrapper {\n    display: flex;\n    background-color: #F5F5F7;\n}\n\n.results__duration-wrapper > * {\n    padding: 30px 40px;\n}\n\n.results__duration-param {\n    font-family: Sora;\n    font-weight: 600;\n    font-size: 20px;\n    line-height: 135%;\n\n    text-align: center;\n}\n\n.results__duration-value {\n    font-family: Karla;\n    font-weight: 400;\n    font-size: 22px;\n    line-height: 110%;\n\n    text-align: center;\n}\n\n@media screen and (max-width:767px) {\n    \n    h2.results__title {\n        font-size: 24px;\n        line-height: 36px;\n    }\n\n    .results__title-wrapper {\n        flex-direction: column;\n        align-items: start;\n    }\n\n    .results__duration-wrapper {\n        display: grid;\n        grid-template-columns: 1fr 1fr;\n        width: 100%;\n    }\n\n    .results__duration-wrapper > * {\n        padding: 15px;\n    }\n\n    .results__duration-param {\n        font-size: 16px;\n        line-height: 120%;\n    }\n\n    .results__duration-value {\n        font-size: 16px;\n        line-height: 20px;\n    }\n\n}\n<\/style>\n\n\n<div class=\"results__title-wrapper\">\n    <h2 class=\"results__title\">Results<\/h2>\n    <div class=\"results__duration-wrapper\">\n        <div class=\"results__duration-param\">Project duration<\/div>\n        <div class=\"results__duration-value\">February 2019 \u2013 December 2023<\/div>\n    <\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b87d36d e-con-full e-flex e-con e-child\" data-id=\"b87d36d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-54d6275 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"54d6275\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>As a result of our joint work, Sovendus got an updated backend and frontend of its online shopping and coupon network. The Innowise team also moved the platform from an older monolithic setup to a newer microservices architecture. The updated functionality and better performance helped extend the network to Sweden, Switzerland, Denmark, Austria, Finland, Belgium, Norway, Poland, and Germany.\u00a0<\/p><p>The platform became faster and easier to maintain. With fewer vulnerabilities and a backend that was simpler to update, Sovendus could continue developing the network without changing the user-facing flow its customers already knew.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-95dede8 table-content-container e-con-full e-flex e-con e-child\" data-id=\"95dede8\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-32a4a45 e-con-full stickyTable e-flex e-con e-child\" data-id=\"32a4a45\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-c2c808c author-block e-con-full e-flex e-con e-child\" data-id=\"c2c808c\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5b697f5 ddcv elementor-widget elementor-widget-html\" data-id=\"5b697f5\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n\r\n.article-description > .e-con-inner{\r\n     align-items: baseline !important;\r\n}\r\n\r\n.stickyTable {\r\n    position: sticky;\r\n    top: 72px;\r\n    bottom: auto;   \r\n}  \r\n\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", ()=>{\r\n        \r\nconst headerElement = document.querySelector(\".new-menu\");\r\n\r\nconst stickyElement = document.querySelector(\".stickyTable\");\r\n\r\nconst headerElementH = headerElement.clientHeight;\r\n\r\nstickyElement.style.top =  headerElementH + 60 + \"px\"\r\n        \r\n});\r\n<\/script>\r\n\r\n\r\n<!--NOTE Change data-id in wrapper styles for hide this block on the mobile device screen-->\r\n<div class=\"toc-wrapper\">\r\n  <h4 class=\"toc-title\">Table of contents<\/h4>\r\n  <div class=\"toc toc-2\"><\/div>\r\n<\/div>\r\n\r\n<script>\r\n  \/\/NOTE Add the value from h2 as the key and the text you want to display as the key value in LINKS variable:\r\n  \/\/   const LINKS = {\r\n  \/\/       \"The demand for retail digital transformation\": \"The demand\"\r\n  \/\/   }\r\n\r\n  \r\n  \/\/NOTE Add the value from h2 as the key and the text you want to display as the key value in LINKS variable:\r\n  \/\/   const LINKS = {\r\n  \/\/       \"The demand for retail digital transformation\": \"The demand\"\r\n  \/\/   }\r\n\r\n  const LINKS = {\r\n    \"Unleashing the power of .NET 8\": \"gggggg\",\r\n    \"Revamping legacy systems: unlocking business potential through software modernization\":\r\n      \"hello\",\r\n      \"Solution we delivered\": \"Solution\",\r\n  };\r\n\r\n  const OFFSET = 70;\r\n   const PADDING_BOTTOM_FOR_SCROLL = 100;\r\n  let headerList = [];\r\n  let allLinks = [];\r\n  \r\n  let ticking = false;\r\n     \r\n\r\n  const createList = () => {\r\n      \r\n      console.log('create');\r\n      \r\n      \r\n    const tocTarget = document.querySelector(\".toc.toc-2\");\r\n    const toc = document.createElement(\"ul\");\r\n    \r\n    \r\n    \r\n     headerList = [...document.querySelectorAll(\"h2\")];\r\n\r\n\r\n    \r\n    headerList = headerList.slice(0, -3);\r\n    \r\n    headerList.forEach(()=>{\r\n        \r\n    })\r\n    \r\n    const filteredNodes = [document.querySelector(\".related_content_blog_container h2\")]\r\n    \r\n    headerList = headerList.filter((node)=> !filteredNodes.includes(node))\r\n    \r\n    \r\n   headerList.forEach((header,index) => {\r\n      const headerId = header.getAttribute(\"id\");\r\n      const headerText =\r\n        header.dataset.title && header.dataset.title !== \"\"\r\n          ? header.dataset.title\r\n          : header.textContent;\r\n          \r\n\r\n      const headerTocText = header.dataset.title;\r\n\r\n      const idFromText =\r\n        !headerId || headerId === \"\"\r\n          ? headerText\r\n              .toLowerCase()\r\n              .replace(\/[^\\w ]+\/g, \"\")\r\n              .replace(\/ +\/g, \"-\")\r\n          : headerId;\r\n          \r\n         \r\n\r\n      const newListItem = document.createElement(\"li\");\r\n      const newLink = document.createElement(\"a\");\r\n      newLink.setAttribute(\"href\", \"#\" + idFromText);\r\n      newLink.textContent = LINKS[headerText] || headerText;\r\n\r\n      newLink.addEventListener(\"click\", (e) => {\r\n          \r\n        e.preventDefault();\r\n        const y =\r\n          header.getBoundingClientRect().top +\r\n          window.pageYOffset -\r\n          PADDING_BOTTOM_FOR_SCROLL -\r\n          OFFSET;\r\n          ticking = true; \r\n        window.scrollTo({ top: y, behavior: \"smooth\" });\r\n        \r\n        setTimeout(()=>{\r\n            ticking = false;\r\n        },500);\r\n        \r\n      });\r\n      \r\n\r\n      newListItem.appendChild(newLink);\r\n    toc.appendChild(newListItem);\r\n    \r\n    \r\n    });\r\n    tocTarget.appendChild(toc);\r\n    allLinks = Array.from(document.querySelector(\".toc.toc-2\").querySelectorAll(\"ul li\"));\r\n  };\r\n\r\n  const setContainerHeight = () => {\r\n    \/*const windowHeight = window.innerHeight;\r\n    const tocContainer = document.querySelector(\".ddcv\");\r\n\r\n    tocContainer.style.maxHeight = \"calc(100vh - 420px)\";\r\n    tocContainer.style.minHeight = \"200px\";*\/\r\n    \r\n    const tocContainer = document.querySelector(\".author-block\")\r\n    tocContainer.style.maxHeight = \"calc(100vh - 180px)\"\r\n  };\r\n\r\n\r\n  const checkScroll = () => {\r\n      const windowHeight = window.innerHeight;\r\n      const scrollTop = window.scrollY || document.documentElement.scrollTop;\r\n\r\n      let selectedHeaderIndex = -1;\r\n      \r\n      \/\/console.log('headerList', headerList)\r\n      headerList.forEach((header, index) => {\r\n        \r\n  const posTop = header.getBoundingClientRect().top;\r\n       \r\n\r\n const isInViewport = posTop + elem.clientHeight <= window.innerHeight ;\r\n \r\n \r\n\r\n \r\n if(isInViewport){\r\n      selectedHeaderIndex = index;\r\n }\r\n\r\n      });\r\n      \r\n\r\n\r\n        allLinks.forEach((link, i) => {\r\n            if(i === selectedHeaderIndex){\r\n              link.classList.remove(\"pre-active\");  \r\n              link.classList.add(\"active\");\r\n            }\r\n            if(i < selectedHeaderIndex){\r\n              link.classList.add(\"pre-active\"); \r\n               link.classList.remove(\"active\");\r\n            }\r\n             if(i > selectedHeaderIndex){\r\n            link.classList.remove(\"pre-active\");\r\n            link.classList.remove(\"active\");\r\n            }\r\n            \r\n            \r\n            \r\n        });\r\n        \r\n\r\n\r\n  };\r\n\r\n  const loadAllImages = () => {\r\n    const images = document.getElementsByTagName(\"img\");\r\n\r\n    for (let i = 0; i < images.length; i++) {\r\n      const img = images[i];\r\n      const src = img.getAttribute(\"data-src\") || img.src;\r\n      img.src = src;\r\n    }\r\n  };\r\n\r\n  loadAllImages();\r\n  \r\n  \r\n  \r\n\r\n\r\n  document.addEventListener(\"DOMContentLoaded\", () => {\r\n      \r\n      \r\n     setTimeout(()=>{\r\n           createList();\r\n    setContainerHeight();\r\n  \r\n    \r\n    document.addEventListener(\"scroll\", (event) => {\r\n  if (!ticking) {\r\n    checkScroll();\r\n  }\r\n});\r\n    \r\n    \r\n},300) \r\n\r\n    \r\n  });\r\n  \r\n<\/script>\r\n\r\n\r\n<style>\r\n.table-content-container .elementor-widget-wrap {\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n}\r\n\r\n@media (max-width: 1279px) {\r\n    .table-content-container {\r\n   display: none !important;\r\n}\r\n}\r\n\r\n\r\n\r\n.toc-wrapper {\r\n    display: flex;\r\n    flex-direction: column;\r\n    row-gap: 30px;\r\n    font-family: \"Karla\";\r\n    box-sizing: border-box;\r\n    \/*height: 100%;*\/\r\n    \r\n    flex: 1;\r\n}\r\n.ddcv {\r\n    \r\n    flex-basis:100%;\r\n    flex-grow: 1;\r\n    flex-shrink: 1;\r\n    overflow-y: auto;\r\n}\r\n\r\n\r\n.toc-wrapper {\r\n    overflow-y: auto;\r\n    flex-shrink: 1;\r\n    flex-basis:100%;\r\n    flex-grow: 1;\r\n}\r\n\r\n.toc-wrapper::-webkit-scrollbar, .ddcv::-webkit-scrollbar {\r\n    position: absolute !important;\r\n    width: 4px !important;\r\n    background-color: #F5F5F7 !important;\r\n}\r\n\r\n.toc-wrapper::-webkit-scrollbar-thumb, .ddcv::-webkit-scrollbar-thumb {\r\n    position: absolute !important;\r\n    background-color: #999999 !important;\r\n    border-radius: 4px !important;\r\n}\r\n\r\n\/*.toc-wrapper .toc {\r\n    scrollbar-width: 4px !important;\r\n    scrollbar-color: auto !important;\r\n}*\/\r\n\r\n\r\nh4.toc-title {\r\n    margin: 0;\r\n    font-family: Karla;\r\n    font-size: 22px;\r\n    line-height: 28px;\r\n    font-weight: 700;\r\n}\r\n\r\n@media screen and (max-width: 1279px) {\r\n    .ddcv {\r\n        margin-top: 0px;\r\n        position: absolute;\r\n        top: 0px;\r\n        left: 50%;\r\n        transform: translate(50%, 0);\r\n    }\r\n}\r\n\r\n@media screen and (max-width: 767px) {\r\n    .ddcv {\r\n        display: none;\r\n    }\r\n}\r\n\r\n.toc ul {\r\n  list-style: none;\r\n  font-family: \"Karla\";\r\n  font-size: 16px;\r\n  line-height: 22px;\r\n  padding: 0px;\r\n  border-left: 1px solid #717171;\r\n}\r\n\r\n.toc li {\r\n  margin-left: -1px;\r\n  margin-top: 0;\r\n  padding: 16px 16px 16px 20px;\r\n  font-size: 18px;\r\n  line-height: 22px;\r\n  color: #717171;\r\n  border-left: 2px solid transparent;\r\n}\r\n\r\n.toc ul li a {\r\n    display: block;\r\n     width: 100%;\r\n    color: inherit;\r\n    text-decoration: none !important;\r\n}\r\n\r\n.toc ul .active {\r\n    color: #2E2E2E;\r\n    border-left: 2px solid #C63031;\r\n}\r\n\r\n.toc ul .pre-active {\r\n    border-left: 2px solid #C63031;\r\n}\r\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9277c81 e-con-full .cta-short-wrapper e-flex e-con e-child\" data-id=\"9277c81\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b51f48f elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"b51f48f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Strengthen your e-commerce platform<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e8c58f9 elementor-mobile-align-justify elementor-widget-mobile__width-inherit elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"e8c58f9\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#contact-form\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Let\u2019s talk<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e5559d1 e-flex e-con-boxed e-con e-parent\" data-id=\"e5559d1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-57fee06 elementor-widget elementor-widget-heading\" data-id=\"57fee06\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Related cases<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ff569e9 e-con-full slider-overflow e-flex e-con e-child\" data-id=\"ff569e9\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dfd15ae elementor-widget elementor-widget-shortcode\" data-id=\"dfd15ae\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n        <div class=\"slider-overflow view-\">\n            <div class=\"swiper-related view-\">\n                <div class=\"swiper-wrapper\">\n        <div class=\"swiper-slide\">\n            <div class=\"swiper-into-e1\">\n                <div class=\"swiper-slide__inner-container\">\n                    <div class=\"block-div-img-rel\">\n                        <a href=\"https:\/\/innowise.com\/fr\/case\/catena-media-igaming-scaling\/\" aria-label=\"block_198461\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/image-3.png\" alt=\"Catena Media case: scaling support for the iGaming leader\">\n                    <div class=\"cases-post__thumbnail_opencase_img\">\n                        <div>\n                            <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/Log\u043es-desktop-1.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                \n                        <\/a>\n                    <\/div>\n                    <div class=\"border-slide-rel\">\n                        <div class=\"swip-title-rel-qe mb-10\" style=\"\">\n                            <a href=\"https:\/\/innowise.com\/fr\/case\/catena-media-igaming-scaling\/\" aria-label=\"Catena Media case: scaling support for the iGaming leader\" >Catena Media case: scaling support for the iGaming leader<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/fr\/cases\/aws\/\">AWS<\/a><a href=\"\/fr\/cases\/developpement-back-end\/\">Back-end development<\/a><a href=\"\/fr\/cases\/business-intelligence\/\">Business intelligence<\/a><a href=\"\/fr\/cases\/ingenierie-des-donnees\/\">Data engineering<\/a><a href=\"\/fr\/cases\/developpement-front-end\/\">Front-end development<\/a><a href=\"\/fr\/cases\/node-js\/\">Node.js<\/a><a href=\"\/fr\/cases\/php\/\">PHP<\/a>\n                        <\/div>\n                        <div class=\"slide__button-wrapper_mob\">\n                            <span class=\"slide__button-text_mob\">Read more<\/span>\n                            <img decoding=\"async\" class=\"slide__button-img_mob\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2021\/12\/arrow-more.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"slide__button-wrapper\">\n                <a href=\"https:\/\/innowise.com\/fr\/case\/catena-media-igaming-scaling\/\" aria-label=\"Read more about Catena Media case: scaling support for the iGaming leader\">\n                    <div class=\"arrow-btn3-rel\">\n                        <svg class=\"arrow-btn__svg\"\n                             width=\"110\"\n                             height=\"18\"\n                             viewBox=\"0 0 110 18\"\n                             fill=\"none\"\n                             xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M9 1L17 8.99999L9 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M0 9.00018L17 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M99 1L107 8.99999L99 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M90 9.00018L107 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                        <\/svg>\n                    <\/div>\n                <\/a>\n            <\/div>\n        <\/div>\n        <div class=\"swiper-slide\">\n            <div class=\"swiper-into-e1\">\n                <div class=\"swiper-slide__inner-container\">\n                    <div class=\"block-div-img-rel\">\n                        <a href=\"https:\/\/innowise.com\/fr\/case\/ai-powered-compliance-ecosystem\/\" aria-label=\"block_198139\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/image-1.jpg\" alt=\"AI-powered end-to-end compliance ecosystem\">\n                    <div class=\"cases-post__thumbnail_opencase_img\">\n                        <div>\n                            <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/Log\u043es-desktop.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                \n                        <\/a>\n                    <\/div>\n                    <div class=\"border-slide-rel\">\n                        <div class=\"swip-title-rel-qe mb-10\" style=\"\">\n                            <a href=\"https:\/\/innowise.com\/fr\/case\/ai-powered-compliance-ecosystem\/\" aria-label=\"AI-powered end-to-end compliance ecosystem\" >AI-powered end-to-end compliance ecosystem<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/fr\/cases\/ai\/\">AI<\/a><a href=\"\/fr\/cases\/aws\/\">AWS<\/a><a href=\"\/fr\/cases\/developpement-back-end\/\">Back-end development<\/a><a href=\"\/fr\/cases\/developpement-front-end\/\">Front-end development<\/a><a href=\"\/fr\/cases\/js\/\">JavaScript<\/a><a href=\"\/fr\/cases\/laravel\/\">Laravel<\/a><a href=\"\/fr\/cases\/php\/\">PHP<\/a>\n                        <\/div>\n                        <div class=\"slide__button-wrapper_mob\">\n                            <span class=\"slide__button-text_mob\">Read more<\/span>\n                            <img decoding=\"async\" class=\"slide__button-img_mob\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2021\/12\/arrow-more.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"slide__button-wrapper\">\n                <a href=\"https:\/\/innowise.com\/fr\/case\/ai-powered-compliance-ecosystem\/\" aria-label=\"Read more about AI-powered end-to-end compliance ecosystem\">\n                    <div class=\"arrow-btn3-rel\">\n                        <svg class=\"arrow-btn__svg\"\n                             width=\"110\"\n                             height=\"18\"\n                             viewBox=\"0 0 110 18\"\n                             fill=\"none\"\n                             xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M9 1L17 8.99999L9 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M0 9.00018L17 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M99 1L107 8.99999L99 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M90 9.00018L107 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                        <\/svg>\n                    <\/div>\n                <\/a>\n            <\/div>\n        <\/div>\n        <div class=\"swiper-slide\">\n            <div class=\"swiper-into-e1\">\n                <div class=\"swiper-slide__inner-container\">\n                    <div class=\"block-div-img-rel\">\n                        <a href=\"https:\/\/innowise.com\/fr\/case\/hosting-and-vps-customer-portal-development\/\" aria-label=\"block_196916\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/image-teaser-2.png\" alt=\"Octopus customer portal development for Serverplan\">\n                    <div class=\"cases-post__thumbnail_opencase_img\">\n                        <div>\n                            <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/Log\u043e-for-teaser.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                \n                        <\/a>\n                    <\/div>\n                    <div class=\"border-slide-rel\">\n                        <div class=\"swip-title-rel-qe mb-10\" style=\"\">\n                            <a href=\"https:\/\/innowise.com\/fr\/case\/hosting-and-vps-customer-portal-development\/\" aria-label=\"Octopus customer portal development for Serverplan\" >Octopus customer portal development for Serverplan<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/fr\/cases\/api\/\">API<\/a><a href=\"\/fr\/cases\/php\/\">PHP<\/a><a href=\"\/fr\/cases\/telecom\/\">Telecom<\/a><a href=\"\/fr\/cases\/vue-js\/\">Vue.js<\/a><a href=\"\/fr\/cases\/developpement-web\/\">Web development<\/a>\n                        <\/div>\n                        <div class=\"slide__button-wrapper_mob\">\n                            <span class=\"slide__button-text_mob\">Read more<\/span>\n                            <img decoding=\"async\" class=\"slide__button-img_mob\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2021\/12\/arrow-more.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"slide__button-wrapper\">\n                <a href=\"https:\/\/innowise.com\/fr\/case\/hosting-and-vps-customer-portal-development\/\" aria-label=\"Read more about Octopus customer portal development for Serverplan\">\n                    <div class=\"arrow-btn3-rel\">\n                        <svg class=\"arrow-btn__svg\"\n                             width=\"110\"\n                             height=\"18\"\n                             viewBox=\"0 0 110 18\"\n                             fill=\"none\"\n                             xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M9 1L17 8.99999L9 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M0 9.00018L17 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M99 1L107 8.99999L99 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M90 9.00018L107 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                        <\/svg>\n                    <\/div>\n                <\/a>\n            <\/div>\n        <\/div>\n        <div class=\"swiper-slide\">\n            <div class=\"swiper-into-e1\">\n                <div class=\"swiper-slide__inner-container\">\n                    <div class=\"block-div-img-rel\">\n                        <a href=\"https:\/\/innowise.com\/fr\/case\/ios-and-vr-meditation-app-development\/\" aria-label=\"block_194217\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/03\/iOS-and-VR-meditation-app-suite-for-Grozio-Planeta-UAB-2.png\" alt=\"iOS and VR meditation app suite for Gro\u017eio Planeta UAB\">\n                        <\/a>\n                    <\/div>\n                    <div class=\"border-slide-rel\">\n                        <div class=\"swip-title-rel-qe mb-10\" style=\"\">\n                            <a href=\"https:\/\/innowise.com\/fr\/case\/ios-and-vr-meditation-app-development\/\" aria-label=\"iOS and VR meditation app suite for Gro\u017eio Planeta UAB\" >iOS and VR meditation app suite for Gro\u017eio Planeta UAB<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/fr\/cases\/aws\/\">AWS<\/a><a href=\"\/fr\/cases\/django\/\">Django<\/a><a href=\"\/fr\/cases\/sante\/\">Healthcare<\/a><a href=\"\/fr\/cases\/mobile-development\/\">Mobile development<\/a><a href=\"\/fr\/cases\/php\/\">PHP<\/a><a href=\"\/fr\/cases\/python\/\">Python<\/a>\n                        <\/div>\n                        <div class=\"slide__button-wrapper_mob\">\n                            <span class=\"slide__button-text_mob\">Read more<\/span>\n                            <img decoding=\"async\" class=\"slide__button-img_mob\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2021\/12\/arrow-more.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"slide__button-wrapper\">\n                <a href=\"https:\/\/innowise.com\/fr\/case\/ios-and-vr-meditation-app-development\/\" aria-label=\"Read more about iOS and VR meditation app suite for Gro\u017eio Planeta UAB\">\n                    <div class=\"arrow-btn3-rel\">\n                        <svg class=\"arrow-btn__svg\"\n                             width=\"110\"\n                             height=\"18\"\n                             viewBox=\"0 0 110 18\"\n                             fill=\"none\"\n                             xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M9 1L17 8.99999L9 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M0 9.00018L17 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M99 1L107 8.99999L99 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M90 9.00018L107 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                        <\/svg>\n                    <\/div>\n                <\/a>\n            <\/div>\n        <\/div>\n        <div class=\"swiper-slide\">\n            <div class=\"swiper-into-e1\">\n                <div class=\"swiper-slide__inner-container\">\n                    <div class=\"block-div-img-rel\">\n                        <a href=\"https:\/\/innowise.com\/fr\/case\/custom-website-development-for-airline\/\" aria-label=\"block_193018\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/02\/airplane-in-the-sky.jpg\" alt=\"Multi-page charter airline website for a startup air carrier\">\n                    <div class=\"cases-post__thumbnail_opencase_img\">\n                        <div>\n                            <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/03\/Flyyo-logo.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                \n                        <\/a>\n                    <\/div>\n                    <div class=\"border-slide-rel\">\n                        <div class=\"swip-title-rel-qe mb-10\" style=\"\">\n                            <a href=\"https:\/\/innowise.com\/fr\/case\/custom-website-development-for-airline\/\" aria-label=\"Multi-page charter airline website for a startup air carrier\" >Multi-page charter airline website for a startup air carrier<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/fr\/cases\/php\/\">PHP<\/a><a href=\"\/fr\/cases\/transport\/\">Transportation<\/a><a href=\"\/fr\/cases\/design\/\">UI\/UX design<\/a><a href=\"\/fr\/cases\/developpement-web\/\">Web development<\/a><a href=\"\/fr\/cases\/website\/\">Website<\/a>\n                        <\/div>\n                        <div class=\"slide__button-wrapper_mob\">\n                            <span class=\"slide__button-text_mob\">Read more<\/span>\n                            <img decoding=\"async\" class=\"slide__button-img_mob\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2021\/12\/arrow-more.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"slide__button-wrapper\">\n                <a href=\"https:\/\/innowise.com\/fr\/case\/custom-website-development-for-airline\/\" aria-label=\"Read more about Multi-page charter airline website for a startup air carrier\">\n                    <div class=\"arrow-btn3-rel\">\n                        <svg class=\"arrow-btn__svg\"\n                             width=\"110\"\n                             height=\"18\"\n                             viewBox=\"0 0 110 18\"\n                             fill=\"none\"\n                             xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M9 1L17 8.99999L9 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M0 9.00018L17 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M99 1L107 8.99999L99 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M90 9.00018L107 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                        <\/svg>\n                    <\/div>\n                <\/a>\n            <\/div>\n        <\/div>\n        <div class=\"swiper-slide\">\n            <div class=\"swiper-into-e1\">\n                <div class=\"swiper-slide__inner-container\">\n                    <div class=\"block-div-img-rel\">\n                        <a href=\"https:\/\/innowise.com\/fr\/case\/fast-website-delivery\/\" aria-label=\"block_192516\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/02\/image-teaser-3.png\" alt=\"Fast Website Delivery for Family Businesses\">\n                    <div class=\"cases-post__thumbnail_opencase_img\">\n                        <div>\n                            <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/02\/Logo-symbolname-green-1.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                \n                        <\/a>\n                    <\/div>\n                    <div class=\"border-slide-rel\">\n                        <div class=\"swip-title-rel-qe mb-10\" style=\"\">\n                            <a href=\"https:\/\/innowise.com\/fr\/case\/fast-website-delivery\/\" aria-label=\"Fast Website Delivery for Family Businesses\" >Fast Website Delivery for Family Businesses<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/fr\/cases\/horeca\/\">HoReCa<\/a><a href=\"\/fr\/cases\/construction\/\">Construction<\/a><a href=\"\/fr\/cases\/cms\/\">CMS website development<\/a><a href=\"\/fr\/cases\/js\/\">JavaScript<\/a><a href=\"\/fr\/cases\/php\/\">PHP<\/a><a href=\"\/fr\/cases\/website\/\">Website<\/a><a href=\"\/fr\/cases\/wordpress\/\">WordPress<\/a>\n                        <\/div>\n                        <div class=\"slide__button-wrapper_mob\">\n                            <span class=\"slide__button-text_mob\">Read more<\/span>\n                            <img decoding=\"async\" class=\"slide__button-img_mob\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2021\/12\/arrow-more.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"slide__button-wrapper\">\n                <a href=\"https:\/\/innowise.com\/fr\/case\/fast-website-delivery\/\" aria-label=\"Read more about Fast Website Delivery for Family Businesses\">\n                    <div class=\"arrow-btn3-rel\">\n                        <svg class=\"arrow-btn__svg\"\n                             width=\"110\"\n                             height=\"18\"\n                             viewBox=\"0 0 110 18\"\n                             fill=\"none\"\n                             xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M9 1L17 8.99999L9 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M0 9.00018L17 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M99 1L107 8.99999L99 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M90 9.00018L107 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                        <\/svg>\n                    <\/div>\n                <\/a>\n            <\/div>\n        <\/div>\n        <div class=\"swiper-slide\">\n            <div class=\"swiper-into-e1\">\n                <div class=\"swiper-slide__inner-container\">\n                    <div class=\"block-div-img-rel\">\n                        <a href=\"https:\/\/innowise.com\/fr\/case\/thermal-image-analysis-software\/\" aria-label=\"block_170410\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2024\/08\/Thermal-analysis-software-upgrade_-40-faster-data-processing_small-cover-1.png\" alt=\"Thermal analysis software upgrade\">\n                        <\/a>\n                    <\/div>\n                    <div class=\"border-slide-rel\">\n                        <div class=\"swip-title-rel-qe mb-10\" style=\"\">\n                            <a href=\"https:\/\/innowise.com\/fr\/case\/thermal-image-analysis-software\/\" aria-label=\"Thermal analysis software upgrade\" >Thermal analysis software upgrade<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/fr\/cases\/conception-3d\/\">3D design<\/a><a href=\"\/fr\/cases\/developpement-back-end\/\">Back-end development<\/a><a href=\"\/fr\/cases\/construction\/\">Construction<\/a><a href=\"\/fr\/cases\/developpement-front-end\/\">Front-end development<\/a><a href=\"\/fr\/cases\/software-enhancement\/\">Software enhancement<\/a><a href=\"\/fr\/cases\/web\/\">Web<\/a>\n                        <\/div>\n                        <div class=\"slide__button-wrapper_mob\">\n                            <span class=\"slide__button-text_mob\">Read more<\/span>\n                            <img decoding=\"async\" class=\"slide__button-img_mob\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2021\/12\/arrow-more.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"slide__button-wrapper\">\n                <a href=\"https:\/\/innowise.com\/fr\/case\/thermal-image-analysis-software\/\" aria-label=\"Read more about Thermal analysis software upgrade\">\n                    <div class=\"arrow-btn3-rel\">\n                        <svg class=\"arrow-btn__svg\"\n                             width=\"110\"\n                             height=\"18\"\n                             viewBox=\"0 0 110 18\"\n                             fill=\"none\"\n                             xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M9 1L17 8.99999L9 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M0 9.00018L17 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M99 1L107 8.99999L99 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M90 9.00018L107 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                        <\/svg>\n                    <\/div>\n                <\/a>\n            <\/div>\n        <\/div>\n        <div class=\"swiper-slide\">\n            <div class=\"swiper-into-e1\">\n                <div class=\"swiper-slide__inner-container\">\n                    <div class=\"block-div-img-rel\">\n                        <a href=\"https:\/\/innowise.com\/fr\/case\/it-solutions-for-travel-industry\/\" aria-label=\"block_160038\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2024\/05\/Revamping-tour-operator-software-small-cover.png\" alt=\"Developing tour operator software\">\n                        <\/a>\n                    <\/div>\n                    <div class=\"border-slide-rel\">\n                        <div class=\"swip-title-rel-qe mb-10\" style=\"\">\n                            <a href=\"https:\/\/innowise.com\/fr\/case\/it-solutions-for-travel-industry\/\" aria-label=\"Developing tour operator software\" >Developing tour operator software<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/fr\/cases\/developpement-back-end\/\">Back-end development<\/a><a href=\"\/fr\/cases\/dart\/\">Dart<\/a><a href=\"\/fr\/cases\/developpement-front-end\/\">Front-end development<\/a><a href=\"\/fr\/cases\/laravel\/\">Laravel<\/a><a href=\"\/fr\/cases\/mobile-development\/\">Mobile development<\/a><a href=\"\/fr\/cases\/php\/\">PHP<\/a><a href=\"\/fr\/cases\/travel\/\">Travel<\/a>\n                        <\/div>\n                        <div class=\"slide__button-wrapper_mob\">\n                            <span class=\"slide__button-text_mob\">Read more<\/span>\n                            <img decoding=\"async\" class=\"slide__button-img_mob\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2021\/12\/arrow-more.svg\" alt=\"\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"slide__button-wrapper\">\n                <a href=\"https:\/\/innowise.com\/fr\/case\/it-solutions-for-travel-industry\/\" aria-label=\"Read more about Developing tour operator software\">\n                    <div class=\"arrow-btn3-rel\">\n                        <svg class=\"arrow-btn__svg\"\n                             width=\"110\"\n                             height=\"18\"\n                             viewBox=\"0 0 110 18\"\n                             fill=\"none\"\n                             xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M9 1L17 8.99999L9 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M0 9.00018L17 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M99 1L107 8.99999L99 17\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                            <path d=\"M90 9.00018L107 9.00018\"\n                                  stroke=\"#C63031\"\n                                  stroke-width=\"2\"\/>\n                        <\/svg>\n                    <\/div>\n                <\/a>\n            <\/div>\n        <\/div>\n                <\/div>\n                \n                <div class=\"swiper-related__navigation\" style=\"\">\n                    <button class=\"swiper-related__navigation-btn\" style=\"\">\n                        <svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <g>\n                                <path d=\"M12 4L4 12L12 20\" stroke=\"#2E2E2E\" stroke-width=\"2\"\/>\n                                <path d=\"M21 12.0002L4 12.0002\" stroke=\"#2E2E2E\" stroke-width=\"2\"\/>\n                            <\/g>\n                        <\/svg>\n                    <\/button>\n                \n                    <button class=\"swiper-related__navigation-btn\" style=\"\">\n                        <svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M13 4L21 12L13 20\" stroke=\"#2E2E2E\" stroke-width=\"2\"\/>\n                            <path d=\"M4 12.0002L21 12.0002\" stroke=\"#2E2E2E\" stroke-width=\"2\"\/>\n                        <\/svg>\n                    <\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n            <div class=\"cases-swiper-pagination case-slider-pagination\"><\/div>\n        <script src=\"\/wp-content\/themes\/hello-elementor\/assets\/js\/slb-case.js\"><\/script>  \n        <link rel=\"stylesheet\" href=\"\/wp-content\/themes\/hello-elementor\/assets\/css\/case-slider.css\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6d14f2e e-flex e-con-boxed e-con e-parent\" data-id=\"6d14f2e\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-69cdb98 elementor-widget elementor-widget-shortcode\" data-id=\"69cdb98\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f100240-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"100240\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/fr\/wp-json\/wp\/v2\/case\/198414#wpcf7-f100240-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" enctype=\"multipart\/form-data\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"100240\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.6\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f100240-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<style>\n.mailToContact br:nth-child(2){\ndisplay:none;\n}\n#form-templates .contact__info {\n  background-color: #f4f4f4;\n  padding: 70px 44px 70px 50px;\n  position: relative;\n  max-width: 540px;\n  width: 100%;\nborder: 1px solid #AEB1B7;\n}\n\n#form-templates .contact__info-background {\n  z-index: -1;\n  position: absolute;\n  top: 20px;\n  left: 20px;\n  width: 100%;\n  height: 100%;\n  border: 1px dashed #ef4557;\n}\n\n\n#form-templates .new-container{\ndisplay: flex;\njustify-content: space-between;\nflex-wrap: wrap;\n}\n\n\n#form-templates{\npadding: 100px 15px 100px 15px;        \n}\n\n#form-templates .contact__info-heading {\n  font-family: 'Sora' !important;\n  font-style: normal !important;\n  font-weight: 400 !important;\n  font-size: 36px !important;\n  line-height: 46px !important;\n  color: #2E2E2E !important;\n   margin-bottom: 60px !important;\n\n}\n\n\n#form-templates .message label{\ncolor: #585858 !important;   \n}\n\n.elementor-widget-container.form-template h2,.elementor-widget-container.form-template h1{\n font-size: 60px !important;\n  line-height: 70px !important;\n  font-family: \"Sora\", Sans-serif;\n  font-weight: 400;\n  margin: 0;  \n  margin-bottom: 20px;\n}\n\n\n\n\n.elementor-widget-container.form-template p{\n  font-family: \"Karla\", Sans-serif;\n  font-size: 22px;\n  font-weight: 400;\n  line-height: 28px;\n  color: var( --e-global-color-primary );\n  max-width: 700px;\n  margin: 0; \n  margin-bottom: 40px;\n} \n  \n\n\n.new-container #spinner{\nwidth: 50%;\nmax-width: 700px;\n}\n\n\n#form-templates .new-container #spinner div.contact-us__wrapper:nth-child(6){\ngap:30px; \n    \n}\n\n\n#form-templates .contact__info-heading {\n  margin-bottom: 67px;\n  font-size: 36px;\n  font-family: karla;\n  color:  #2E2E2E;\n\n  line-height: 49px;\n}\n\n#form-templates .contact__info-steps {\n  display: flex;\n  flex-direction: column;\n  max-width: 425x;\n  row-gap: 20px;\n  border-left: 1px solid #2e2e2e;\n}\n\n#form-templates .contact__info-block {\n  position: relative;\n  padding-left: 45px;\n}\n\n#form-templates .contact__info-block:last-child {\n  box-shadow: -1px 0 0 1px #f4f4f4;\n}\n\n#form-templates .contact__info-step {\n  position: absolute;\n  border: 1px solid #2e2e2e;\n  width: 40px;\n  height: 40px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 20px;\n  left: -20px;\n  top: -8px;\n  background-color: #F4F4F4;\n  color:  #2E2E2E;\n\nfont-family: Karla;\nfont-weight: 700;\nfont-size: 18px;\nline-height: 28px;\n\n}\n\n.elementor-widget-global .contact__info-step {\n        color:  #2E2E2E;\n}\n\n#form-templates .contact__info-text {\n  margin: 0;\n  font-size: 16px;\n  line-height: 26px;\n  color: #2E2E2E;\n  font-family: karla;\n\n  width: 100%;\n}\n\n\n#form-templates .contact-us__send{\nflex-shrink: 0;\nmargin-top:0;\n}\n\n\n\n@media screen and (max-width: 1279px) {\n    .new-container #spinner{\n        width: 100%;\n        max-width:100%;\n        margin-bottom:40px;\n    }\n    \n\n    .new-container .contact__info {\n        max-width: 700px !important;\n    }\n    \n}\n\n\n@media screen and (max-width: 1279px) {\n#form-templates{\npadding: 60px 15px 70px 15px;     \n}\n}\n\n\n\n@media screen and (max-width: 767px) {\n\n#form-templates .new-container #spinner div.contact-us__wrapper:nth-child(6){\ngap:20px; \n \n}\n\n\n  #form-templates .contact__info {\n    padding: 20px 20px 40px 40px;\n    margin: 0 auto;\n  }\n\n\n#form-templates{\npadding: 40px 15px 50px 15px;  \n    \n}\n\n  \n   .new-container #spinner{\n       \n    margin-bottom:30px;   \n   }\n   \n   \n   .elementor-widget-container #form-templates .form-template h2,.elementor-widget-container.form-template h1{\n   font-size: 32px !important;\n    line-height: 42px !important;    \n   }\n   \n   \n   .elementor-widget-container #form-templates .form-template p{\n       \n    font-size: 16px;\n    line-height: 20px;  \n    margin-bottom: 30px !important;\n \n       \n   }\n   \n   #form-templates .contact__info-heading{\n   font-size: 24px !important;\n    line-height: 49px !important;    \n       \n   }\n   \n\n.mailToContact{\nmargin-top: 10px !important;        \n}\n\n   \n\n  #form-templates .contact__info-heading {\n    font-size: 24px;\n    margin-bottom: 37px;\n  }\n\n  #form-templates .contact__info-background {\n    top: 10px;\n    left: 10px;\n  }\n\n  #form-templates .contact__info-text {\n    font-size: 12px;\n    line-height: 20px;\n  }\n  \n  \n  #form-templates .contact__info-heading {\n   margin-bottom: 35px !important;\n\n}\n\n}\n\n@media (max-width: 767px) {\n    .mailToContact {\n        max-width: 100%;\n    }\n    .contact-us__wrapper .pp {\nfont-size: 12px !important;\nline-height: 140%;\nmargin-bottom: 0 !important;\n\n}\n}\n<\/style>\n\n<script>\nwindow.addEventListener('hashchange',function(e){if(window.history.pushState){window.history.pushState('','\/',window.location.pathname)}else{window.location.hash=''}})\n<\/script>\n\n\n<div id=\"form-templates\">\n<div class=\"elementor-widget-container form-template\">\n<a name=\"contact-form\"><\/a>\n<h2>Contact us<\/h2>\n<p><a id=\"calendlylink\" style=\"color: #c63031; border-bottom: 1px solid #c63031; padding: 0;\">Book a call<\/a> or fill out the form below and we\u2019ll get back to you once we\u2019ve processed your request.<\/p>\n<\/div>\n\n<div class=\"new-container\">\n\n\n<div class=\"contact-us__main\" id=\"spinner\" data-no-defer=\"1\">\n\n<div class=\"contact-us__wrapper\">\n\n<div class=\"name\">\n<label>Name<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"field_name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required contact-us__name\" id=\"contact-name\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Name*\" value=\"\" type=\"text\" name=\"field_name\" \/><\/span>\n<\/div>\n\n<div class=\"company\">\n<label>Company<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"company\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required contact-us__company\" id=\"contact-company\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Company*\" value=\"\" type=\"text\" name=\"company\" \/><\/span>\n<\/div>\n\n<\/div>\n\n<div class=\"contact-us__wrapper\">\n\n<div class=\"email\">\n<label>Email<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email contact-us__email\" id=\"contact-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Corporate email*\" value=\"\" type=\"email\" name=\"email\" \/><\/span>\n<\/div>\n\n<div class=\"phone\">\n<label>Phone<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"tel\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel contact-us__phone\" id=\"contact-phone\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Phone*\" value=\"\" type=\"tel\" name=\"tel\" \/><\/span>\n<\/div>\n\n<\/div>\n<div class=\"contact-us__wrapper subj\">\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-recipient\"><select class=\"wpcf7-form-control wpcf7-select\" id=\"form-field-subj_js\" aria-invalid=\"false\" name=\"your-recipient\"><option value=\"\">Subject*<\/option><option value=\"IT staff augmentation\">IT staff augmentation<\/option><option value=\"Turnkey product development\">Turnkey product development<\/option><option value=\"Support and enhancement\">Support and enhancement<\/option><option value=\"Careers\">Careers<\/option><option value=\"Other\">Other<\/option><\/select><\/span>\n\n<span class=\"wpcf7-form-control-wrap\" data-name=\"form-field-budget_js\"><select class=\"wpcf7-form-control wpcf7-select\" id=\"form-field-budget_js\" aria-invalid=\"false\" name=\"form-field-budget_js\"><option value=\"\">Project budget<\/option><option value=\"Under $15K\">Under $15K<\/option><option value=\"$15K-$30K\">$15K-$30K<\/option><option value=\"$30K-$100K\">$30K-$100K<\/option><option value=\"$100K-$250K\">$100K-$250K<\/option><option value=\"$250K-$500K\">$250K-$500K<\/option><option value=\"More than $500K\">More than $500K<\/option><\/select><\/span>\n\n<\/div>\n\n\n<div class=\"message\">\n<label>Message<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"message\"><textarea cols=\"40\" rows=\"1\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required contact-us__message\" id=\"contact-message\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Describe your needs in detail*\" name=\"message\"><\/textarea><\/span>\n<\/div>\n\n<div class=\"atvoice-wrap\">\n\n<div class=\"voice-wrap\">\n<span id=\"voice-mut\" class=\"voicetext\">Send us a voice message<\/span>\n         <div class=\"qc_voice_audio_wrapper\">\n            <div class=\"qc_voice_audio_container\">\n                <div class=\"qc_voice_audio_upload_main\" id=\"qc_audio_main\">\n                    <a class=\"qc_audio_record_button\" id=\"qc_audio_record\" href=\"#\" aria-label=\"Record an audio message\">\n                        <span class=\"dashicons dashicons-microphone\"><\/span> \u00a0<\/a> \n                <\/div>\n\n                <div class=\"qc_voice_audio_recorder\" id=\"qc_audio_recorder\" style=\"display:none\">\n\n                <\/div>\n                <div class=\"qc_voice_audio_display\" id=\"qc_audio_display\"  style=\"display:none\">\n                    <audio id=\"qc-audio\" controls src=\"\"><\/audio>\n                    <span title=\"Remove and back to main upload screen.\" class=\"qc_audio_remove_button dashicons dashicons-trash\"><\/span>\n                <\/div>\n            <\/div>\n            <input type=\"hidden\" value=\"\" name=\"qcwpvoicemessage\" id=\"qc_audio_url\" \/>\n        <\/div>\n        \n<\/div>\n\n\n<div class=\"attach-wrap\">\n<span class=\"voicetext\">Attach documents<\/span>\n\n<div class='attachment'>\n\n<div class=\"downloaded\">\n<span><\/span>\n<div class=\"deleteFile\"><\/div>\n<\/div>\n\n<div class=\"attachmentButton\" onclick=\"(function cl(e){if(e.target.nodeName == 'DIV'){e.target.parentNode.children[1].children[0].click(); }})(arguments[0]);\">\n\n<div class=\"innerText\">Upload file<\/div>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"att-files\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".jpg,.png,.jpeg,.pdf\" aria-invalid=\"false\" type=\"file\" name=\"att-files\" \/><\/span>\n\n<div class=\"tip\" onclick=\"event.stopPropagation()\">\n<p>You can attach 1 file up to 2MB. Valid file formats: pdf, jpg, jpeg, png.<\/p>\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<\/div>\n\n<div class=\"contact-us__wrapper\"> \n<p class=\"pp\">By clicking Send, you consent to Innowise processing your personal data per our<a href=\"\/privacy-notice\/\"> Privacy Policy <\/a>to provide you with relevant information. By submitting your phone number, you agree that we may contact you via voice calls, SMS, and messaging apps. Calling, message, and data rates may apply.<\/p>\n\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"scoring_point\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmCampaign\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmContent\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmMedium\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmSource\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmTerm\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"location\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"city\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"ip\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"Summ\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"gclid\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"rating\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"urlCompany\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"urlWithParams\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"audioMessageLink\" \/>\n<input class=\"wpcf7-form-control wpcf7-submit has-spinner contact-us__send\" id=\"contact-send-button\" type=\"submit\" value=\"Send\" \/>\n<\/div>\n\n<div class='mailToContact'>You can also send us your request <\/br>to <a href=\"mailto:contact@innowise.com\">contact@innowise.com<\/a><\/div>\n\n<\/div>\n\n<div class=\"elementor-widget-container\" style=\"z-index:1;\">\n<div class=\"contact__info\">\n  <div class=\"contact__info-background\"><\/div>\n  <div class=\"contact__info-heading\">What happens next?<\/div>\n  <div class=\"contact__info-steps\">\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">1<\/div>\n      <p class=\"contact__info-text\">Once we\u2019ve received and processed your request, we\u2019ll get back to you to detail your\n        project needs and sign an NDA to ensure confidentiality.<\/p>\n    <\/div>\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">2<\/div>\n      <p class=\"contact__info-text\">After examining your wants, needs, and expectations, our team will devise a project\n        proposal with the scope of work, team size, time, and cost estimates.<\/p>\n    <\/div>\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">3<\/div>\n      <p class=\"contact__info-text\">We\u2019ll arrange a meeting with you to discuss the offer and nail down the details.<\/p>\n    <\/div>\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">4<\/div>\n      <p class=\"contact__info-text\">Finally, we\u2019ll sign a contract and start working on your project right away.<\/p>\n    <\/div>\n  <\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\n<\/div>\n\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"other_services_container\">[other_services]<\/div><script>\n            jQuery( document ).ready(function($) {\n                if($('[data-elementor-type=\"wp-post\"]').length > 0){\n                    $('[data-elementor-type=\"wp-post\"]').children().last().before($('.other_services_container'));\n                }else{\n                    $('[data-elementor-type=\"wp-page\"]').children().last().before($('.other_services_container'));\n                }\n                \n                var sections = $('[data-elementor-type=\"wp-post\"]').find('.net-15.dt-16');\n                for(var i = 0; i<sections.length; i++){\n                    \n                    if($(sections[i]).hasClass( 'net-15' ) && $(sections[i]).hasClass( 'dt-16' ) && $(sections[i]).hasClass( 'elementor-hidden-desktop' )==false){\n                        $(sections[i]).before($('.other_services_container'));   \n                    }\n                }\n                \n            });\n        <\/script>","protected":false},"excerpt":{"rendered":"<p>Modernization and support for Sovendus\u2019s coupon aggregator Innowise helped Sovendus update its online coupon platform, working on both backend and frontend development and migrating the legacy monolith to a microservices architecture. Fewer vulnerabilities after tech stack updates Smoother coupon flows for partner shop users Schedule a consultation Industry E-commerce, marketing Employees 51\u2013200 Region Germany Services [&hellip;]<\/p>\n","protected":false},"author":170,"featured_media":198456,"template":"elementor_header_footer","cases":[810,1182],"class_list":["post-198414","case","type-case","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/case\/198414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/case"}],"about":[{"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/types\/case"}],"author":[{"embeddable":true,"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/users\/170"}],"version-history":[{"count":0,"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/case\/198414\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/media\/198456"}],"wp:attachment":[{"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/media?parent=198414"}],"wp:term":[{"taxonomy":"cases","embeddable":true,"href":"https:\/\/innowise.com\/fr\/wp-json\/wp\/v2\/cases?post=198414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}