{"id":196663,"date":"2026-05-08T02:55:50","date_gmt":"2026-05-08T06:55:50","guid":{"rendered":"https:\/\/innowise.com\/?post_type=case&#038;p=196663"},"modified":"2026-05-13T02:30:39","modified_gmt":"2026-05-13T06:30:39","slug":"iot-plant-watering-system","status":"publish","type":"case","link":"https:\/\/innowise.com\/pl\/case\/iot-plant-watering-system\/","title":{"rendered":"Zautomatyzowany robot do podlewania ro\u015blin"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"196663\" class=\"elementor elementor-196663\">\n\t\t\t\t<div class=\"elementor-element elementor-element-969550b e-flex e-con-boxed e-con e-parent\" data-id=\"969550b\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-9408021 e-con-full e-flex e-con e-child\" data-id=\"9408021\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-25bb822 elementor-widget__width-initial elementor-widget-tablet__width-initial elementor-widget elementor-widget-heading\" data-id=\"25bb822\" 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\">Intelligent IoT-based robot to navigate the office and water plants<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-699e258 last-child-mb-0 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"699e258\" 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;\">Innowise robotics department developed a proprietary smart robot to navigate office premises and water plants without human intervention.<\/span><\/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-3f27c76 e-con-full e-grid e-con e-child\" data-id=\"3f27c76\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-645087f e-con-full e-flex e-con e-child\" data-id=\"645087f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-956f74c last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"956f74c\" 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>Real office routing around people and furniture<\/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-c52ec9d e-con-full e-flex e-con e-child\" data-id=\"c52ec9d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9cb715e last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"9cb715e\" 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>Multi-height watering for desks, shelves, and racks<\/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-63615fe elementor-mobile-align-justify elementor-widget-mobile__width-inherit btn-min-320 elementor-widget elementor-widget-button\" data-id=\"63615fe\" 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\">Start my project<\/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-f891463 e-con-full e-flex e-con e-child\" data-id=\"f891463\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2e39233 elementor-widget elementor-widget-html\" data-id=\"2e39233\" 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    color: #2e2e2e;\n    background-color: #FFFFFF;\n    width: 400px;\n}\n\n.hero-info-card__content {\n    display: flex;\n    flex-direction: column;\n    row-gap: 20px;\n    padding: 30px;\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    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\/05\/smart-robot-automated-facility-plant-care.png\" alt=\"Smart robotics system combining mobility and precision watering for automated facility care\" \/>\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\">IT, Custom software development<\/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\"><span id=\"employers-count\">3,500+<\/span> <\/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\">EU<\/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\">Software development, Back-end development, Front-end development, Discovery <\/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-f111582 article-description e-con-full e-flex e-con e-parent\" data-id=\"f111582\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-46eb7dd author-article e-con-full e-flex e-con e-child\" data-id=\"46eb7dd\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-ff4cdb1 e-con-full e-flex e-con e-child\" data-id=\"ff4cdb1\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-2c9d407 e-con-full e-flex e-con e-child\" data-id=\"2c9d407\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-78b1930 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"78b1930\" 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-28c970f elementor-widget elementor-widget-shortcode\" data-id=\"28c970f\" 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-27e20ed elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"27e20ed\" 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;\">Innowise is a global full-cycle software development provider with 3,500+ IT specialists on board. The company has delivered 1,600+ projects for customers from 70 countries, covering software engineering, product development, and technology consulting across multiple industries. For this case, Innowise acted as both the customer and the development team, as the project was created as an internal R&amp;D initiative.<\/span><\/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-ec08c53 e-con-full e-flex e-con e-child\" data-id=\"ec08c53\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-50cb88a elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"50cb88a\" 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-e65a4ab elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"e65a4ab\" 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 was using a mix of HubSpot CRM, Jira, spreadsheets, and documents to manage data. As the company grew quickly, this approach led to chaotic processes, with information scattered across systems and often duplicated. We needed a unified solution to centralize data, standardize processes, and provide secure access across teams.<\/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-dffdd8c elementor-widget elementor-widget-html\" data-id=\"dffdd8c\" 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 30px;\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 30px;\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    padding: 40px 40px 0 40px;\r\n    margin-left: 40px;\r\n}\r\n\r\n.challenge-tab-content>* {\r\n    margin: 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    .challenge-tab-content.challenge-tab-content--active {\r\n    margin-left: 0px;\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        <ul class=\"challenge-tab-content challenge-tab-content--active\">\r\n            <li><b>Routine plant care. <\/b>Office plants needed regular watering, but manual care depended on people remembering the task and reaching plants placed across desks, shelves, racks, and other office areas.<\/li>\r\n            <li><b>R&D validation. <\/b>As an internal project, IRIS had to solve a real office problem while also giving the robotics team a practical way to test autonomous navigation, plant detection, and IoT-based control in a live indoor environment.<\/li>\r\n            <li><b>Demo value. <\/b>The project also needed to work as a demo of Innowise\u2019s robotics expertise. Rather than talking about robotics, the team aimed to build a working robot that could show how IoT, embedded systems, computer vision, and hardware engineering can handle a routine office task without human involvement.<\/li>\r\n        <\/ul>\r\n        \r\n        <ul class=\"challenge-tab-content\">\r\n            <li><b>Indoor navigation. <\/b>The robot had to move through office rooms, build a map of the space, avoid furniture, and react to moving obstacles like employees.<\/li>\r\n            <li><b>Plant detection. <\/b>The system needed to detect plants, estimate their position, and decide whether they needed watering using computer vision, LiDAR, cameras, and QR-code-based plant records.<\/li>\r\n            <li><b>Watering at different heights. <\/b>Plants were placed on desks, shelves, racks, and high bookcases, so the robot needed a lifting and irrigation mechanism that could reach different levels without making the whole device too tall or unstable.<\/li>\r\n            <li><b>Hardware and software integration. <\/b>The team had to combine the moving platform, tank, battery, elevator, sensors, embedded components, backend, frontend, and cloud services into one working robotic system.<\/li>\r\n        <\/ul>\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\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-98ac7d6 e-con-full e-flex e-con e-child\" data-id=\"98ac7d6\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-7034a4f e-con-full e-flex e-con e-child\" data-id=\"7034a4f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5960d7a elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"5960d7a\" 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\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a4ce714 e-con-full e-flex e-con e-child\" data-id=\"a4ce714\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1d57101 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"1d57101\" 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\">Discovery & planning<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-34c95d3 e-con-full e-flex e-con e-child\" data-id=\"34c95d3\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-868bddb elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"868bddb\" 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;\">The team started by defining what the robot had to do in an office environment. IRIS (Innowise Robotics Irrigation System) needed to move through rooms, detect plants, understand whether they needed watering, reach them at different heights, and complete the task without constant human input.<\/span><\/p><p><span style=\"font-weight: 400;\">At the planning stage, the team mapped out the main technical blocks: indoor navigation, plant detection, QR-code-based plant records, the moving platform, the water tank, the elevator mechanism, and the software components needed to process routes, sensor data, and watering history.<\/span><\/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-c778827 e-con-full e-flex e-con e-child\" data-id=\"c778827\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-414a37c elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"414a37c\" 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-1c4ef7c e-con-full e-flex e-con e-child\" data-id=\"1c4ef7c\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3e82aaa elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"3e82aaa\" 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;\">Our vetted robotics developers designed IRIS as an autonomous IoT robot combining hardware, embedded components, computer vision, and software. The hardware part included a moving platform, battery, water tank, elevator mechanism, sensors, cameras, and a watering rod.<\/span><\/p><p><span style=\"font-weight: 400;\">For navigation, the robot uses SLAM, ROS, LiDAR, and computer vision to map office spaces and build routes around furniture, employees, and other obstacles. For plant detection, the system combines camera input, object detection models, QR codes, and watering history records, so the robot can identify each plant and check whether watering is needed.<\/span><\/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-3073efc e-con-full e-flex e-con e-child\" data-id=\"3073efc\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-69698ae elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"69698ae\" 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<div class=\"elementor-element elementor-element-2f4fb3f e-con-full e-flex e-con e-child\" data-id=\"2f4fb3f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eb65cfb elementor-widget__width-inherit elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"eb65cfb\" 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<h4 class=\"elementor-heading-title elementor-size-default\">Office mapping & navigation<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7019266 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"7019266\" 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;\">Our robotics experts started by mapping office spaces to create a detailed IoT plant monitoring system, identifying plant locations, obstacles, furniture, and other objects that could affect the robot\u2019s movement. We used SLAM technology to support predictable routing across office rooms. SLAM determines the robot\u2019s location while creating an environment map using computer vision algorithms, LiDAR laser scanners, and other sensor tools.<\/span><\/p><p><span style=\"font-weight: 400;\">We used LiDAR connected to the Raspberry Pi microcomputer mounted directly on the robot to detect obstacles and identify plants. ROS, the Robotic Operating System, and the main computer use this visual information to process navigation data, calculate routes, and map the office surroundings.<\/span><\/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-3f9c59b elementor-widget elementor-widget-image\" data-id=\"3f9c59b\" 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\/05\/indoor-robot-navigation-map.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"indoor-robot-navigation-map\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTk2NjgzLCJ1cmwiOiJodHRwczpcL1wvaW5ub3dpc2UuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNVwvaW5kb29yLXJvYm90LW5hdmlnYXRpb24tbWFwLnBuZyJ9\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1000\" height=\"570\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/indoor-robot-navigation-map.png\" class=\"attachment-full size-full wp-image-196683\" alt=\"Indoor mapping system helping the robot plan safe routes around office rooms and obstacles\" srcset=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/indoor-robot-navigation-map.png 1000w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/indoor-robot-navigation-map-300x171.png 300w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/indoor-robot-navigation-map-768x438.png 768w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/indoor-robot-navigation-map-18x10.png 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/>\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 class=\"elementor-element elementor-element-83b7610 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"83b7610\" 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;\">During this stage, our team had to deal with limited visibility when detecting plain objects such as tables, shelves, chairs, and other interior items that could block the robot\u2019s view or be misidentified. The robot also had to handle dynamic obstacles in an office environment, where employees and moving objects can suddenly change position and direction. To reduce the risk of collisions, our team used computer vision and machine learning algorithms, including image segmentation, object detection, noise filtering, and other methods. We also equipped the robot with motion planning algorithms such as Rapidly-exploring Random Trees (RRT) and A* (A-star), which consider the position and shape of obstacles when identifying the best path in real time.<\/span><\/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-d95ed75 e-con-full e-flex e-con e-child\" data-id=\"d95ed75\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-92a1ae4 elementor-widget__width-inherit elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"92a1ae4\" 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<h4 class=\"elementor-heading-title elementor-size-default\">Plant detection & watering logic<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36c0710 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"36c0710\" 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;\">Initially, we planned to use stereoscopic cameras to determine the plants\u2019 location, calculate their position, and create a route. After brainstorming sessions, we developed an alternative scheme where the robot took a picture and recorded its coordinates in space. Robotics engineers used a neural network to find the plant in the frame, calculate its bounding box, and determine the flower\u2019s direction.<\/span><\/p><p><span style=\"font-weight: 400;\">In image processing projects, bounding boxes serve as reference points for object detection and create collision boxes for detected objects. Based on the robot\u2019s coordinates, the camera\u2019s orientation, and the flower\u2019s location, we drew a ray connecting the robot\u2019s position with the plant. After repeating this process many times, we obtained multiple rays intersecting at one point, which allowed the robot to detect the plant that needed watering.<\/span><\/p><p><span style=\"font-weight: 400;\">Our engineers relied on models trained on COCO and ImageNet datasets to identify flowers in pots. Based on this model, we filtered out unnecessary classes and developed a custom detector that synchronizes the bounding box direction with the robot\u2019s coordinates. To determine the precise spatial coordinates of the watering rod, we used a bundle of cameras and LiDAR.<\/span><\/p><p><span style=\"font-weight: 400;\">Once the robot detects a plant, it identifies its accurate position in space and determines whether it should be watered. For this purpose, we labeled all office pots with QR codes connected to databases where the watering history of all plants is stored.<\/span><\/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-5f1d1b9 elementor-widget elementor-widget-image\" data-id=\"5f1d1b9\" 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\/05\/computer-vision-plant-recognition.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"computer-vision-plant-recognition\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTk2Njg0LCJ1cmwiOiJodHRwczpcL1wvaW5ub3dpc2UuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNVwvY29tcHV0ZXItdmlzaW9uLXBsYW50LXJlY29nbml0aW9uLnBuZyJ9\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1000\" height=\"570\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/computer-vision-plant-recognition.png\" class=\"attachment-full size-full wp-image-196684\" alt=\"Computer vision system identifying plants in office space to enable autonomous robotic watering decisions\" srcset=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/computer-vision-plant-recognition.png 1000w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/computer-vision-plant-recognition-300x171.png 300w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/computer-vision-plant-recognition-768x438.png 768w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/computer-vision-plant-recognition-18x10.png 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/>\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-c0f7cb3 e-con-full e-flex e-con e-child\" data-id=\"c0f7cb3\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-df56c29 elementor-widget__width-inherit elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"df56c29\" 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<h4 class=\"elementor-heading-title elementor-size-default\">Moving platform<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3263b3d elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"3263b3d\" 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;\">For the hardware, the robotics team chose a modular system that included a moving platform with electronics, a water storage tank, a battery, and a two-level elevator system. We used a V-Slot aluminum profile to assemble the robot\u2019s frame because it is durable and lightweight, which supports better maneuverability and lower energy consumption.<\/span><\/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-add003c elementor-widget elementor-widget-image\" data-id=\"add003c\" 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\/05\/modular-aluminum-frame-robot-construction.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"modular-aluminum-frame-robot-construction\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTk2Njg1LCJ1cmwiOiJodHRwczpcL1wvaW5ub3dpc2UuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNVwvbW9kdWxhci1hbHVtaW51bS1mcmFtZS1yb2JvdC1jb25zdHJ1Y3Rpb24ucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1000\" height=\"570\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/modular-aluminum-frame-robot-construction.png\" class=\"attachment-full size-full wp-image-196685\" alt=\"Modular aluminum frame system enabling flexible robot assembly and scalable hardware design\" srcset=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/modular-aluminum-frame-robot-construction.png 1000w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/modular-aluminum-frame-robot-construction-300x171.png 300w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/modular-aluminum-frame-robot-construction-768x438.png 768w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/modular-aluminum-frame-robot-construction-18x10.png 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/>\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 class=\"elementor-element elementor-element-388ac74 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"388ac74\" 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;\">Instead of standard differential drives, we placed omni-wheels at the corners of the robot to support smooth navigation. Omni-wheels, or omnidirectional wheels, have small rollers around the circumference that can rotate on their own axis or perpendicularly. So, the robot moves in any direction without rotating the main structure, using only the difference in velocity between each wheel.<\/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-c0d9666 elementor-widget elementor-widget-image\" data-id=\"c0d9666\" 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\/05\/omnidirectional-wheel-robot-navigation-system.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"omnidirectional-wheel-robot-navigation-system\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTk2Njg3LCJ1cmwiOiJodHRwczpcL1wvaW5ub3dpc2UuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNVwvb21uaWRpcmVjdGlvbmFsLXdoZWVsLXJvYm90LW5hdmlnYXRpb24tc3lzdGVtLnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"570\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/omnidirectional-wheel-robot-navigation-system.png\" class=\"attachment-full size-full wp-image-196687\" alt=\"Omnidirectional wheel system enabling precise robot movement and navigation in confined indoor spaces\" srcset=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/omnidirectional-wheel-robot-navigation-system.png 1000w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/omnidirectional-wheel-robot-navigation-system-300x171.png 300w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/omnidirectional-wheel-robot-navigation-system-768x438.png 768w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/omnidirectional-wheel-robot-navigation-system-18x10.png 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/>\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-e2750f1 e-con-full e-flex e-con e-child\" data-id=\"e2750f1\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e3ef032 elementor-widget__width-inherit elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"e3ef032\" 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<h4 class=\"elementor-heading-title elementor-size-default\">Elevator & irrigation system<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9862bc5 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"9862bc5\" 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;\">Flowers are placed on employees\u2019 desks, shelves, racks, high bookcases, and other spots that are hard to reach. To avoid building a bookcase-high robot, our experts assembled a lifting mechanism based on sliding rollers. With OpenBuilds V-Slot profile parts, we fixed the elevator steps rigidly to each other with carriages and rollers that slide along the lifting mechanism. The carriages are moved by a belt stretched between a motor and a tensioning unit mounted on the other side.<\/span><\/p><p><span style=\"font-weight: 400;\">At the top of the last elevator step, we installed a servo motor that unfolds a carbon fiber rod for watering flowers. The rod is connected to a peristaltic pump installed in the water tank. Standard rotary pumps are sensitive to the volume of liquid, so we used peristaltic pumps, which squeeze an elastic tube through rollers on the circumference and push the liquid out. Compared to standard pumps, these mechanisms have a much slower pumping speed, but they can lift liquid to a much greater height.<\/span><\/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-e7fe297 elementor-widget__width-inherit elementor-widget elementor-widget-image\" data-id=\"e7fe297\" 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\/05\/autonomous-plant-care-robot-platform.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"autonomous-plant-care-robot-platform\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTk2Njg2LCJ1cmwiOiJodHRwczpcL1wvaW5ub3dpc2UuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNVwvYXV0b25vbW91cy1wbGFudC1jYXJlLXJvYm90LXBsYXRmb3JtLnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"570\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/autonomous-plant-care-robot-platform.png\" class=\"attachment-full size-full wp-image-196686\" alt=\"Autonomous mobile robot platform designed for indoor navigation and automated plant care tasks\" srcset=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/autonomous-plant-care-robot-platform.png 1000w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/autonomous-plant-care-robot-platform-300x171.png 300w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/autonomous-plant-care-robot-platform-768x438.png 768w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/autonomous-plant-care-robot-platform-18x10.png 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/>\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-c2bcf10 e-con-full e-flex e-con e-child\" data-id=\"c2bcf10\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a14ce73 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"a14ce73\" 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<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b252005 e-con-full e-flex e-con e-child\" data-id=\"b252005\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6074a99 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"6074a99\" 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;\">We treated IRIS as an R&amp;D project and tested the robot in real office conditions from the start. Robotics engineers, firmware developers, backend and frontend specialists, ML experts, and DevOps engineers worked closely, shared progress often, and shaped next steps based on test results. Regular meetings, brainstorming sessions, and retrospectives kept the work organized. The team discussed blockers, adjusted priorities, and fixed design issues before preparing the robot for demos.<\/span><\/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-db88e4a elementor-widget elementor-widget-html\" data-id=\"db88e4a\" 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    border-image: linear-gradient(93.93deg, #60B5FF 3.21%, #EB757C 96.79%) 1;  \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@media screen and (max-width:767px) {\n    \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\">\n            My main takeaway from IRIS is that office robotics depends on small engineering decisions. A robot can have a good route on the map, but the real test starts when it moves near desks, shelves, people, and plants placed at different heights. This project pushed us to think about behavior, mechanics, sensors, and software as one system, because one weak link changes the whole result.\n        <\/p>\n        <div class=\"quote-author__container\">\n            <img decoding=\"async\" class=\"quote-author__img\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2025\/05\/Eugene-Govor.png\" alt=\"Eugene Govor\" \/>\n            <div class=\"quote-author__info\">\n                <a href=\"https:\/\/innowise.com\/pl\/authors\/eugene-govor\/\" class=\"quote-author__name\">Eugene Govor<\/a>\n                <span class=\"quote-author__role\">Head of Embedded & C++<\/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-457adad e-con-full e-flex e-con e-child\" data-id=\"457adad\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cd771a3 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"cd771a3\" 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-4244da8 elementor-widget elementor-widget-html\" data-id=\"4244da8\" 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\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    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\r\n      round;\r\n  }\r\n\r\n  h4.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    color: #2E2E2E;\r\n  }\r\n\r\n  p.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    color: #2E2E2E;\r\n  }\r\n\r\n  @media screen and (max-width: 1024px) {\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\">Backend<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">\r\n      Python, Django REST Framework, FastAPI, AWS IoT Core, pandas, Loki, Prometheus, Grafana, API Gateway, AWS;\r\n    <\/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\">\r\n      JavaScript, TypeScript, React, Redux, Leaflet, Webpack, Axios, Material UI, Cube.js, AWS CloudFront;\r\n    <\/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\">Embedded<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">AVR, Raspberry Pi, SPI, UART, USB, I2C, HTTP, SolidWorks, ROS, SLAM, LiDAR, Altium Designer;<\/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\">ML\/DS<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">\r\n      OpenCV, TensorFlow, TFLite, ONNX, NumPy;\r\n    <\/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\">DevOps<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">\r\n      Terraform, Weave, Docker Compose, Kubernetes, Bitbucket Pipelines;\r\n    <\/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<\/h4>\r\n    <\/div>\r\n    <p class=\"tech-grid-item__techs\">PostgreSQL, AWS Timestream.<\/p>\r\n  <\/div>\r\n<\/div>\r\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-8398c04 e-con-full e-flex e-con e-child\" data-id=\"8398c04\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-0637559 e-con-full e-flex e-con e-child\" data-id=\"0637559\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-abb9c1e elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"abb9c1e\" 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\">Team<\/h2>\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-fc18027 e-con-full e-flex e-con e-child\" data-id=\"fc18027\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-02b2e61 elementor-widget elementor-widget-html\" data-id=\"02b2e61\" 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-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  <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\">Business Analyst<\/span>\r\n  <\/div>\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\">Software Architect<\/span>\r\n  <\/div>\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\">Team Lead<\/span>\r\n  <\/div>\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\">Hardware Engineers<\/span>\r\n  <\/div>\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\">Firmware Developers<\/span>\r\n  <\/div>\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\">Back-End Developers<\/span>\r\n  <\/div>\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  <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\">DevOps Engineer<\/span>\r\n  <\/div>\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\">ML\/DS Engineer<\/span>\r\n  <\/div>\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\">3D Modeller<\/span>\r\n  <\/div>\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\">Design Engineer<\/span>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n  .team-grid {\r\n    display: grid;\r\n\r\n    width: 100%;\r\n\r\n    grid-template-columns: repeat(3, 1fr);\r\n    gap: 20px;\r\n\r\n    place-items: stretch;\r\n\r\n    color: #2e2e2e;\r\n  }\r\n\r\n  .team-title-wrapper,\r\n  .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  }\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\r\n    background-color: #f5f5f7;\r\n  }\r\n\r\n  h2.team-title {\r\n    font-family: Sora;\r\n    font-weight: 400;\r\n    font-size: 36px;\r\n    line-height: 46px;\r\n\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\r\n    position: relative;\r\n    top: 1px;\r\n\r\n    color: #c63031;\r\n  }\r\n\r\n  .team-grid-item__count > img {\r\n    display: flex;\r\n\r\n    width: 20px;\r\n    height: auto;\r\n    aspect-ratio: 1\/1;\r\n\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\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\r\n      grid-column: span 2;\r\n\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    .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>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-65bb502 elementor-widget elementor-widget-image\" data-id=\"65bb502\" 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 loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"400\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/02\/innowise-team.png\" class=\"attachment-full size-full wp-image-194902\" alt=\"Innowise team\" srcset=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/02\/innowise-team.png 1000w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/02\/innowise-team-300x120.png 300w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/02\/innowise-team-768x307.png 768w, https:\/\/innowise.com\/wp-content\/uploads\/2026\/02\/innowise-team-18x7.png 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\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fb32db0 e-con-full e-flex e-con e-child\" data-id=\"fb32db0\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-399ea33 elementor-widget elementor-widget-html\" data-id=\"399ea33\" 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 2023 - July 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-d077df9 e-con-full e-flex e-con e-child\" data-id=\"d077df9\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72d75e1 elementor-widget__width-inherit elementor-widget-tablet__width-inherit last-child-mb-0 elementor-widget elementor-widget-text-editor\" data-id=\"72d75e1\" 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;\">Innowise built IRIS, an autonomous IoT robot that can navigate office spaces, detect plants, reach them at different heights, and water them without manual work. The team brought together hardware, embedded components, computer vision, navigation logic, and software into a working prototype tested in real office conditions.<\/span><\/p><p><span style=\"font-weight: 400;\">The robot made office plant care more regular and reduced the need for manual watering. For Innowise, the project also became a practical demo of robotics expertise, showing how a physical robot can handle a routine office task using navigation, plant detection, and an integrated irrigation mechanism.<\/span><\/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-8d2bcb0 elementor-widget elementor-widget-image\" data-id=\"8d2bcb0\" 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\/05\/computer-vision-office-plant-detection-robot-watering.gif\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"computer-vision-office-plant-detection-robot-watering\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTk2NzA0LCJ1cmwiOiJodHRwczpcL1wvaW5ub3dpc2UuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wNVwvY29tcHV0ZXItdmlzaW9uLW9mZmljZS1wbGFudC1kZXRlY3Rpb24tcm9ib3Qtd2F0ZXJpbmcuZ2lmIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"563\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/computer-vision-office-plant-detection-robot-watering.gif\" class=\"attachment-full size-full wp-image-196704\" alt=\"Computer vision system detecting office plants to guide autonomous robot positioning and watering decisions\" \/>\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\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f871fbd table-content-container e-con-full e-flex e-con e-child\" data-id=\"f871fbd\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-241354e e-con-full stickyTable e-flex e-con e-child\" data-id=\"241354e\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-d4b37c1 author-block e-con-full e-flex e-con e-child\" data-id=\"d4b37c1\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c310d46 ddcv elementor-widget elementor-widget-html\" data-id=\"c310d46\" 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  .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<\/style>\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  document.addEventListener(\"DOMContentLoaded\", () => {\r\n    \/*-------------------------------\r\n    SETTINGS\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; \/\/ \u043e\u0442\u0441\u0442\u0443\u043f \u043f\u0440\u0438 \u0441\u043a\u0440\u043e\u043b\u043b\u0435 \u043a \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0443\r\n\r\n    let headerElements = [];\r\n    let tocLinks = [];\r\n\r\n    \/*-------------------------------\r\n    CREATE TOC LIST\r\n  --------------------------------*\/\r\n    function createToc() {\r\n      const tocContainer = document.querySelector(\".toc.toc-2\");\r\n      const list = document.createElement(\"ul\");\r\n\r\n      headerElements = [\r\n        ...document.querySelectorAll(\".article-description h2\"),\r\n      ];\r\n\r\n      \/\/ \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043b\u0438\u0448\u043d\u0438\u0435 h2 \u2014 \u043a\u0430\u043a \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0435\r\n      const excluded = [\r\n        document.querySelector(\".related_content_blog_container h2\"),\r\n      ];\r\n      \/\/   headerElements = headerElements.filter((h) => !excluded.includes(h));\r\n\r\n      headerElements.forEach((header) => {\r\n        const textOriginal =\r\n          header.dataset.title?.trim() || header.textContent.trim();\r\n        const id =\r\n          header.id ||\r\n          textOriginal\r\n            .toLowerCase()\r\n            .replace(\/[^\\w ]+\/g, \"\")\r\n            .replace(\/ +\/g, \"-\");\r\n        header.id = id;\r\n\r\n        const li = document.createElement(\"li\");\r\n        const a = document.createElement(\"a\");\r\n\r\n        a.href = \"#\" + id;\r\n        a.textContent = LINKS[textOriginal] || textOriginal;\r\n\r\n        a.addEventListener(\"click\", (e) => {\r\n          e.preventDefault();\r\n          const y =\r\n            header.getBoundingClientRect().top + window.scrollY - OFFSET;\r\n          window.scrollTo({ top: y, behavior: \"smooth\" });\r\n        });\r\n\r\n        li.appendChild(a);\r\n        list.appendChild(li);\r\n      });\r\n\r\n      tocContainer.appendChild(list);\r\n      tocLinks = Array.from(list.querySelectorAll(\"li\"));\r\n    }\r\n\r\n    \/*-------------------------------\r\n    INTERSECTION OBSERVER\r\n    \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a\r\n  --------------------------------*\/\r\n    function createObserver() {\r\n      const observerOptions = {\r\n        root: null,\r\n        rootMargin: \"0px 0px -60% 0px\",\r\n        threshold: 0, \/\/ \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0438 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u0432 \u0437\u043e\u043d\u0435 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438\r\n      };\r\n\r\n      const callback = (entries) => {\r\n        entries.forEach((entry) => {\r\n          if (entry.isIntersecting) {\r\n            const id = entry.target.id;\r\n\r\n            tocLinks.forEach((li) =>\r\n              li.classList.remove(\"active\", \"pre-active\"),\r\n            );\r\n\r\n            const index = headerElements.findIndex((h) => h.id === id);\r\n\r\n            tocLinks.forEach((li, i) => {\r\n              if (i === index) li.classList.add(\"active\");\r\n              if (i < index) li.classList.add(\"pre-active\");\r\n            });\r\n          }\r\n        });\r\n      };\r\n\r\n      const observer = new IntersectionObserver(callback, observerOptions);\r\n      headerElements.forEach((h) => observer.observe(h));\r\n    }\r\n\r\n    \/*-------------------------------\r\n    LOAD IMAGES (\u0442\u0438\u043f\u043e lazy load fix)\r\n  --------------------------------*\/\r\n    function loadAllImages() {\r\n      document.querySelectorAll(\"img\").forEach((img) => {\r\n        const src = img.dataset.src || img.src;\r\n        img.src = src;\r\n      });\r\n    }\r\n\r\n    \/*-------------------------------\r\n    INIT\r\n  --------------------------------*\/\r\n    setTimeout(() => {\r\n      loadAllImages();\r\n      createToc();\r\n      createObserver();\r\n    }, 300);\r\n  });\r\n<\/script>\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  .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    flex-basis: 100%;\r\n    flex-grow: 1;\r\n    flex-shrink: 1;\r\n    overflow-y: auto;\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,\r\n  .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,\r\n  .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  h4.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>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5f9dff1 e-con-full e-flex e-con e-child\" data-id=\"5f9dff1\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f054d18 elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"f054d18\" 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\">Automate routine tasks<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e95517 elementor-mobile-align-justify elementor-widget-mobile__width-inherit elementor-align-justify elementor-widget elementor-widget-button\" data-id=\"8e95517\" 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<\/div>\n\t\t<div class=\"elementor-element elementor-element-09bacf4 e-flex e-con-boxed e-con e-parent\" data-id=\"09bacf4\" 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-9e1e5e1 elementor-widget elementor-widget-heading\" data-id=\"9e1e5e1\" 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-6d30b5f e-con-full slider-overflow e-flex e-con e-child\" data-id=\"6d30b5f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-da9c045 elementor-widget elementor-widget-shortcode\" data-id=\"da9c045\" 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\">\n            <div class=\"swiper-related\">\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\/pl\/case\/voka-3d-anatomy-and-pathology\/\" aria-label=\"block_83298\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/04\/image-teaser-voka-3d-anatomy-pathology-app.png\" alt=\"VOKA 3D Anatomy &amp; Pathology.\">\n                    <div class=\"cases-post__thumbnail_opencase_img\">\n                        <div>\n                            <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2022\/09\/voka_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\/pl\/case\/voka-3d-anatomy-and-pathology\/\" aria-label=\"VOKA 3D Anatomy &amp; Pathology\" >VOKA 3D Anatomy &amp; Pathology<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/pl\/cases\/3d\/\">3D<\/a><a href=\"\/pl\/cases\/projektowanie-3d\/\">3D design<\/a><a href=\"\/pl\/cases\/angular\/\">Angular<\/a><a href=\"\/pl\/cases\/education\/\">Education<\/a><a href=\"\/pl\/cases\/opieka-zdrowotna\/\">Healthcare<\/a><a href=\"\/pl\/cases\/java\/\">Java<\/a><a href=\"\/pl\/cases\/kotlin\/\">Kotlin<\/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\/pl\/case\/voka-3d-anatomy-and-pathology\/\" aria-label=\"Read more about VOKA 3D Anatomy &amp; Pathology\">\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\/pl\/case\/archer-game\/\" aria-label=\"block_83453\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2022\/06\/Archer_440x330.png\" alt=\"Mobile archery game development.\">\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\/pl\/case\/archer-game\/\" aria-label=\"Mobile archery game development\" >Mobile archery game development<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/pl\/cases\/3d\/\">3D<\/a><a href=\"\/pl\/cases\/projektowanie-3d\/\">3D design<\/a><a href=\"\/pl\/cases\/android\/\">Android<\/a><a href=\"\/pl\/cases\/c\/\">C#<\/a><a href=\"\/pl\/cases\/entertainment\/\">Entertainment<\/a><a href=\"\/pl\/cases\/gry\/\">Game<\/a><a href=\"\/pl\/cases\/gaming\/\">Gaming<\/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\/pl\/case\/archer-game\/\" aria-label=\"Read more about Mobile archery game development\">\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\/pl\/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\/pl\/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=\"\/pl\/cases\/api\/\">API<\/a><a href=\"\/pl\/cases\/php\/\">PHP<\/a><a href=\"\/pl\/cases\/telekomunikacja\/\">Telecom<\/a><a href=\"\/pl\/cases\/vue-js\/\">Vue.js<\/a><a href=\"\/pl\/cases\/tworzenie-aplikacji-webowych\/\">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\/pl\/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\/pl\/case\/salesforce-implementation-process-transformation\/\" aria-label=\"block_195990\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/05\/image-teaser.png\" alt=\"Innowise&#8217;s Salesforce rollout and business process overhaul.\">\n                    <div class=\"cases-post__thumbnail_opencase_img\">\n                        <div>\n                            <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/04\/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\/pl\/case\/salesforce-implementation-process-transformation\/\" aria-label=\"Innowise's Salesforce rollout and business process overhaul\" >Innowise's Salesforce rollout and business process overhaul<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/pl\/cases\/business-process-automation-bpa\/\">Business process automation (BPA)<\/a><a href=\"\/pl\/cases\/cloud\/\">Cloud<\/a><a href=\"\/pl\/cases\/it\/\">Information technology<\/a><a href=\"\/pl\/cases\/salesforce\/\">Salesforce<\/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\/pl\/case\/salesforce-implementation-process-transformation\/\" aria-label=\"Read more about Innowise's Salesforce rollout and business process overhaul\">\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\/pl\/case\/ai-assisted-contract-parsing-platform\/\" aria-label=\"block_195705\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/04\/image.jpg\" alt=\"AI-assisted contract transformation platform (DORA \/ NIS2 ready).\">\n                    <div class=\"cases-post__thumbnail_opencase_img\">\n                        <div>\n                            <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/04\/Log\u043es-desktop-1-1.png\" 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\/pl\/case\/ai-assisted-contract-parsing-platform\/\" aria-label=\"AI-assisted contract transformation platform (DORA \/ NIS2 ready)\" >AI-assisted contract transformation platform (DORA \/ NIS2 ready)<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/pl\/cases\/ai\/\">AI<\/a><a href=\"\/pl\/cases\/business-process-automation-bpa\/\">Business process automation (BPA)<\/a><a href=\"\/pl\/cases\/java\/\">Java<\/a><a href=\"\/pl\/cases\/legal\/\">Legal<\/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\/pl\/case\/ai-assisted-contract-parsing-platform\/\" aria-label=\"Read more about AI-assisted contract transformation platform (DORA \/ NIS2 ready)\">\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\/pl\/case\/gestical-platform-modernization\/\" aria-label=\"block_194759\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/03\/smart-meter-integration.png\" alt=\"Modernization of Gestical\u2019s operational platform.\">\n                    <div class=\"cases-post__thumbnail_opencase_img\">\n                        <div>\n                            <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/03\/gestical.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\/pl\/case\/gestical-platform-modernization\/\" aria-label=\"Modernization of Gestical\u2019s operational platform\" >Modernization of Gestical\u2019s operational platform<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/pl\/cases\/energy\/\">Energy<\/a><a href=\"\/pl\/cases\/staff-augmentation\/\">Staff augmentation<\/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\/pl\/case\/gestical-platform-modernization\/\" aria-label=\"Read more about Modernization of Gestical\u2019s operational platform\">\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\/pl\/case\/ai-ergonomics-software-scaling\/\" aria-label=\"block_195080\">\n                            <img decoding=\"async\" class=\"slide__img-rel\" \n                             src=\"https:\/\/innowise.com\/wp-content\/uploads\/2026\/03\/image.png\" alt=\"Scaling AI ergonomics assessment 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\/pl\/case\/ai-ergonomics-software-scaling\/\" aria-label=\"Scaling AI ergonomics assessment software\" >Scaling AI ergonomics assessment software<\/a>\n                        <\/div>\n                        <div class=\"swip-array-rel\">\n                            <a href=\"\/pl\/cases\/angular\/\">Angular<\/a><a href=\"\/pl\/cases\/tworzenie-back-end\/\">Back-end development<\/a><a href=\"\/pl\/cases\/przedsiebiorstwa\/\">Enterprise<\/a><a href=\"\/pl\/cases\/tworzenie-front-end\/\">Front-end development<\/a><a href=\"\/pl\/cases\/node-js\/\">Node.js<\/a><a href=\"\/pl\/cases\/qa\/\">QA<\/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\/pl\/case\/ai-ergonomics-software-scaling\/\" aria-label=\"Read more about Scaling AI ergonomics assessment 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\">\n                    <button class=\"swiper-related__navigation-btn\">\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\">\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\n        <div class=\"cases-swiper-pagination\"><\/div>\n        \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-9226761 e-flex e-con-boxed e-con e-parent\" data-id=\"9226761\" 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-aad867b elementor-widget elementor-widget-shortcode\" data-id=\"aad867b\" 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=\"\/pl\/wp-json\/wp\/v2\/case\/196663#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\" \/><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-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-template p{\n       \n    font-size: 16px;\n    line-height: 20px;  \n    margin-bottom: 30px;\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}\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>Intelligent IoT-based robot to navigate the office and water plants Innowise robotics department developed a proprietary smart robot to navigate office premises and water plants without human intervention. Real office routing around people and furniture Multi-height watering for desks, shelves, and racks Start my project Industry IT, Custom software development Employees Region EU Services Software [&hellip;]<\/p>\n","protected":false},"featured_media":196665,"template":"elementor_header_footer","cases":[749,1127,1202,782,784,795],"class_list":["post-196663","case","type-case","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/innowise.com\/pl\/wp-json\/wp\/v2\/case\/196663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innowise.com\/pl\/wp-json\/wp\/v2\/case"}],"about":[{"href":"https:\/\/innowise.com\/pl\/wp-json\/wp\/v2\/types\/case"}],"version-history":[{"count":0,"href":"https:\/\/innowise.com\/pl\/wp-json\/wp\/v2\/case\/196663\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/innowise.com\/pl\/wp-json\/wp\/v2\/media\/196665"}],"wp:attachment":[{"href":"https:\/\/innowise.com\/pl\/wp-json\/wp\/v2\/media?parent=196663"}],"wp:term":[{"taxonomy":"cases","embeddable":true,"href":"https:\/\/innowise.com\/pl\/wp-json\/wp\/v2\/cases?post=196663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}