{"id":4329,"date":"2026-11-02T23:02:24","date_gmt":"2026-11-02T21:02:24","guid":{"rendered":"https:\/\/success-web.site\/?post_type=sws_case&#038;p=4329"},"modified":"2026-11-03T13:16:37","modified_gmt":"2026-11-03T11:16:37","slug":"workshop-inventory-ai","status":"publish","type":"sws_case","link":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/","title":{"rendered":"Workshop: an inventory app with AI agents, search by meaning and an MCP server"},"content":{"rendered":"\n\n<section class=\"sws-content-block callout-cards-block\">\n\t<div class=\"sws-container ccb__inner\">\n\t\t<div class=\"ccb__row\">\n\t\t\t<div class=\"ccb__col ccb__col--text\">\n\t\t\t\t<div class=\"sws-heading sws-heading--landing sws-heading--eyebrow-lg\">\n\t\t\t\t\t<span class=\"sws-heading__eyebrow ccb__eyebrow\">Before<\/span>\n\t\t\t\t\t<h2 class=\"sws-heading__title ccb__title\">More and more parts, and only one memory<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"sws-richtext ccb__content\"><p>The workshop builds prototypes: boards, sensors, motors, batteries, 3D printing, soldering. To start a new build you need to know what is already on the shelf, how much of it there is, where the datasheet lives and whether the equipment can handle the job. All of this used to be kept in our heads and on the shelves: to find out whether we had the right board, someone had to go and look.<\/p>\n<p>The first system was planned too big: 17 models and 18 tables, and it never got as far as an inventory interface, because nobody used it. So we started again with a different method: the smallest working version, a trial in real work, conclusions, then growth.<\/p>\n<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"ccb__col ccb__col--cards\">\n\t\t\t\t<div class=\"ccb__card ccb__card--danger\">\n\t\t\t\t\t<span class=\"ccb__card-icon\" aria-hidden=\"true\"><svg class=\"sws-ico\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M256 440c137 0 248-111 248-248s-111-248-248-248s-248 111-248 248s111 248 248 248zM378 127l-66 65l66 65c4 5 4 12 0 17l-40 40c-5 4-12 4-17 0l-65-66l-65 66c-5 4-12 4-17 0l-40-40c-4-5-4-12 0-17l66-65l-66-65c-4-5-4-12 0-17l40-40c5-4 12-4 17 0l65 66l65-66c5-4 12-4 17 0l40 40c4 5 4 12 0 17z\"\/><\/g><\/svg><\/span>\n\t\t\t\t\t<p class=\"ccb__card-text\">Entering things by hand takes too long. If every board has to be described in a form, the records fall behind the shelf and the inventory stops being true.<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"ccb__card ccb__card--danger\">\n\t\t\t\t\t<span class=\"ccb__card-icon\" aria-hidden=\"true\"><svg class=\"sws-ico\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M256 440c137 0 248-111 248-248s-111-248-248-248s-248 111-248 248s111 248 248 248zM378 127l-66 65l66 65c4 5 4 12 0 17l-40 40c-5 4-12 4-17 0l-65-66l-65 66c-5 4-12 4-17 0l-40-40c-4-5-4-12 0-17l66-65l-66-65c-4-5-4-12 0-17l40-40c5-4 12-4 17 0l65 66l65-66c5-4 12-4 17 0l40 40c4 5 4 12 0 17z\"\/><\/g><\/svg><\/span>\n\t\t\t\t\t<p class=\"ccb__card-text\">A name doesn\u2019t tell you the job. You look for \u201cwhat can drive servos\u201d, and the table says PCA9685. Keyword search won\u2019t find that.<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"ccb__card ccb__card--danger\">\n\t\t\t\t\t<span class=\"ccb__card-icon\" aria-hidden=\"true\"><svg class=\"sws-ico\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M256 440c137 0 248-111 248-248s-111-248-248-248s-248 111-248 248s111 248 248 248zM378 127l-66 65l66 65c4 5 4 12 0 17l-40 40c-5 4-12 4-17 0l-65-66l-65 66c-5 4-12 4-17 0l-40-40c-4-5-4-12 0-17l66-65l-66-65c-4-5-4-12 0-17l40-40c5-4 12-4 17 0l65 66l65-66c5-4 12-4 17 0l40 40c4 5 4 12 0 17z\"\/><\/g><\/svg><\/span>\n\t\t\t\t\t<p class=\"ccb__card-text\">Knowledge is scattered. The datasheet, the board photo, the equipment\u2019s limits and the process video belong with the record, not in browser bookmarks.<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"ccb__card ccb__card--danger\">\n\t\t\t\t\t<span class=\"ccb__card-icon\" aria-hidden=\"true\"><svg class=\"sws-ico\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M256 440c137 0 248-111 248-248s-111-248-248-248s-248 111-248 248s111 248 248 248zM378 127l-66 65l66 65c4 5 4 12 0 17l-40 40c-5 4-12 4-17 0l-65-66l-65 66c-5 4-12 4-17 0l-40-40c-4-5-4-12 0-17l66-65l-66-65c-4-5-4-12 0-17l40-40c5-4 12-4 17 0l65 66l65-66c5-4 12-4 17 0l40 40c4 5 4 12 0 17z\"\/><\/g><\/svg><\/span>\n\t\t\t\t\t<p class=\"ccb__card-text\">Agents need boundaries. They have to read and change the inventory, but with no excess permissions and no making things up about what nobody has checked.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n<section class=\"sws-content-block content-zigzag-block sws-zigzag sws-zigzag--bg-light\" aria-labelledby=\"block_507700ca8a642632c14cbe1c57100774-heading\">\n\t<div class=\"sws-container sws-zigzag__inner\">\n\n\t\t<div class=\"sws-heading sws-heading--center sws-zigzag__head\">\n\t\t\t<span class=\"sws-heading__eyebrow sws-zigzag__eyebrow\">Solution<\/span>\n\t\t\t<h2 id=\"block_507700ca8a642632c14cbe1c57100774-heading\" class=\"sws-heading__title sws-zigzag__heading\">What we did<\/h2>\n\t\t\t<p class=\"sws-heading__lead sws-zigzag__intro\">A Laravel and React app with its own MCP server: people, the chat and external agents all work with the same data and tools.<\/p>\n\t\t<\/div>\n\n\t\t<div class=\"sws-zigzag__rows\">\n\t\t\t<div class=\"sws-zigzag__row sws-zigzag__row--media-right\">\n\t\t\t\t<div class=\"sws-zigzag__body\">\n\t\t\t\t\t<h3 class=\"sws-zigzag__row-heading sws-zigzag__row-heading--h3\">An inventory where every part has a code, documents and photos<\/h3>\n\t\t\t\t\t<div class=\"sws-richtext sws-richtext--focus-accent sws-zigzag__text\"><p>Every part gets an internal code such as PRT-000141, and both people and agents find it by that code. Quantity is kept with units, the status follows it, and the type, domains and tags come from vocabularies that prevent duplicates: LEDs and LED are one term, while ESP32-S2 and ESP32-S3 are different ones.<\/p>\n<p>Photos, datasheets, links and notes attach to the part. Equipment records describe what the workshop can do and where its limits lie. A project brings together parts, equipment, videos and 3D models you can rotate right on the page. Videos of up to 5 GB live on Google Drive and play inside the app without a public link.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"sws-zigzag__media\">\n<img width=\"800\" height=\"465\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-1-800x465.webp\" class=\"attachment-w800 size-w800\" alt=\"Parts list: photo, internal code, type, terms, quantity and status\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-1-800x465.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-1-300x174.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-1-1024x595.webp 1024w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-1-768x446.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-1-200x116.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-1-516x300.webp 516w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-1.webp 1440w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"sws-zigzag__row sws-zigzag__row--media-left\">\n\t\t\t\t<div class=\"sws-zigzag__body\">\n\t\t\t\t\t<h3 class=\"sws-zigzag__row-heading sws-zigzag__row-heading--h3\">Search by meaning, not by name<\/h3>\n\t\t\t\t\t<div class=\"sws-richtext sws-richtext--focus-accent sws-zigzag__text\"><p>Describe the task in your own words and the app finds what you need. The query \u201cprotect a lithium battery\u201d brings up BMS protection boards, followed by cells and charging modules. The Match column shows how close a result is to the query. A description can be in one language and the query in another.<\/p>\n<p>Under the hood: text-embedding-3-large at 1536 dimensions and pgvector inside PostgreSQL. The vector covers the name, part number, type, domains, tags and description, along with documents and AI descriptions of photos, so a hit in a datasheet lifts the part it belongs to. The code, status and quantity deliberately stay out of the vector: a stock change recalculates nothing. Every 10 minutes the app compares the SHA-256 of each text and updates only what has changed.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"sws-zigzag__media\">\n<img width=\"800\" height=\"386\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-2-800x386.webp\" class=\"attachment-w800 size-w800\" alt=\"Search by meaning: a query about protecting a lithium battery and the Match column\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-2-800x386.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-2-300x145.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-2-1024x494.webp 1024w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-2-768x370.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-2-200x96.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-2-600x289.webp 600w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-2.webp 1440w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"sws-zigzag__row sws-zigzag__row--media-right\">\n\t\t\t\t<div class=\"sws-zigzag__body\">\n\t\t\t\t\t<h3 class=\"sws-zigzag__row-heading sws-zigzag__row-heading--h3\">A voice note becomes a part in stock<\/h3>\n\t\t\t\t\t<div class=\"sws-richtext sws-richtext--focus-accent sws-zigzag__text\"><p>Forms alone will never fill an inventory, so everything goes to the inbox: voice, a photo, a file, a link, a note or a video. Speech becomes text with hints from the workshop\u2019s vocabulary, AI describes every photo, and an agent takes the item, locks it for 30 minutes and creates the records.<\/p>\n<p>A real example. On 28 October at 15:57, a 26-second voice note about a PWM board, asking to find the datasheet. By 16:07 the item was closed: part PRT-000141 existed, the agent had worked out the quantity from the photo, the official 52-page NXP datasheet was attached and the specs were in the description. In a separate paragraph the agent honestly wrote what it had not checked: the boards were never powered on, and an unbranded chip on the board might be a clone.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"sws-zigzag__media\">\n<img width=\"800\" height=\"408\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-3-800x408.webp\" class=\"attachment-w800 size-w800\" alt=\"Inbox item with a voice note and the agent\u2019s report on the new part\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-3-800x408.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-3-300x153.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-3-1024x523.webp 1024w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-3-768x392.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-3-200x102.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-3-588x300.webp 588w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-3.webp 1440w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"sws-zigzag__row sws-zigzag__row--media-left\">\n\t\t\t\t<div class=\"sws-zigzag__body\">\n\t\t\t\t\t<h3 class=\"sws-zigzag__row-heading sws-zigzag__row-heading--h3\">A chat inside the app and an MCP server for external agents<\/h3>\n\t\t\t\t\t<div class=\"sws-richtext sws-richtext--focus-accent sws-zigzag__text\"><p>In the chat you can ask: \u201cI want to drive 16 servos from one ESP32, what do we have in stock?\u201d The agent runs several searches by itself, opens the cards and answers with a table of codes: what to take, what is missing, what to watch in the power supply. Every tool call is visible in the answer. Before the first message you pick the mode: read only, or read and write. Deleting isn\u2019t possible in the chat.<\/p>\n<p>The same is available from outside: our own MCP server with 30 tools, Streamable HTTP, OAuth 2.1 with PKCE and dynamic client registration. The owner chooses read, write and delete permissions on the consent screen, and an agent doesn\u2019t even see tools outside those permissions. Tested with Claude Code and the claude.ai connector.<\/p>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"sws-zigzag__media\">\n<img width=\"800\" height=\"424\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-4-800x424.webp\" class=\"attachment-w800 size-w800\" alt=\"Chat with the agent: the question, tool calls and a table of part codes\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-4-800x424.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-4-300x159.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-4-1024x543.webp 1024w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-4-768x407.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-4-200x106.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-4-565x300.webp 565w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-4.webp 1440w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t<\/div>\n<\/section>\n\n\n<section class=\"sws-content-block tech-stack-block stk stk--cards stk--cards-green\" aria-labelledby=\"block_2489ac2a0e13f7b5e0dd8057c2aa2558-heading\">\n\t<div class=\"sws-container stk__inner\">\n\t\t<div class=\"sws-heading sws-heading--landing sws-heading--eyebrow-lg sws-heading--on-dark stk__head\">\n\t\t\t<span class=\"sws-heading__eyebrow\">Stack<\/span>\n\t\t\t<h2 id=\"block_2489ac2a0e13f7b5e0dd8057c2aa2558-heading\" class=\"sws-heading__title\">What it is built with<\/h2>\n\t\t\t<p class=\"sws-heading__lead\">Laravel and React with no page builders. Vectors live in the same database as the data, and the chat and the MCP server share the same tool classes.<\/p>\n\t\t<\/div>\n\t\t<div class=\"stk__groups\">\n\t\t\t<div class=\"stk__group stk__group--untitled\">\n\t\t\t\t<ul class=\"stk__list\">\n\t\t\t\t\t<li class=\"stk__item\"><span class=\"stk__tile\" aria-hidden=\"true\"><svg class=\"sws-ico stk__icon\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M504 332c1 0 1-1 1-2c0 0 0 0 0 0v-110c0 0 0 0 0 0c0-3-2-5-4-7l-93-53v-105c0 0 0 0 0 0c0-3-1-6-4-7l-192-111c-1 0-1 0-2-1c0 0 0 0 0 0c-1 0-1 0-2 0c-1 0-2 0-2 0c0 0-1 0-1 1c0 0-1 0-1 0l-193 111c-2 1-4 4-4 7v0v330c0 0 0 1 1 2c0 0 0 0 0 0c0 1 0 1 0 2c1 0 1 0 1 0c0 1 0 1 1 1c0 0 0 1 0 1c1 0 1 0 1 1v0l97 55c1 1 2 1 4 1s2 0 4-1l96-55v0c0-1 0-1 1-1c0 0 0-1 1-1c0 0 0 0 0-1c0 0 1 0 1 0c0-1 0-1 0-2c0 0 1 0 1 0c0-1 0-2 0-2v0v-206l80 46v105c0 1 0 1 0 2c0 0 1 1 1 1c0 0 0 1 0 1c0 0 1 1 1 1c0 0 0 0 0 1c1 0 1 0 1 0c1 1 1 1 1 1v0l96 55c2 1 3 2 4 2s3-1 4-2l97-55c0 0 0 0 1-1c0 0 0 0 0 0c1-1 1-1 1-1c0 0 0-1 1-1c0 0 0-1 0-1c0 0 0-1 0-1zM112 431l-81-46l81-47l80 47l-80 46v0zM200 371l-34-20l-46-26v-202l33 20l47 26v202zM200-42l0 92l-92 52v0v0c-1 1-1 1-1 1c-1 0-1 1-1 1v0c0 0-1 0-1 1c0 0 0 0 0 0v0c-1 1-1 1-1 1c0 1 0 1 0 1v0c0 1 0 1 0 1c0 1 0 1 0 1v216l-47 26l-34 20v-311zM208 64l117 67l59 34l-80 46l-92-53l-84-49zM392 60v91l-45-26l-131-75v-92zM392 179v91l-46 27l-34 19v-91l47-27zM400 284l81 46l-81 46l-80-46zM408 179l81 46v0v91l-34-19l-47-27v-91z\"\/><\/g><\/svg><\/span><span class=\"stk__name\">Laravel<\/span><\/li>\n\t\t\t\t\t<li class=\"stk__item\"><span class=\"stk__tile\" aria-hidden=\"true\"><svg class=\"sws-ico stk__icon\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M320 344c-171 0-303-73-303-152s132-152 303-152c171 0 303 73 303 152s-132 152-303 152zM320 360c177 0 320-75 320-168s-143-168-320-168s-320 75-320 168s143 168 320 168zM218 206c8 38-18 34-56 34l-14-71c34 0 62-4 70 37zM97 98l33 168h71c21 0 37-5 46-16c19-22 12-64-14-88c-24-23-49-20-90-20l-9-44h-37zM283 311h37l-9-44c31 0 61 2 75-11c15-14 7-31-9-113h-37c16 79 19 86 13 92c-5 5-18 4-47 4l-19-96h-37zM505 206c7 38-18 34-56 34l-14-71c33 0 62-5 70 37zM384 98l33 168h71c21 0 36-5 46-16c19-22 12-64-14-88c-23-22-47-20-90-20l-9-44h-37z\"\/><\/g><\/svg><\/span><span class=\"stk__name\">PHP<\/span><\/li>\n\t\t\t\t\t<li class=\"stk__item\"><span class=\"stk__tile\" aria-hidden=\"true\"><svg class=\"sws-ico stk__icon\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6.901 5.331H0L6.669 12 0 18.669h6.901L13.571 12 6.9 5.331zm10.43 0H10.43L17.099 12l-6.67 6.669h6.902L24 12l-6.669-6.669z\"\/><\/svg><\/span><span class=\"stk__name\">Inertia.js<\/span><\/li>\n\t\t\t\t\t<li class=\"stk__item\"><span class=\"stk__tile\" aria-hidden=\"true\"><svg class=\"sws-ico stk__icon\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M418 271c55-19 94-48 94-79c0-31-42-62-100-81c-3-1-6-2-9-3c1-5 2-9 3-14c11-57 3-105-24-120c-26-15-69 0-111 36c-5 4-10 9-14 13c-4-4-7-7-11-10c-44-39-89-55-116-39c-26 15-35 59-24 115c1 6 2 12 4 18c-5 1-9 2-14 4c-55 19-96 50-96 81c0 31 38 60 92 78c6 2 12 4 18 6c-1 6-2 11-3 17c-11 56-4 101 23 117c27 16 72-1 118-42c3-2 6-5 8-8c4 4 8 8 13 12c43 38 86 53 112 38c28-15 36-63 23-123c0-4-1-7-2-11c5-2 11-3 16-5zM283 356c-4-4-8-7-12-11c16-17 30-35 43-53c22-2 45-6 67-11c1 4 2 7 2 10c11 52 4 91-12 101c-16 9-51-4-88-36zM167 140c-5 9-10 18-14 27c-7-16-12-31-16-45c15-3 30-6 46-7c-6 8-11 17-16 25zM137 261c4-14 10-29 16-44c4 9 9 18 14 26c5 9 10 17 15 26c-15-2-31-5-45-8zM164 192c7-14 14-27 22-41s16-26 24-39c15-1 30-1 46-1s31 0 46 1c9 13 17 26 24 39c8 14 15 27 22 41c-7 14-14 27-22 41s-16 26-24 38c-15 1-30 2-46 2s-31-1-46-2c-8-12-17-25-24-39c-8-13-15-26-22-40zM345 141c-5-9-10-18-16-26c16 2 32 5 47 8c-5 15-10 30-17 44c-4-9-9-18-14-26zM359 217c6 14 12 29 16 44c-14 3-29 6-45 8c5-9 10-17 15-26c5-8 10-17 14-26zM256 330c-10-11-20-23-30-36c20 1 40 1 60 0c-9 12-19 24-30 36zM140 391c-16-9-22-46-12-94c1-5 2-10 3-15c22 4 45 8 67 10c13 18 28 36 43 53c-2 2-5 5-7 7c-40 35-77 49-94 39zM116 127c7 22 15 44 24 65c-9 20-17 42-24 63c-6-1-12-3-17-5c-46-16-78-39-78-58c2-12 9-23 19-30c18-13 42-24 63-31c4-1 8-2 13-4zM232 29c4 3 7 6 10 9c-16 17-30 35-43 54c-23 1-46 5-68 10c-2-6-3-12-4-17c-9-48-2-83 14-92c11-5 24-4 35 1c21 8 40 20 56 35zM257 54c10 11 20 23 29 36c-10 0-20-1-30-1c-10 0-20 1-29 1c9-13 20-25 30-36zM388 24c3 22 2 44-3 66c-1 4-2 8-3 12c-22-5-45-8-68-10c-13-19-27-37-42-54c4-4 8-8 13-11c36-32 70-44 86-35c10 8 16 20 17 32zM406 131c50 17 84 42 84 62c0 18-32 42-79 58c-5 1-10 3-15 4c-7-21-15-42-24-63c10-20 18-42 25-63c3 0 6 1 9 2zM256 146c-25 0-46 21-46 46s21 46 46 46s46-21 46-46s-21-46-46-46z\"\/><\/g><\/svg><\/span><span class=\"stk__name\">React<\/span><\/li>\n\t\t\t\t\t<li class=\"stk__item\"><span class=\"stk__tile\" aria-hidden=\"true\"><svg class=\"sws-ico stk__icon\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M1.125 0C.502 0 0 .502 0 1.125v21.75C0 23.498.502 24 1.125 24h21.75c.623 0 1.125-.502 1.125-1.125V1.125C24 .502 23.498 0 22.875 0zm17.363 9.75c.612 0 1.154.037 1.627.111a6.38 6.38 0 0 1 1.306.34v2.458a3.95 3.95 0 0 0-.643-.361 5.093 5.093 0 0 0-.717-.26 5.453 5.453 0 0 0-1.426-.2c-.3 0-.573.028-.819.086a2.1 2.1 0 0 0-.623.242c-.17.104-.3.229-.393.374a.888.888 0 0 0-.14.49c0 .196.053.373.156.529.104.156.252.304.443.444s.423.276.696.41c.273.135.582.274.926.416.47.197.892.407 1.266.628.374.222.695.473.963.753.268.279.472.598.614.957.142.359.214.776.214 1.253 0 .657-.125 1.21-.373 1.656a3.033 3.033 0 0 1-1.012 1.085 4.38 4.38 0 0 1-1.487.596c-.566.12-1.163.18-1.79.18a9.916 9.916 0 0 1-1.84-.164 5.544 5.544 0 0 1-1.512-.493v-2.63a5.033 5.033 0 0 0 3.237 1.2c.333 0 .624-.03.872-.09.249-.06.456-.144.623-.25.166-.108.29-.234.373-.38a1.023 1.023 0 0 0-.074-1.089 2.12 2.12 0 0 0-.537-.5 5.597 5.597 0 0 0-.807-.444 27.72 27.72 0 0 0-1.007-.436c-.918-.383-1.602-.852-2.053-1.405-.45-.553-.676-1.222-.676-2.005 0-.614.123-1.141.369-1.582.246-.441.58-.804 1.004-1.089a4.494 4.494 0 0 1 1.47-.629 7.536 7.536 0 0 1 1.77-.201zm-15.113.188h9.563v2.166H9.506v9.646H6.789v-9.646H3.375z\"\/><\/svg><\/span><span class=\"stk__name\">TypeScript<\/span><\/li>\n\t\t\t\t\t<li class=\"stk__item\"><span class=\"stk__tile\" aria-hidden=\"true\"><svg class=\"sws-ico stk__icon\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M23.5594 14.7228a.5269.5269 0 0 0-.0563-.1191c-.139-.2632-.4768-.3418-1.0074-.2321-1.6533.3411-2.2935.1312-2.5256-.0191 1.342-2.0482 2.445-4.522 3.0411-6.8297.2714-1.0507.7982-3.5237.1222-4.7316a1.5641 1.5641 0 0 0-.1509-.235C21.6931.9086 19.8007.0248 17.5099.0005c-1.4947-.0158-2.7705.3461-3.1161.4794a9.449 9.449 0 0 0-.5159-.0816 8.044 8.044 0 0 0-1.3114-.1278c-1.1822-.0184-2.2038.2642-3.0498.8406-.8573-.3211-4.7888-1.645-7.2219.0788C.9359 2.1526.3086 3.8733.4302 6.3043c.0409.818.5069 3.334 1.2423 5.7436.4598 1.5065.9387 2.7019 1.4334 3.582.553.9942 1.1259 1.5933 1.7143 1.7895.4474.1491 1.1327.1441 1.8581-.7279.8012-.9635 1.5903-1.8258 1.9446-2.2069.4351.2355.9064.3625 1.39.3772a.0569.0569 0 0 0 .0004.0041 11.0312 11.0312 0 0 0-.2472.3054c-.3389.4302-.4094.5197-1.5002.7443-.3102.064-1.1344.2339-1.1464.8115-.0025.1224.0329.2309.0919.3268.2269.4231.9216.6097 1.015.6331 1.3345.3335 2.5044.092 3.3714-.6787-.017 2.231.0775 4.4174.3454 5.0874.2212.5529.7618 1.9045 2.4692 1.9043.2505 0 .5263-.0291.8296-.0941 1.7819-.3821 2.5557-1.1696 2.855-2.9059.1503-.8707.4016-2.8753.5388-4.1012.0169-.0703.0357-.1207.057-.1362.0007-.0005.0697-.0471.4272.0307a.3673.3673 0 0 0 .0443.0068l.2539.0223.0149.001c.8468.0384 1.9114-.1426 2.5312-.4308.6438-.2988 1.8057-1.0323 1.5951-1.6698zM2.371 11.8765c-.7435-2.4358-1.1779-4.8851-1.2123-5.5719-.1086-2.1714.4171-3.6829 1.5623-4.4927 1.8367-1.2986 4.8398-.5408 6.108-.13-.0032.0032-.0066.0061-.0098.0094-2.0238 2.044-1.9758 5.536-1.9708 5.7495-.0002.0823.0066.1989.0162.3593.0348.5873.0996 1.6804-.0735 2.9184-.1609 1.1504.1937 2.2764.9728 3.0892.0806.0841.1648.1631.2518.2374-.3468.3714-1.1004 1.1926-1.9025 2.1576-.5677.6825-.9597.5517-1.0886.5087-.3919-.1307-.813-.5871-1.2381-1.3223-.4796-.839-.9635-2.0317-1.4155-3.5126zm6.0072 5.0871c-.1711-.0428-.3271-.1132-.4322-.1772.0889-.0394.2374-.0902.4833-.1409 1.2833-.2641 1.4815-.4506 1.9143-1.0002.0992-.126.2116-.2687.3673-.4426a.3549.3549 0 0 0 .0737-.1298c.1708-.1513.2724-.1099.4369-.0417.156.0646.3078.26.3695.4752.0291.1016.0619.2945-.0452.4444-.9043 1.2658-2.2216 1.2494-3.1676 1.0128zm2.094-3.988-.0525.141c-.133.3566-.2567.6881-.3334 1.003-.6674-.0021-1.3168-.2872-1.8105-.8024-.6279-.6551-.9131-1.5664-.7825-2.5004.1828-1.3079.1153-2.4468.079-3.0586-.005-.0857-.0095-.1607-.0122-.2199.2957-.2621 1.6659-.9962 2.6429-.7724.4459.1022.7176.4057.8305.928.5846 2.7038.0774 3.8307-.3302 4.7363-.084.1866-.1633.3629-.2311.5454zm7.3637 4.5725c-.0169.1768-.0358.376-.0618.5959l-.146.4383a.3547.3547 0 0 0-.0182.1077c-.0059.4747-.054.6489-.115.8693-.0634.2292-.1353.4891-.1794 1.0575-.11 1.4143-.8782 2.2267-2.4172 2.5565-1.5155.3251-1.7843-.4968-2.0212-1.2217a6.5824 6.5824 0 0 0-.0769-.2266c-.2154-.5858-.1911-1.4119-.1574-2.5551.0165-.5612-.0249-1.9013-.3302-2.6462.0044-.2932.0106-.5909.019-.8918a.3529.3529 0 0 0-.0153-.1126 1.4927 1.4927 0 0 0-.0439-.208c-.1226-.4283-.4213-.7866-.7797-.9351-.1424-.059-.4038-.1672-.7178-.0869.067-.276.1831-.5875.309-.9249l.0529-.142c.0595-.16.134-.3257.213-.5012.4265-.9476 1.0106-2.2453.3766-5.1772-.2374-1.0981-1.0304-1.6343-2.2324-1.5098-.7207.0746-1.3799.3654-1.7088.5321a5.6716 5.6716 0 0 0-.1958.1041c.0918-1.1064.4386-3.1741 1.7357-4.4823a4.0306 4.0306 0 0 1 .3033-.276.3532.3532 0 0 0 .1447-.0644c.7524-.5706 1.6945-.8506 2.802-.8325.4091.0067.8017.0339 1.1742.081 1.939.3544 3.2439 1.4468 4.0359 2.3827.8143.9623 1.2552 1.9315 1.4312 2.4543-1.3232-.1346-2.2234.1268-2.6797.779-.9926 1.4189.543 4.1729 1.2811 5.4964.1353.2426.2522.4522.2889.5413.2403.5825.5515.9713.7787 1.2552.0696.087.1372.1714.1885.245-.4008.1155-1.1208.3825-1.0552 1.717-.0123.1563-.0423.4469-.0834.8148-.0461.2077-.0702.4603-.0994.7662zm.8905-1.6211c-.0405-.8316.2691-.9185.5967-1.0105a2.8566 2.8566 0 0 0 .135-.0406 1.202 1.202 0 0 0 .1342.103c.5703.3765 1.5823.4213 3.0068.1344-.2016.1769-.5189.3994-.9533.6011-.4098.1903-1.0957.333-1.7473.3636-.7197.0336-1.0859-.0807-1.1721-.151zm.5695-9.2712c-.0059.3508-.0542.6692-.1054 1.0017-.055.3576-.112.7274-.1264 1.1762-.0142.4368.0404.8909.0932 1.3301.1066.887.216 1.8003-.2075 2.7014a3.5272 3.5272 0 0 1-.1876-.3856c-.0527-.1276-.1669-.3326-.3251-.6162-.6156-1.1041-2.0574-3.6896-1.3193-4.7446.3795-.5427 1.3408-.5661 2.1781-.463zm.2284 7.0137a12.3762 12.3762 0 0 0-.0853-.1074l-.0355-.0444c.7262-1.1995.5842-2.3862.4578-3.4385-.0519-.4318-.1009-.8396-.0885-1.2226.0129-.4061.0666-.7543.1185-1.0911.0639-.415.1288-.8443.1109-1.3505.0134-.0531.0188-.1158.0118-.1902-.0457-.4855-.5999-1.938-1.7294-3.253-.6076-.7073-1.4896-1.4972-2.6889-2.0395.5251-.1066 1.2328-.2035 2.0244-.1859 2.0515.0456 3.6746.8135 4.8242 2.2824a.908.908 0 0 1 .0667.1002c.7231 1.3556-.2762 6.2751-2.9867 10.5405zm-8.8166-6.1162c-.025.1794-.3089.4225-.6211.4225a.5821.5821 0 0 1-.0809-.0056c-.1873-.026-.3765-.144-.5059-.3156-.0458-.0605-.1203-.178-.1055-.2844.0055-.0401.0261-.0985.0925-.1488.1182-.0894.3518-.1226.6096-.0867.3163.0441.6426.1938.6113.4186zm7.9305-.4114c.0111.0792-.049.201-.1531.3102-.0683.0717-.212.1961-.4079.2232a.5456.5456 0 0 1-.075.0052c-.2935 0-.5414-.2344-.5607-.3717-.024-.1765.2641-.3106.5611-.352.297-.0414.6111.0088.6356.1851z\"\/><\/svg><\/span><span class=\"stk__name\">PostgreSQL<\/span><\/li>\n\t\t\t\t\t<li class=\"stk__item\"><span class=\"stk__tile\" aria-hidden=\"true\"><svg class=\"sws-ico stk__icon\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M448 375v-46c0-40-100-73-224-73s-224 33-224 73v46c0 40 100 73 224 73s224-33 224-73zM448 272v-103c0-40-100-73-224-73s-224 33-224 73v103c48-33 136-49 224-49s176 16 224 49zM448 112v-103c0-40-100-73-224-73s-224 33-224 73v103c48-33 136-49 224-49s176 16 224 49z\"\/><\/g><\/svg><\/span><span class=\"stk__name\">pgvector<\/span><\/li>\n\t\t\t\t\t<li class=\"stk__item\"><span class=\"stk__tile\" aria-hidden=\"true\"><svg class=\"sws-ico stk__icon\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M32 224h32v-192h-32h0c-18 0-32 14-32 32c0 0 0 0 0 0v128v0c0 18 14 32 32 32c0 0 0 0 0 0zM544 272v-272c0-35-29-64-64-64h-320c-35 0-64 29-64 64v272v0c0 44 36 80 80 80c0 0 0 0 0 0h112v64c0 18 14 32 32 32s32-14 32-32v-64h112h0c44 0 80-36 80-80c0 0 0 0 0 0zM264 192c0 22-18 40-40 40s-40-18-40-40s18-40 40-40c22 0 40 18 40 40zM256 64h-64v-32h64v32zM352 64h-64v-32h64v32zM456 192c0 22-18 40-40 40s-40-18-40-40s18-40 40-40c22 0 40 18 40 40zM448 64h-64v-32h64v32zM640 192v-128v0c0-18-14-32-32-32c0 0 0 0 0 0h-32v192h32h0c18 0 32-14 32-32c0 0 0 0 0 0z\"\/><\/g><\/svg><\/span><span class=\"stk__name\">OpenAI API<\/span><\/li>\n\t\t\t\t\t<li class=\"stk__item\"><span class=\"stk__tile\" aria-hidden=\"true\"><svg class=\"sws-ico stk__icon\" viewBox=\"0 0 384 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M320 416v-96h-64v96c0 18 14 32 32 32s32-14 32-32zM368 288c9 0 16-7 16-16v-32c0-9-7-16-16-16h-16v-32c0-77-55-142-128-157v-99h-64v99c-73 15-128 80-128 157v32h-16c-9 0-16 7-16 16v32c0 9 7 16 16 16h352zM128 416v-96h-64v96c0 18 14 32 32 32s32-14 32-32z\"\/><\/g><\/svg><\/span><span class=\"stk__name\">MCP<\/span><\/li>\n\t\t\t\t\t<li class=\"stk__item\"><span class=\"stk__tile\" aria-hidden=\"true\"><svg class=\"sws-ico stk__icon\" viewBox=\"0 0 488 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M488 186c0-141-97-242-240-242c-137 0-248 111-248 248s111 248 248 248c67 0 123-24 166-65l-67-65c-88 85-253 21-253-118c0-86 69-157 154-157c98 0 135 71 141 107h-141v86h236c2-13 4-25 4-42z\"\/><\/g><\/svg><\/span><span class=\"stk__name\">Google Drive<\/span><\/li>\n\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n<section class=\"sws-content-block outcomes-block\" aria-labelledby=\"block_0b618ea91baba3e099863614773e9daa-heading\">\n\t<div class=\"sws-container outc__inner\">\n\t\t<div class=\"outc__row\">\n\t\t\t<div class=\"outc__col outc__col--text\">\n\t\t\t\t<div class=\"sws-heading sws-heading--landing sws-heading--eyebrow-lg\">\n\t\t\t\t\t<span class=\"sws-heading__eyebrow\">Result<\/span>\n\t\t\t\t\t<h2 id=\"block_0b618ea91baba3e099863614773e9daa-heading\" class=\"sws-heading__title outc__title\">What came out of it<\/h2>\n\t\t\t\t\t<p class=\"sws-heading__lead outc__lead\">Numbers from the app\u2019s dashboard as of 2 November 2026. The project is ours, we use it ourselves, and it keeps growing.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"outc__col outc__col--list\">\n\t\t\t\t<ul class=\"outc__list\">\n\t\t\t\t\t<li class=\"outc__item\">\n\t\t\t\t\t\t<span class=\"outc__icon\" aria-hidden=\"true\"><svg class=\"sws-ico\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M504 192c0 -136.967 -111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248zM227.314 60.6855l184 184c6.24707 6.24805 6.24707 16.3799 0 22.6279l-22.6279 22.627c-6.24707 6.24902 -16.3789 6.24902 -22.6279 0 l-150.059 -150.059l-70.0586 70.0596c-6.24805 6.24805 -16.3799 6.24805 -22.6279 0l-22.6279 -22.627c-6.24707 -6.24805 -6.24707 -16.3799 0 -22.6279l104 -104c6.24902 -6.24805 16.3799 -6.24805 22.6289 -0.000976562z\"\/><\/g><\/svg><\/span>\n\t\t\t\t\t\t<div class=\"outc__body\">\n\t\t\t\t\t\t\t<h3 class=\"outc__item-title\">141 parts and 7 pieces of equipment<\/h3>\n\t\t\t\t\t\t\t<p class=\"outc__text\">The inventory is filled in: every part has a code and a status, and 140 are in stock right now. All the equipment works, and you can see what the workshop is capable of.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li class=\"outc__item\">\n\t\t\t\t\t\t<span class=\"outc__icon\" aria-hidden=\"true\"><svg class=\"sws-ico\" viewBox=\"0 0 576 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M568 204c5-8 8-17 8-27v-129c0-27-21-48-48-48h-480c-27 0-48 21-48 48v129c0 10 3 19 8 27l106 159c8 13 23 21 40 21h268c17 0 32-8 40-21zM162 320l-85-128h123l32-64h112l32 64h123l-85 128h-252z\"\/><\/g><\/svg><\/span>\n\t\t\t\t\t\t<div class=\"outc__body\">\n\t\t\t\t\t\t\t<h3 class=\"outc__item-title\">42 inbox items processed<\/h3>\n\t\t\t\t\t\t\t<p class=\"outc__text\">Voice notes, photos and files became inventory records. There are no active items right now: nothing is waiting in the queue.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li class=\"outc__item\">\n\t\t\t\t\t\t<span class=\"outc__icon\" aria-hidden=\"true\"><svg class=\"sws-ico\" viewBox=\"0 0 576 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M403 365l90-90c4-4 4-10 0-14l-219-219l-92-10c-13-1-23 9-22 22l10 92l219 219c4 4 10 4 14 0zM565 388c15-16 15-40 0-56l-36-35c-4-4-10-4-14 0l-90 90c-4 4-4 10 0 14l36 35c15 16 40 16 55 0zM384 102c0 3 1 6 4 8l40 40c7 8 20 3 20-8v-158c0-26-22-48-48-48h-352c-26 0-48 22-48 48v352c0 26 22 48 48 48h286c11 0 16-13 8-20l-40-40c-2-3-5-4-8-4h-230v-320h320v102z\"\/><\/g><\/svg><\/span>\n\t\t\t\t\t\t<div class=\"outc__body\">\n\t\t\t\t\t\t\t<h3 class=\"outc__item-title\">235 photos described by AI<\/h3>\n\t\t\t\t\t\t\t<p class=\"outc__text\">All 235 out of 235. The descriptions go into the vectors, so photos work for search too.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li class=\"outc__item\">\n\t\t\t\t\t\t<span class=\"outc__icon\" aria-hidden=\"true\"><svg class=\"sws-ico\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M371 315c-32 29-72 45-115 45c-78 0-144-53-163-127c-1-5-6-9-12-9h-57c-7 0-13 7-12 14c22 115 123 202 244 202c66 0 127-26 171-69l36 36c15 15 41 4 41-17v-134c0-13-11-24-24-24h-134c-21 0-32 26-17 41zM32 152h134c21 0 32-26 17-41l-42-42c32-29 72-45 115-45c78 0 144 53 163 127c1 5 6 9 12 9h57c7 0 13-7 12-14c-22-115-123-202-244-202c-66 0-127 26-171 69l-36-36c-15-15-41-4-41 17v134c0 13 11 24 24 24z\"\/><\/g><\/svg><\/span>\n\t\t\t\t\t\t<div class=\"outc__body\">\n\t\t\t\t\t\t\t<h3 class=\"outc__item-title\">86 changes by agents in 7 days<\/h3>\n\t\t\t\t\t\t\t<p class=\"outc__text\">Agents really do work with the data. Background jobs had zero failures over the same period.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li class=\"outc__item\">\n\t\t\t\t\t\t<span class=\"outc__icon\" aria-hidden=\"true\"><svg class=\"sws-ico\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M496 64c9 0 16-7 16-16v-32c0-9-7-16-16-16h-464c-18 0-32 14-32 32v336c0 9 7 16 16 16h32c9 0 16-7 16-16v-304h432zM464 352c9 0 16-7 16-16v-118c0-21-26-32-41-17l-32 32l-96-96c-13-12-33-12-46 0l-73 74l-46-46c-6-7-16-7-23 0l-22 22c-7 7-7 17 0 23l68 69c13 12 33 12 46 0l73-74l73 74l-32 32c-15 15-4 41 17 41h118z\"\/><\/g><\/svg><\/span>\n\t\t\t\t\t\t<div class=\"outc__body\">\n\t\t\t\t\t\t\t<h3 class=\"outc__item-title\">877 automated tests and PHPStan level 7<\/h3>\n\t\t\t\t\t\t\t<p class=\"outc__text\">22,864 lines of PHP in the app and 16,484 lines of tests. From the first commit to the current version: 38 days and 126 commits.<\/p>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n<section class=\"sws-content-block portfolio-showcase-block pfs pfs--green\" aria-labelledby=\"block_165804d0b0a5632e0c9dcdbd30f80af9-heading\">\n\t<div class=\"sws-container pfs__inner\">\n\t\t<div class=\"pfs__slider\" data-sws-slider>\n\t\t\t<script type=\"application\/json\" class=\"swss__config\">{\"autoplay\":true,\"delay\":5000,\"lazy\":true,\"shuffle\":true}<\/script>\n\t\t\t<div class=\"pfs__top\">\n\t\t\t\t<div class=\"sws-heading sws-heading--center sws-heading--landing sws-heading--on-dark pfs__head\">\n\t\t\t\t\t<h2 id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-heading\" class=\"sws-heading__title\">More of our work<\/h2>\n\t\t\t\t\t<p class=\"sws-heading__lead\">A few more studio projects \u2014 from landing pages to online stores.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"swss__viewport\">\n\t\t\t\t<div class=\"swss__track\">\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/wlcc-portfolio-800x444.webp\" class=\"pfs__shot\" alt=\"World Luxury Chamber of Commerce\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/wlcc-portfolio-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/wlcc-portfolio-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/wlcc-portfolio-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/wlcc-portfolio-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/wlcc-portfolio-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/wlcc-portfolio.webp 958w\" \/>\t\t\t\t\t\t\t<button type=\"button\" class=\"pfs__review-chip\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-3216\" aria-label=\"Client review of the site \u201cWorld Luxury Chamber of Commerce\u201d: Olha Kipiani\"><span class=\"pfs__review-faces\"><span class=\"pfs__review-face\"><img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-150x150.jpg\" class=\"pfs__review-face-img\" alt=\"\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 28px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-1024x1024.jpg 1024w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-768x768.jpg 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-800x800.jpg 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani.jpg 1200w\" \/><\/span><\/span><span class=\"pfs__review-label\">Client review<\/span><\/button>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">World Luxury Chamber of Commerce<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-elt-portfolio-800x444.webp\" class=\"pfs__shot\" alt=\"Anna ELT\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-elt-portfolio-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-elt-portfolio-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-elt-portfolio-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-elt-portfolio-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-elt-portfolio-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-elt-portfolio.webp 958w\" \/>\t\t\t\t\t\t\t<button type=\"button\" class=\"pfs__review-chip\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2837\" aria-label=\"Client review of the site \u201cAnna ELT\u201d: Anna Holovach\"><span class=\"pfs__review-faces\"><span class=\"pfs__review-face\"><img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-150x150.jpg\" class=\"pfs__review-face-img\" alt=\"\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 28px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-1024x1024.jpg 1024w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-768x768.jpg 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-800x800.jpg 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach.jpg 1200w\" \/><\/span><\/span><span class=\"pfs__review-label\">Client review<\/span><\/button>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">Anna ELT<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/odessa-bulgaria-bus-portfolio-800x444.webp\" class=\"pfs__shot\" alt=\"Passenger transportation\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/odessa-bulgaria-bus-portfolio-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/odessa-bulgaria-bus-portfolio-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/odessa-bulgaria-bus-portfolio-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/odessa-bulgaria-bus-portfolio-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/odessa-bulgaria-bus-portfolio-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/odessa-bulgaria-bus-portfolio.webp 958w\" \/>\t\t\t\t\t\t\t<button type=\"button\" class=\"pfs__review-chip\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2333\" aria-label=\"Client review of the site \u201cPassenger transportation\u201d: Mariana\"><span class=\"pfs__review-faces\"><span class=\"pfs__review-face\"><img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/marianna-driver-150x150.jpg\" class=\"pfs__review-face-img\" alt=\"\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 28px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/marianna-driver-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/marianna-driver-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/marianna-driver-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/marianna-driver.jpg 374w\" \/><\/span><\/span><span class=\"pfs__review-label\">Client review<\/span><\/button>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">Passenger transportation<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/diadechko-portfolio-1-800x444.webp\" class=\"pfs__shot\" alt=\"Attorney Diadechko\u2019s Office\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/diadechko-portfolio-1-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/diadechko-portfolio-1-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/diadechko-portfolio-1-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/diadechko-portfolio-1-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/diadechko-portfolio-1-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/diadechko-portfolio-1.webp 958w\" \/>\t\t\t\t\t\t\t<button type=\"button\" class=\"pfs__review-chip\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2325\" aria-label=\"Client reviews of the site \u201cAttorney Diadechko\u2019s Office\u201d\"><span class=\"pfs__review-faces\"><span class=\"pfs__review-face\"><img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/oleksii-diadechko-150x150.jpg\" class=\"pfs__review-face-img\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/><\/span><span class=\"pfs__review-face\"><img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/mariana-diadechko-150x150.jpg\" class=\"pfs__review-face-img\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/span><span class=\"pfs__review-label\">2 client reviews<\/span><\/button>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">Attorney Diadechko\u2019s Office<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/wfa-800x444.webp\" class=\"pfs__shot\" alt=\"WORLD FUTURE AWARDS\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/wfa-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/wfa-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/wfa-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/wfa-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/wfa-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/wfa.webp 958w\" \/>\t\t\t\t\t\t\t<button type=\"button\" class=\"pfs__review-chip\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2249\" aria-label=\"Client review of the site \u201cWORLD FUTURE AWARDS\u201d: Kateryna Chorna\"><span class=\"pfs__review-faces\"><span class=\"pfs__review-face\"><img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/kateryna-chorna-150x150.jpg\" class=\"pfs__review-face-img\" alt=\"\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 28px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/kateryna-chorna-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/kateryna-chorna-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/kateryna-chorna-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/kateryna-chorna.jpg 562w\" \/><\/span><\/span><span class=\"pfs__review-label\">Client review<\/span><\/button>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">WORLD FUTURE AWARDS<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2025\/09\/portfolio-wld-webp-800x444.webp\" class=\"pfs__shot\" alt=\"World Luxury Day\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2025\/09\/portfolio-wld-webp-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2025\/09\/portfolio-wld-webp-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2025\/09\/portfolio-wld-webp-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2025\/09\/portfolio-wld-webp-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2025\/09\/portfolio-wld-webp.webp 958w\" \/>\t\t\t\t\t\t\t<button type=\"button\" class=\"pfs__review-chip\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2247\" aria-label=\"Client review of the site \u201cWorld Luxury Day\u201d: Maria Ruban\"><span class=\"pfs__review-faces\"><span class=\"pfs__review-face\"><img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/maria-ruban-150x150.jpg\" class=\"pfs__review-face-img\" alt=\"\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 28px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/maria-ruban-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/maria-ruban-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/maria-ruban.jpg 256w\" \/><\/span><\/span><span class=\"pfs__review-label\">Client review<\/span><\/button>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">World Luxury Day<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/energy_development-800x444.webp\" class=\"pfs__shot\" alt=\"Energy Development\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/energy_development-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/energy_development-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/energy_development-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/energy_development-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/energy_development-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/energy_development.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">Energy Development<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/atis-800x444.webp\" class=\"pfs__shot\" alt=\"ATIS\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/atis-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/atis-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/atis-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/atis-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/atis-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/atis.webp 958w\" \/>\t\t\t\t\t\t\t<button type=\"button\" class=\"pfs__review-chip\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2243\" aria-label=\"Client review of the site \u201cATIS\u201d: Daria Zyu\"><span class=\"pfs__review-faces\"><span class=\"pfs__review-face\"><img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/daria-zyu-150x150.jpg\" class=\"pfs__review-face-img\" alt=\"\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 28px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/daria-zyu-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/daria-zyu-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/daria-zyu-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/daria-zyu.jpg 720w\" \/><\/span><\/span><span class=\"pfs__review-label\">Client review<\/span><\/button>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">ATIS<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/rakovar_portfolio-800x444.webp\" class=\"pfs__shot\" alt=\"Rakovar\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/rakovar_portfolio-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/rakovar_portfolio-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/rakovar_portfolio-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/rakovar_portfolio-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/rakovar_portfolio-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/rakovar_portfolio.webp 958w\" \/>\t\t\t\t\t\t\t<button type=\"button\" class=\"pfs__review-chip\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2241\" aria-label=\"Client review of the site \u201cRakovar\u201d: Stepan Sokolov\"><span class=\"pfs__review-faces\"><span class=\"pfs__review-face\"><img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-150x150.jpg\" class=\"pfs__review-face-img\" alt=\"\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 28px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-768x768.jpg 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-800x800.jpg 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov.jpg 897w\" \/><\/span><\/span><span class=\"pfs__review-label\">Client review<\/span><\/button>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">Rakovar<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/getfix-800x444.webp\" class=\"pfs__shot\" alt=\"GETFIX\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/getfix-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/getfix-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/getfix-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/getfix-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/getfix-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/getfix.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">GETFIX<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vikup-1212-800x444.webp\" class=\"pfs__shot\" alt=\"\u0410\u0432\u0442\u043e\u0412\u0438\u043a\u0443\u043f-1212\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vikup-1212-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vikup-1212-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vikup-1212-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vikup-1212-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vikup-1212-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vikup-1212.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">\u0410\u0432\u0442\u043e\u0412\u0438\u043a\u0443\u043f-1212<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/portfolio_ppc_monsters-800x444.webp\" class=\"pfs__shot\" alt=\"PPC Monsters\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/portfolio_ppc_monsters-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/portfolio_ppc_monsters-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/portfolio_ppc_monsters-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/portfolio_ppc_monsters-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/portfolio_ppc_monsters-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/portfolio_ppc_monsters.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">PPC Monsters<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/djagarova_portfolio-800x444.webp\" class=\"pfs__shot\" alt=\"DZHAGAROVA Beauty School\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/djagarova_portfolio-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/djagarova_portfolio-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/djagarova_portfolio-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/djagarova_portfolio-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/djagarova_portfolio-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/djagarova_portfolio.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">DZHAGAROVA Beauty School<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/vykup-kvartir-800x444.webp\" class=\"pfs__shot\" alt=\"\u0412\u0438\u043a\u0443\u043f \u041a\u0432\u0430\u0440\u0442\u0438\u0440\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/vykup-kvartir-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/vykup-kvartir-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/vykup-kvartir-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/vykup-kvartir-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/vykup-kvartir-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/vykup-kvartir.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">\u0412\u0438\u043a\u0443\u043f \u041a\u0432\u0430\u0440\u0442\u0438\u0440<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/tehosmotr_portfolio-mockup-800x444.webp\" class=\"pfs__shot\" alt=\"Tehosmotr\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/tehosmotr_portfolio-mockup-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/tehosmotr_portfolio-mockup-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/tehosmotr_portfolio-mockup-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/tehosmotr_portfolio-mockup-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/tehosmotr_portfolio-mockup-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/tehosmotr_portfolio-mockup.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">Tehosmotr<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vykup-800x444.webp\" class=\"pfs__shot\" alt=\"\u0410\u0432\u0442\u043e \u0412\u0438\u043a\u0443\u043f\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vykup-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vykup-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vykup-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vykup-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vykup-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/avto-vykup.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">\u0410\u0432\u0442\u043e \u0412\u0438\u043a\u0443\u043f<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/ukreina-800x444.webp\" class=\"pfs__shot\" alt=\"Ukreina\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/ukreina-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/ukreina-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/ukreina-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/ukreina-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/ukreina-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/ukreina.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">Ukreina<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/amzfunnels-800x444.webp\" class=\"pfs__shot\" alt=\"Amzfunnels\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/amzfunnels-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/amzfunnels-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/amzfunnels-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/amzfunnels-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/amzfunnels-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/amzfunnels.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">Amzfunnels<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/kaskad2-800x444.webp\" class=\"pfs__shot\" alt=\"\u041a\u0430\u0441\u043a\u0430\u0434 \u043c\u043e\u043d\u0442\u0430\u0436 \u0441\u0435\u0440\u0432\u0456\u0441\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/kaskad2-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/kaskad2-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/kaskad2-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/kaskad2-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/kaskad2-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/kaskad2.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">\u041a\u0430\u0441\u043a\u0430\u0434 \u043c\u043e\u043d\u0442\u0430\u0436 \u0441\u0435\u0440\u0432\u0456\u0441<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swss__slide pfs__card\">\n\t\t\t\t\t\t<div class=\"pfs__media\">\n\t\t\t\t\t\t\t<img width=\"800\" height=\"444\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/aura-800x444.webp\" class=\"pfs__shot\" alt=\"Aura Digital PR\" sizes=\"auto, (min-width: 1200px) 322px, (min-width: 992px) calc((100vw - 78px) * 0.287), (min-width: 768px) calc((100vw - 54px) * 0.43), calc((100vw - 30px) * 0.86)\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/aura-800x444.webp 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/aura-300x167.webp 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/aura-768x426.webp 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/aura-200x111.webp 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/aura-540x300.webp 540w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/aura.webp 958w\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<h3 class=\"pfs__title\">Aura Digital PR<\/h3>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"swss__controls pfs__controls\">\n\t\t\t\t<button type=\"button\" class=\"swss__arrow swss__arrow--prev pfs__arrow\" aria-label=\"Previous\"><svg class=\"sws-ico pfs__arrow-ico\" viewBox=\"0 0 16 29\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M0.201,13.921 L13.624,0.241 C13.940,-0.081 14.447,-0.081 14.763,0.241 C15.079,0.563 15.079,1.080 14.763,1.401 L1.912,14.499 L14.763,27.596 C15.079,27.917 15.079,28.434 14.763,28.756 C14.608,28.914 14.399,28.999 14.196,28.999 C13.994,28.999 13.785,28.920 13.630,28.756 L0.207,15.076 C-0.109,14.760 -0.109,14.237 0.201,13.921 Z\"\/><\/svg><\/button>\n\t\t\t\t<div class=\"swss__dots pfs__dots\"><\/div>\n\t\t\t\t<button type=\"button\" class=\"swss__arrow swss__arrow--next pfs__arrow\" aria-label=\"Next\"><svg class=\"sws-ico pfs__arrow-ico\" viewBox=\"0 0 15 29\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M14.768,13.921 L1.373,0.241 C1.058,-0.081 0.552,-0.081 0.237,0.241 C-0.079,0.563 -0.079,1.080 0.237,1.401 L13.060,14.499 L0.237,27.596 C-0.079,27.917 -0.079,28.434 0.237,28.756 C0.391,28.914 0.600,28.999 0.802,28.999 C1.004,28.999 1.212,28.920 1.367,28.756 L14.762,15.076 C15.078,14.760 15.078,14.237 14.768,13.921 Z\"\/><\/svg><\/button>\n\t\t\t<\/div>\n\t\t\t<div class=\"pfs__popover\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-3216\" popover=\"auto\" role=\"dialog\" aria-labelledby=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-3216-title\">\n\t\t\t\t<div class=\"pfs__popover-head\">\n\t\t\t\t\t<svg class=\"sws-ico pfs__quote\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M464 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80zM176 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80z\"\/><\/g><\/svg>\t\t\t\t\t<p class=\"pfs__popover-eyebrow\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-3216-title\">Client review of the site \u201cWorld Luxury Chamber of Commerce\u201d<\/p>\n\t\t\t\t\t<button type=\"button\" class=\"pfs__popover-close\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-3216\" popovertargetaction=\"hide\" aria-label=\"Close\"><svg class=\"sws-ico pfs__close-ico\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6.707 5.293L18.707 17.293A1 1 0 0 1 17.293 18.707L5.293 6.707A1 1 0 0 1 6.707 5.293ZM18.707 6.707L6.707 18.707A1 1 0 0 1 5.293 17.293L17.293 5.293A1 1 0 0 1 18.707 6.707Z\"\/><\/svg><\/button>\n\t\t\t\t<\/div>\n\t\t\t\t<figure class=\"pfs__review\">\n\t\t\t\t\t<blockquote class=\"pfs__review-text\"><p>We came back a second time, now with the chamber&#039;s own website. I didn&#039;t have to explain anything from scratch: they remembered how we work and suggested better options themselves. And regular clients get a discount too.<\/p>\n<\/blockquote>\n\t\t\t\t\t<figcaption class=\"pfs__review-author\">\n\t\t\t\t\t\t<img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-150x150.jpg\" class=\"pfs__review-photo\" alt=\"Olha Kipiani\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 52px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-1024x1024.jpg 1024w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-768x768.jpg 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-800x800.jpg 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/olha-kipiani.jpg 1200w\" \/>\t\t\t\t\t\t<span class=\"pfs__review-who\"><span class=\"pfs__review-name\">Olha Kipiani<\/span><span class=\"pfs__review-caption\">Group Project Director, World Luxury Chamber of Commerce<\/span><\/span>\n\t\t\t\t\t\t<ul class=\"pfs__profiles\">\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.linkedin.com\/in\/olhakipiani\/\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"LinkedIn\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M100 0h-93v299h93v-299zM54 340c-30 0-54 24-54 54c0 30 24 54 54 54s54-24 54-54c0-30-25-54-54-54zM448 0h-93v146c0 34 0 79-48 79c-48 0-56-38-56-77v-148h-93v299h90v-41h1c12 24 43 49 88 49c94 0 111-62 111-143v-164h0z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/worldluxurychamber.com\/about\/executive-team\/\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"World Luxury Chamber of Commerce\" title=\"World Luxury Chamber of Commerce\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 496 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M336 288h-176c14 89 48 152 88 152s74-63 88-152zM152 192c0 22 1 44 3 64h186c2-20 3-42 3-64s-1-44-3-64h-186c-2 20-3 42-3 64zM477 288h-108c-9 57-26 108-50 142c71-22 129-74 158-142zM177 430c-24-34-41-85-50-142h-108c29 68 87 120 158 142zM487 256c6-20 9-42 9-64s-3-44-9-64h-114c2 21 3 42 3 64s-1 43-3 64h114zM120 192c0-22 1-43 3-64h-114c-6 20-9 42-9 64s3 44 9 64h114c-2-21-3-42-3-64zM160 96h176c-14-89-48-152-88-152s-74 63-88 152zM319-46c24 34 41 85 50 142h108c-29-68-87-120-158-142zM19 96h108c9-57 26-108 50-142c-71 22-129 74-158 142z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/figcaption>\n\t\t\t\t<\/figure>\n\t\t\t<\/div>\n\t\t\t<div class=\"pfs__popover\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2837\" popover=\"auto\" role=\"dialog\" aria-labelledby=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2837-title\">\n\t\t\t\t<div class=\"pfs__popover-head\">\n\t\t\t\t\t<svg class=\"sws-ico pfs__quote\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M464 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80zM176 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80z\"\/><\/g><\/svg>\t\t\t\t\t<p class=\"pfs__popover-eyebrow\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2837-title\">Client review of the site \u201cAnna ELT\u201d<\/p>\n\t\t\t\t\t<button type=\"button\" class=\"pfs__popover-close\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2837\" popovertargetaction=\"hide\" aria-label=\"Close\"><svg class=\"sws-ico pfs__close-ico\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6.707 5.293L18.707 17.293A1 1 0 0 1 17.293 18.707L5.293 6.707A1 1 0 0 1 6.707 5.293ZM18.707 6.707L6.707 18.707A1 1 0 0 1 5.293 17.293L17.293 5.293A1 1 0 0 1 18.707 6.707Z\"\/><\/svg><\/button>\n\t\t\t\t<\/div>\n\t\t\t\t<figure class=\"pfs__review\">\n\t\t\t\t\t<blockquote class=\"pfs__review-text\"><p>I paid exactly what they quoted at the start. When I asked them mid-project to add a page with my students&#039; results, they named the price first and only then did it. No &quot;that wasn&#039;t included&quot; at the end. Others never worked that way.<\/p>\n<\/blockquote>\n\t\t\t\t\t<figcaption class=\"pfs__review-author\">\n\t\t\t\t\t\t<img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-150x150.jpg\" class=\"pfs__review-photo\" alt=\"Anna Holovach\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 52px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-1024x1024.jpg 1024w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-768x768.jpg 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-800x800.jpg 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/anna-holovach.jpg 1200w\" \/>\t\t\t\t\t\t<span class=\"pfs__review-who\"><span class=\"pfs__review-name\">Anna Holovach<\/span><span class=\"pfs__review-caption\">English teacher, CAE preparation<\/span><\/span>\n\t\t\t\t\t\t<ul class=\"pfs__profiles\">\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.instagram.com\/anna.elt.w\/\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"Instagram\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M224 307c64 0 115-51 115-115c0-63-51-115-115-115c-63 0-115 52-115 115c0 64 52 115 115 115zM224 117c41 0 75 34 75 75c0 41-34 75-75 75c-41 0-75-34-75-75c0-41 34-75 75-75zM370 312c0-15-12-27-26-27c-15 0-27 12-27 27s12 26 27 26s26-12 26-26zM447 284c2-36 2-147 0-184c-2-36-10-68-37-94c-26-27-58-35-93-36c-37-3-148-3-185 0c-36 1-68 10-94 36s-35 58-36 94c-3 37-3 148 0 185c1 35 9 67 36 93s58 35 94 37c37 2 148 2 185 0c35-2 67-10 93-37c27-26 35-58 37-94zM399 60c12 29 9 100 9 132c0 33 3 103-9 132c-8 20-23 35-43 43c-29 11-99 9-132 9c-33 0-103 3-132-9c-20-8-35-23-43-43c-11-29-9-99-9-132c0-32-2-102 9-132c8-20 23-35 43-43c29-11 99-9 132-9c33 0 103-2 132 9c20 8 35 23 43 43z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.threads.com\/@anna.elt.w\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"Threads\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12.186 24h-.007c-3.581-.024-6.334-1.205-8.184-3.509C2.35 18.44 1.5 15.586 1.472 12.01v-.017c.03-3.579.879-6.43 2.525-8.482C5.845 1.205 8.6.024 12.18 0h.014c2.746.02 5.043.725 6.826 2.098 1.677 1.29 2.858 3.13 3.509 5.467l-2.04.569c-1.104-3.96-3.898-5.984-8.304-6.015-2.91.022-5.11.936-6.54 2.717C4.307 6.504 3.616 8.914 3.589 12c.027 3.086.718 5.496 2.057 7.164 1.43 1.783 3.631 2.698 6.54 2.717 2.623-.02 4.358-.631 5.8-2.045 1.647-1.613 1.618-3.593 1.09-4.798-.31-.71-.873-1.3-1.634-1.75-.192 1.352-.622 2.446-1.284 3.272-.886 1.102-2.14 1.704-3.73 1.79-1.202.065-2.361-.218-3.259-.801-1.063-.689-1.685-1.74-1.752-2.964-.065-1.19.408-2.285 1.33-3.082.88-.76 2.119-1.207 3.583-1.291a13.853 13.853 0 0 1 3.02.142c-.126-.742-.375-1.332-.75-1.757-.513-.586-1.308-.883-2.359-.89h-.029c-.844 0-1.992.232-2.721 1.32L7.734 7.847c.98-1.454 2.568-2.256 4.478-2.256h.044c3.194.02 5.097 1.975 5.287 5.388.108.046.216.094.321.142 1.49.7 2.58 1.761 3.154 3.07.797 1.82.871 4.79-1.548 7.158-1.85 1.81-4.094 2.628-7.277 2.65Zm1.003-11.69c-.242 0-.487.007-.739.021-1.836.103-2.98.946-2.916 2.143.067 1.256 1.452 1.839 2.784 1.767 1.224-.065 2.818-.543 3.086-3.71a10.5 10.5 0 0 0-2.215-.221z\"\/><\/svg><\/a><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/figcaption>\n\t\t\t\t<\/figure>\n\t\t\t<\/div>\n\t\t\t<div class=\"pfs__popover\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2333\" popover=\"auto\" role=\"dialog\" aria-labelledby=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2333-title\">\n\t\t\t\t<div class=\"pfs__popover-head\">\n\t\t\t\t\t<svg class=\"sws-ico pfs__quote\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M464 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80zM176 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80z\"\/><\/g><\/svg>\t\t\t\t\t<p class=\"pfs__popover-eyebrow\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2333-title\">Client review of the site \u201cPassenger transportation\u201d<\/p>\n\t\t\t\t\t<button type=\"button\" class=\"pfs__popover-close\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2333\" popovertargetaction=\"hide\" aria-label=\"Close\"><svg class=\"sws-ico pfs__close-ico\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6.707 5.293L18.707 17.293A1 1 0 0 1 17.293 18.707L5.293 6.707A1 1 0 0 1 6.707 5.293ZM18.707 6.707L6.707 18.707A1 1 0 0 1 5.293 17.293L17.293 5.293A1 1 0 0 1 18.707 6.707Z\"\/><\/svg><\/button>\n\t\t\t\t<\/div>\n\t\t\t\t<figure class=\"pfs__review\">\n\t\t\t\t\t<blockquote class=\"pfs__review-text\"><p>Our old website brought in one or two inquiries a month. Three months after the new one launched, we get eight to ten, with no ads. We&#039;re now on Google&#039;s first page for the searches that matter. The site finally pays for itself.<\/p>\n<\/blockquote>\n\t\t\t\t\t<figcaption class=\"pfs__review-author\">\n\t\t\t\t\t\t<img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/marianna-driver-150x150.jpg\" class=\"pfs__review-photo\" alt=\"Mariana\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 52px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/marianna-driver-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/marianna-driver-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/marianna-driver-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/marianna-driver.jpg 374w\" \/>\t\t\t\t\t\t<span class=\"pfs__review-who\"><span class=\"pfs__review-name\">Mariana<\/span><span class=\"pfs__review-caption\">Passenger transport, Odesa to Bulgaria<\/span><\/span>\n\t\t\t\t\t\t<ul class=\"pfs__profiles\">\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.tiktok.com\/@marianna_driver\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"TikTok\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M448 238h-1c-45 0-87 15-122 39v-178c0-90-73-163-162-163c-90 0-163 73-163 163s73 162 163 162c7 0 15 0 22-1v-90c-7 2-15 3-22 3c-42 0-75-33-75-74c0-42 33-75 75-75c41 0 74 33 74 75v349h88c0 0 0-1 0-1c0-7 1-14 2-21v0c6-34 26-63 54-80c19-13 42-20 67-20c0 0 0-1 0-1v-87z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/figcaption>\n\t\t\t\t<\/figure>\n\t\t\t<\/div>\n\t\t\t<div class=\"pfs__popover\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2325\" popover=\"auto\" role=\"dialog\" aria-labelledby=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2325-title\">\n\t\t\t\t<div class=\"pfs__popover-head\">\n\t\t\t\t\t<svg class=\"sws-ico pfs__quote\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M464 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80zM176 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80z\"\/><\/g><\/svg>\t\t\t\t\t<p class=\"pfs__popover-eyebrow\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2325-title\">Client reviews of the site \u201cAttorney Diadechko\u2019s Office\u201d<\/p>\n\t\t\t\t\t<button type=\"button\" class=\"pfs__popover-close\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2325\" popovertargetaction=\"hide\" aria-label=\"Close\"><svg class=\"sws-ico pfs__close-ico\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6.707 5.293L18.707 17.293A1 1 0 0 1 17.293 18.707L5.293 6.707A1 1 0 0 1 6.707 5.293ZM18.707 6.707L6.707 18.707A1 1 0 0 1 5.293 17.293L17.293 5.293A1 1 0 0 1 18.707 6.707Z\"\/><\/svg><\/button>\n\t\t\t\t<\/div>\n\t\t\t\t<figure class=\"pfs__review\">\n\t\t\t\t\t<blockquote class=\"pfs__review-text\"><p>Two days after launch, inquiries from the contact form stopped coming in. I wrote to them on a Saturday, and it was fixed by lunch. The problem was with the hosting, but no one said &quot;that&#039;s not on us.&quot; They just sorted it out.<\/p>\n<\/blockquote>\n\t\t\t\t\t<figcaption class=\"pfs__review-author\">\n\t\t\t\t\t\t<img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/oleksii-diadechko-150x150.jpg\" class=\"pfs__review-photo\" alt=\"Oleksii Diadechko\" loading=\"lazy\" decoding=\"async\" \/>\t\t\t\t\t\t<span class=\"pfs__review-who\"><span class=\"pfs__review-name\">Oleksii Diadechko<\/span><span class=\"pfs__review-caption\">Attorney, Kyiv<\/span><\/span>\n\t\t\t\t\t\t<ul class=\"pfs__profiles\">\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.facebook.com\/oleksii.diadechko.ua\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"Facebook\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"\/><\/svg><\/a><\/li>\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.instagram.com\/oleksii.diadechko.ua\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"Instagram\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M224 307c64 0 115-51 115-115c0-63-51-115-115-115c-63 0-115 52-115 115c0 64 52 115 115 115zM224 117c41 0 75 34 75 75c0 41-34 75-75 75c-41 0-75-34-75-75c0-41 34-75 75-75zM370 312c0-15-12-27-26-27c-15 0-27 12-27 27s12 26 27 26s26-12 26-26zM447 284c2-36 2-147 0-184c-2-36-10-68-37-94c-26-27-58-35-93-36c-37-3-148-3-185 0c-36 1-68 10-94 36s-35 58-36 94c-3 37-3 148 0 185c1 35 9 67 36 93s58 35 94 37c37 2 148 2 185 0c35-2 67-10 93-37c27-26 35-58 37-94zM399 60c12 29 9 100 9 132c0 33 3 103-9 132c-8 20-23 35-43 43c-29 11-99 9-132 9c-33 0-103 3-132-9c-20-8-35-23-43-43c-11-29-9-99-9-132c0-32-2-102 9-132c8-20 23-35 43-43c29-11 99-9 132-9c33 0 103-2 132 9c20 8 35 23 43 43z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.linkedin.com\/in\/oleksiidiadechko\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"LinkedIn\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M100 0h-93v299h93v-299zM54 340c-30 0-54 24-54 54c0 30 24 54 54 54s54-24 54-54c0-30-25-54-54-54zM448 0h-93v146c0 34 0 79-48 79c-48 0-56-38-56-77v-148h-93v299h90v-41h1c12 24 43 49 88 49c94 0 111-62 111-143v-164h0z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/figcaption>\n\t\t\t\t<\/figure>\n\t\t\t\t<figure class=\"pfs__review\">\n\t\t\t\t\t<blockquote class=\"pfs__review-text\"><p>I know nothing about websites. They explained everything in plain language, no jargon. Before handing the site over, they showed me how to change the text and photos myself and recorded a video. Now I update everything on my own. Thank you for your patience.<\/p>\n<\/blockquote>\n\t\t\t\t\t<figcaption class=\"pfs__review-author\">\n\t\t\t\t\t\t<img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/mariana-diadechko-150x150.jpg\" class=\"pfs__review-photo\" alt=\"Mariana Diadechko\" loading=\"lazy\" decoding=\"async\" \/>\t\t\t\t\t\t<span class=\"pfs__review-who\"><span class=\"pfs__review-name\">Mariana Diadechko<\/span><span class=\"pfs__review-caption\">Attorney, Kyiv<\/span><\/span>\n\t\t\t\t\t\t<ul class=\"pfs__profiles\">\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.facebook.com\/marianadiadechko\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"Facebook\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"\/><\/svg><\/a><\/li>\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.instagram.com\/marianadiadechko\/\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"Instagram\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M224 307c64 0 115-51 115-115c0-63-51-115-115-115c-63 0-115 52-115 115c0 64 52 115 115 115zM224 117c41 0 75 34 75 75c0 41-34 75-75 75c-41 0-75-34-75-75c0-41 34-75 75-75zM370 312c0-15-12-27-26-27c-15 0-27 12-27 27s12 26 27 26s26-12 26-26zM447 284c2-36 2-147 0-184c-2-36-10-68-37-94c-26-27-58-35-93-36c-37-3-148-3-185 0c-36 1-68 10-94 36s-35 58-36 94c-3 37-3 148 0 185c1 35 9 67 36 93s58 35 94 37c37 2 148 2 185 0c35-2 67-10 93-37c27-26 35-58 37-94zM399 60c12 29 9 100 9 132c0 33 3 103-9 132c-8 20-23 35-43 43c-29 11-99 9-132 9c-33 0-103 3-132-9c-20-8-35-23-43-43c-11-29-9-99-9-132c0-32-2-102 9-132c8-20 23-35 43-43c29-11 99-9 132-9c33 0 103-2 132 9c20 8 35 23 43 43z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.linkedin.com\/in\/marianadiadechko\/\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"LinkedIn\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M100 0h-93v299h93v-299zM54 340c-30 0-54 24-54 54c0 30 24 54 54 54s54-24 54-54c0-30-25-54-54-54zM448 0h-93v146c0 34 0 79-48 79c-48 0-56-38-56-77v-148h-93v299h90v-41h1c12 24 43 49 88 49c94 0 111-62 111-143v-164h0z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/figcaption>\n\t\t\t\t<\/figure>\n\t\t\t<\/div>\n\t\t\t<div class=\"pfs__popover\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2249\" popover=\"auto\" role=\"dialog\" aria-labelledby=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2249-title\">\n\t\t\t\t<div class=\"pfs__popover-head\">\n\t\t\t\t\t<svg class=\"sws-ico pfs__quote\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M464 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80zM176 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80z\"\/><\/g><\/svg>\t\t\t\t\t<p class=\"pfs__popover-eyebrow\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2249-title\">Client review of the site \u201cWORLD FUTURE AWARDS\u201d<\/p>\n\t\t\t\t\t<button type=\"button\" class=\"pfs__popover-close\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2249\" popovertargetaction=\"hide\" aria-label=\"Close\"><svg class=\"sws-ico pfs__close-ico\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6.707 5.293L18.707 17.293A1 1 0 0 1 17.293 18.707L5.293 6.707A1 1 0 0 1 6.707 5.293ZM18.707 6.707L6.707 18.707A1 1 0 0 1 5.293 17.293L17.293 5.293A1 1 0 0 1 18.707 6.707Z\"\/><\/svg><\/button>\n\t\t\t\t<\/div>\n\t\t\t\t<figure class=\"pfs__review\">\n\t\t\t\t\t<blockquote class=\"pfs__review-text\"><p>This is where it all started. Since then we&#039;ve ordered two more websites here and never even looked for another developer. Every time the work is done well and on time. I recommend them to colleagues.<\/p>\n<\/blockquote>\n\t\t\t\t\t<figcaption class=\"pfs__review-author\">\n\t\t\t\t\t\t<img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/kateryna-chorna-150x150.jpg\" class=\"pfs__review-photo\" alt=\"Kateryna Chorna\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 52px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/kateryna-chorna-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/kateryna-chorna-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/kateryna-chorna-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/kateryna-chorna.jpg 562w\" \/>\t\t\t\t\t\t<span class=\"pfs__review-who\"><span class=\"pfs__review-name\">Kateryna Chorna<\/span><span class=\"pfs__review-caption\">Project Manager, World Future Awards<\/span><\/span>\n\t\t\t\t\t\t<ul class=\"pfs__profiles\">\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.linkedin.com\/in\/kateryna-chorna-53162252\/\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"LinkedIn\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M100 0h-93v299h93v-299zM54 340c-30 0-54 24-54 54c0 30 24 54 54 54s54-24 54-54c0-30-25-54-54-54zM448 0h-93v146c0 34 0 79-48 79c-48 0-56-38-56-77v-148h-93v299h90v-41h1c12 24 43 49 88 49c94 0 111-62 111-143v-164h0z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/figcaption>\n\t\t\t\t<\/figure>\n\t\t\t<\/div>\n\t\t\t<div class=\"pfs__popover\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2247\" popover=\"auto\" role=\"dialog\" aria-labelledby=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2247-title\">\n\t\t\t\t<div class=\"pfs__popover-head\">\n\t\t\t\t\t<svg class=\"sws-ico pfs__quote\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M464 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80zM176 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80z\"\/><\/g><\/svg>\t\t\t\t\t<p class=\"pfs__popover-eyebrow\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2247-title\">Client review of the site \u201cWorld Luxury Day\u201d<\/p>\n\t\t\t\t\t<button type=\"button\" class=\"pfs__popover-close\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2247\" popovertargetaction=\"hide\" aria-label=\"Close\"><svg class=\"sws-ico pfs__close-ico\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6.707 5.293L18.707 17.293A1 1 0 0 1 17.293 18.707L5.293 6.707A1 1 0 0 1 6.707 5.293ZM18.707 6.707L6.707 18.707A1 1 0 0 1 5.293 17.293L17.293 5.293A1 1 0 0 1 18.707 6.707Z\"\/><\/svg><\/button>\n\t\t\t\t<\/div>\n\t\t\t\t<figure class=\"pfs__review\">\n\t\t\t\t\t<blockquote class=\"pfs__review-text\"><p>The site went live a year ago, and I still message them about small things: adding partners, posting photos from the celebration. They answer as if they&#039;d delivered it yesterday. Not once have I heard that the contract has ended.<\/p>\n<\/blockquote>\n\t\t\t\t\t<figcaption class=\"pfs__review-author\">\n\t\t\t\t\t\t<img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/maria-ruban-150x150.jpg\" class=\"pfs__review-photo\" alt=\"Maria Ruban\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 52px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/maria-ruban-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/maria-ruban-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/maria-ruban.jpg 256w\" \/>\t\t\t\t\t\t<span class=\"pfs__review-who\"><span class=\"pfs__review-name\">Maria Ruban<\/span><span class=\"pfs__review-caption\">PR &amp; Partnerships Manager, World Luxury Chamber of Commerce<\/span><\/span>\n\t\t\t\t\t\t<ul class=\"pfs__profiles\">\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.linkedin.com\/in\/maria-ruban-60529a168\/\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"LinkedIn\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M100 0h-93v299h93v-299zM54 340c-30 0-54 24-54 54c0 30 24 54 54 54s54-24 54-54c0-30-25-54-54-54zM448 0h-93v146c0 34 0 79-48 79c-48 0-56-38-56-77v-148h-93v299h90v-41h1c12 24 43 49 88 49c94 0 111-62 111-143v-164h0z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/figcaption>\n\t\t\t\t<\/figure>\n\t\t\t<\/div>\n\t\t\t<div class=\"pfs__popover\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2243\" popover=\"auto\" role=\"dialog\" aria-labelledby=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2243-title\">\n\t\t\t\t<div class=\"pfs__popover-head\">\n\t\t\t\t\t<svg class=\"sws-ico pfs__quote\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M464 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80zM176 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80z\"\/><\/g><\/svg>\t\t\t\t\t<p class=\"pfs__popover-eyebrow\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2243-title\">Client review of the site \u201cATIS\u201d<\/p>\n\t\t\t\t\t<button type=\"button\" class=\"pfs__popover-close\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2243\" popovertargetaction=\"hide\" aria-label=\"Close\"><svg class=\"sws-ico pfs__close-ico\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6.707 5.293L18.707 17.293A1 1 0 0 1 17.293 18.707L5.293 6.707A1 1 0 0 1 6.707 5.293ZM18.707 6.707L6.707 18.707A1 1 0 0 1 5.293 17.293L17.293 5.293A1 1 0 0 1 18.707 6.707Z\"\/><\/svg><\/button>\n\t\t\t\t<\/div>\n\t\t\t\t<figure class=\"pfs__review\">\n\t\t\t\t\t<blockquote class=\"pfs__review-text\"><p>I expected it to be like other companies, where you wait days for a reply. Instead, they&#039;re always available and always get back to me. Even in the evenings and on weekends, which I really appreciated.<\/p>\n<\/blockquote>\n\t\t\t\t\t<figcaption class=\"pfs__review-author\">\n\t\t\t\t\t\t<img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/daria-zyu-150x150.jpg\" class=\"pfs__review-photo\" alt=\"Daria Zyu\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 52px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/daria-zyu-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/daria-zyu-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/daria-zyu-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/daria-zyu.jpg 720w\" \/>\t\t\t\t\t\t<span class=\"pfs__review-who\"><span class=\"pfs__review-name\">Daria Zyu<\/span><span class=\"pfs__review-caption\">Online store of Ukrainian-made goods, Nikopol<\/span><\/span>\n\t\t\t\t\t\t<ul class=\"pfs__profiles\">\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.facebook.com\/daria.zyu\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"Facebook\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"\/><\/svg><\/a><\/li>\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.instagram.com\/milashka_dashka_13\/\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"Instagram\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M224 307c64 0 115-51 115-115c0-63-51-115-115-115c-63 0-115 52-115 115c0 64 52 115 115 115zM224 117c41 0 75 34 75 75c0 41-34 75-75 75c-41 0-75-34-75-75c0-41 34-75 75-75zM370 312c0-15-12-27-26-27c-15 0-27 12-27 27s12 26 27 26s26-12 26-26zM447 284c2-36 2-147 0-184c-2-36-10-68-37-94c-26-27-58-35-93-36c-37-3-148-3-185 0c-36 1-68 10-94 36s-35 58-36 94c-3 37-3 148 0 185c1 35 9 67 36 93s58 35 94 37c37 2 148 2 185 0c35-2 67-10 93-37c27-26 35-58 37-94zM399 60c12 29 9 100 9 132c0 33 3 103-9 132c-8 20-23 35-43 43c-29 11-99 9-132 9c-33 0-103 3-132-9c-20-8-35-23-43-43c-11-29-9-99-9-132c0-32-2-102 9-132c8-20 23-35 43-43c29-11 99-9 132-9c33 0 103-2 132 9c20 8 35 23 43 43z\"\/><\/g><\/svg><\/a><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/figcaption>\n\t\t\t\t<\/figure>\n\t\t\t<\/div>\n\t\t\t<div class=\"pfs__popover\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2241\" popover=\"auto\" role=\"dialog\" aria-labelledby=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2241-title\">\n\t\t\t\t<div class=\"pfs__popover-head\">\n\t\t\t\t\t<svg class=\"sws-ico pfs__quote\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M464 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80zM176 192c26 0 48-22 48-48v-128c0-26-22-48-48-48h-128c-26 0-48 22-48 48v240c0 88 72 160 160 160h8c13 0 24-11 24-24v-48c0-13-11-24-24-24h-8c-35 0-64-29-64-64v-64h80z\"\/><\/g><\/svg>\t\t\t\t\t<p class=\"pfs__popover-eyebrow\" id=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2241-title\">Client review of the site \u201cRakovar\u201d<\/p>\n\t\t\t\t\t<button type=\"button\" class=\"pfs__popover-close\" popovertarget=\"block_165804d0b0a5632e0c9dcdbd30f80af9-review-2241\" popovertargetaction=\"hide\" aria-label=\"Close\"><svg class=\"sws-ico pfs__close-ico\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6.707 5.293L18.707 17.293A1 1 0 0 1 17.293 18.707L5.293 6.707A1 1 0 0 1 6.707 5.293ZM18.707 6.707L6.707 18.707A1 1 0 0 1 5.293 17.293L17.293 5.293A1 1 0 0 1 18.707 6.707Z\"\/><\/svg><\/button>\n\t\t\t\t<\/div>\n\t\t\t\t<figure class=\"pfs__review\">\n\t\t\t\t\t<blockquote class=\"pfs__review-text\"><p>We needed the site before the season started, and the deadline was tight. They promised four weeks and delivered in three and a half. I never had to chase them. Every week they told me what was done. We started the season with the site already live.<\/p>\n<\/blockquote>\n\t\t\t\t\t<figcaption class=\"pfs__review-author\">\n\t\t\t\t\t\t<img width=\"150\" height=\"150\" src=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-150x150.jpg\" class=\"pfs__review-photo\" alt=\"Stepan Sokolov\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, 52px\" srcset=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-150x150.jpg 150w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-300x300.jpg 300w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-768x768.jpg 768w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-800x800.jpg 800w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov-200x200.jpg 200w, https:\/\/success-web.site\/wp-content\/uploads\/2026\/09\/stepan-sokolov.jpg 897w\" \/>\t\t\t\t\t\t<span class=\"pfs__review-who\"><span class=\"pfs__review-name\">Stepan Sokolov<\/span><span class=\"pfs__review-caption\">Crayfish delivery in Kharkiv<\/span><\/span>\n\t\t\t\t\t\t<ul class=\"pfs__profiles\">\n\t\t\t\t\t\t\t<li><a class=\"pfs__profile\" href=\"https:\/\/www.facebook.com\/profile.php?id=100024832690755\" target=\"_blank\" rel=\"nofollow noopener\" aria-label=\"Facebook\"><svg class=\"sws-ico pfs__profile-ico\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"\/><\/svg><\/a><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/figcaption>\n\t\t\t\t<\/figure>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"pfs__more\">\n\t\t\t<a href=\"https:\/\/success-web.site\/en\/portfolio\/\" class=\"btn btn--white btn--rounded pfs__btn\">More Portfolio<\/a>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n<section class=\"sws-content-block cta-v5-block c5b\" aria-labelledby=\"block_aab0913f76b04464abda058ed9e266c7-heading\">\n\t<div class=\"sws-container c5b__inner\">\n\t\t<div class=\"sws-heading sws-heading--landing sws-heading--on-dark c5b__head\">\n\t\t\t<h2 id=\"block_aab0913f76b04464abda058ed9e266c7-heading\" class=\"sws-heading__title c5b__heading\">Need a system like this for your business?<\/h2>\n\t\t\t<p class=\"sws-heading__lead c5b__text\">A spare-parts warehouse, a service centre, a production line or a knowledge base with documents: tell us how your work is organised and we\u2019ll suggest which part to start with. No pressure, no commitment.<\/p>\n\t\t<\/div>\n\t\t<div class=\"c5b__actions\">\n\t\t\t<a href=\"#\" class=\"btn btn--white btn--hero btn--rounded c5b__btn fill-reference\">Contact us<svg class=\"sws-ico c5b__btn-icon\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><g transform=\"translate(0,448) scale(1,-1)\"><path d=\"M190.5 381.1l22.2002 22.2002c9.39941 9.40039 24.5996 9.40039 33.8994 0l194.4 -194.3c9.40039 -9.40039 9.40039 -24.5996 0 -33.9004l-194.4 -194.399c-9.39941 -9.40039 -24.5996 -9.40039 -33.8994 0l-22.2002 22.2002c-9.5 9.5 -9.2998 25 0.400391 34.2998 l120.5 114.8h-287.4c-13.2998 0 -24 10.7002 -24 24v32c0 13.2998 10.7002 24 24 24h287.4l-120.5 114.8c-9.80078 9.2998 -10 24.7998 -0.400391 34.2998z\"\/><\/g><\/svg><\/a>\n\t\t\t<div class=\"c5b__phones\">\n\t\t\t\t<a class=\"btn btn--ghost btn--rounded c5b__phone\" href=\"tel:+380935231502\"><svg class=\"sws-ico c5b__phone-icon\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z\"\/><\/svg>+38 (093) 523-15-02<\/a>\n\t\t\t<\/div>\n\t\t\t<p class=\"c5b__note\">We\u2019ll be happy to take your call<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n","protected":false},"featured_media":4439,"template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-4329","sws_case","type-sws_case","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Case Study: Inventory App with AI Agents, MCP and RAG<\/title>\n<meta name=\"description\" content=\"Our own workshop inventory app: stock, part codes, documents, search by meaning, an in-app agent chat and an MCP server with 30 tools. Laravel, pgvector.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Case Study: Inventory App with AI Agents, MCP and RAG\" \/>\n<meta property=\"og:description\" content=\"Our own workshop inventory app: stock, part codes, documents, search by meaning, an in-app agent chat and an MCP server with 30 tools. Laravel, pgvector.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/\" \/>\n<meta property=\"og:site_name\" content=\"Web studio Success web site\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-02T21:02:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-03T11:16:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-laptop.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"958\" \/>\n\t<meta property=\"og:image:height\" content=\"532\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/og-general-en.jpg\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/\",\"url\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/\",\"name\":\"Case Study: Inventory App with AI Agents, MCP and RAG\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/success-web.site\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/workshop-inventory-ai-laptop.webp\",\"datePublished\":\"2026-11-02T21:02:24+00:00\",\"dateModified\":\"2026-11-03T11:16:37+00:00\",\"description\":\"Our own workshop inventory app: stock, part codes, documents, search by meaning, an in-app agent chat and an MCP server with 30 tools. Laravel, pgvector.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/\"]}],\"mainEntity\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/#case\"}},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/#primaryimage\",\"url\":\"https:\\\/\\\/success-web.site\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/workshop-inventory-ai-laptop.webp\",\"contentUrl\":\"https:\\\/\\\/success-web.site\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/workshop-inventory-ai-laptop.webp\",\"width\":958,\"height\":532,\"caption\":\"Workshop inventory app on a laptop screen: the parts table with search by meaning, next to a photo of a board\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/success-web.site\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Case studies\",\"item\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Workshop: an inventory app with AI agents, search by meaning and an MCP server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/success-web.site\\\/en\\\/\",\"name\":\"Success-web.site\",\"description\":\"Ukrainian web studio Success-web.site. Working in web since 2014 \u2014 12+ years and 250+ launched projects: websites, online stores, mobile apps, SEO and digital marketing.\",\"publisher\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/#organization\"},\"alternateName\":\"\u0412\u0435\u0431 \u0441\u0442\u0443\u0434\u0456\u044f Success web site\",\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/#organization\",\"name\":\"Success-web.site\",\"alternateName\":\"\u0412\u0435\u0431 \u0441\u0442\u0443\u0434\u0456\u044f Success web site\",\"url\":\"https:\\\/\\\/success-web.site\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/success-web.site\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/success-web.site\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/logo.png\",\"width\":500,\"height\":125,\"caption\":\"Success-web.site\"},\"image\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"foundingDate\":\"2014\",\"description\":\"Ukrainian web studio Success-web.site. Working in web since 2014 \u2014 12+ years and 250+ launched projects: websites, online stores, mobile apps, SEO and digital marketing.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/anton-kovalenko-2082b614a\\\/\",\"https:\\\/\\\/www.upwork.com\\\/freelancers\\\/~0110e958d11e11f5ec\"],\"telephone\":\"+380935231502\",\"email\":\"mail@success-web.site\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Kyiv\",\"addressCountry\":\"UA\"},\"areaServed\":{\"@type\":\"Country\",\"name\":\"Ukraine\"},\"contactPoint\":{\"@type\":\"ContactPoint\",\"contactType\":\"customer service\",\"availableLanguage\":[\"uk\",\"ru\",\"en\"],\"areaServed\":\"UA\",\"hoursAvailable\":{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\"],\"opens\":\"09:00\",\"closes\":\"19:00\"},\"telephone\":\"+380935231502\",\"email\":\"mail@success-web.site\"}},{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/#case\",\"headline\":\"Workshop: an inventory app with AI agents, search by meaning and an MCP server\",\"url\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/\",\"description\":\"Our own workshop inventory app: stock, part codes, documents, search by meaning, an in-app agent chat and an MCP server with 30 tools. Laravel, pgvector.\",\"inLanguage\":\"en-US\",\"datePublished\":\"2026-11-02T21:02:24+00:00\",\"dateModified\":\"2026-11-03T11:16:37+00:00\",\"image\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/#primaryimage\"},\"author\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/#organization\"},\"publisher\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/#organization\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/\"},\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/cases\\\/workshop-inventory-ai\\\/\"},\"articleSection\":\"Electronics and prototyping workshop\",\"mentions\":[{\"@type\":\"Service\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/web-application-development\\\/#service\",\"name\":\"Web apps \\\/ SaaS\",\"url\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/web-application-development\\\/\"},{\"@type\":\"Service\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/rag-development\\\/#service\",\"name\":\"RAG and semantic search\",\"url\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/rag-development\\\/\"},{\"@type\":\"Service\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/automation-of-business-processes\\\/#service\",\"name\":\"Automation and AI agents\",\"url\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/automation-of-business-processes\\\/\"},{\"@type\":\"Service\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/backend-api-development\\\/#service\",\"name\":\"Backend and API\",\"url\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/backend-api-development\\\/\"},{\"@type\":\"Service\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/laravel-website-creation\\\/#service\",\"name\":\"Laravel website\",\"url\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/laravel-website-creation\\\/\"},{\"@type\":\"Service\",\"@id\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/ai-development\\\/#service\",\"name\":\"AI solutions\",\"url\":\"https:\\\/\\\/success-web.site\\\/en\\\/services\\\/ai-development\\\/\"}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Case Study: Inventory App with AI Agents, MCP and RAG","description":"Our own workshop inventory app: stock, part codes, documents, search by meaning, an in-app agent chat and an MCP server with 30 tools. Laravel, pgvector.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/","og_locale":"en_US","og_type":"article","og_title":"Case Study: Inventory App with AI Agents, MCP and RAG","og_description":"Our own workshop inventory app: stock, part codes, documents, search by meaning, an in-app agent chat and an MCP server with 30 tools. Laravel, pgvector.","og_url":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/","og_site_name":"Web studio Success web site","article_published_time":"2026-11-02T21:02:24+00:00","article_modified_time":"2026-11-03T11:16:37+00:00","og_image":[{"width":958,"height":532,"url":"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-laptop.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/success-web.site\/wp-content\/uploads\/2026\/07\/og-general-en.jpg","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/","url":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/","name":"Case Study: Inventory App with AI Agents, MCP and RAG","isPartOf":{"@id":"https:\/\/success-web.site\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/#primaryimage"},"image":{"@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-laptop.webp","datePublished":"2026-11-02T21:02:24+00:00","dateModified":"2026-11-03T11:16:37+00:00","description":"Our own workshop inventory app: stock, part codes, documents, search by meaning, an in-app agent chat and an MCP server with 30 tools. Laravel, pgvector.","breadcrumb":{"@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/"]}],"mainEntity":{"@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/#case"}},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/#primaryimage","url":"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-laptop.webp","contentUrl":"https:\/\/success-web.site\/wp-content\/uploads\/2026\/11\/workshop-inventory-ai-laptop.webp","width":958,"height":532,"caption":"Workshop inventory app on a laptop screen: the parts table with search by meaning, next to a photo of a board"},{"@type":"BreadcrumbList","@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/success-web.site\/en\/"},{"@type":"ListItem","position":2,"name":"Case studies","item":"https:\/\/success-web.site\/en\/cases\/"},{"@type":"ListItem","position":3,"name":"Workshop: an inventory app with AI agents, search by meaning and an MCP server"}]},{"@type":"WebSite","@id":"https:\/\/success-web.site\/en\/#website","url":"https:\/\/success-web.site\/en\/","name":"Success-web.site","description":"Ukrainian web studio Success-web.site. Working in web since 2014 \u2014 12+ years and 250+ launched projects: websites, online stores, mobile apps, SEO and digital marketing.","publisher":{"@id":"https:\/\/success-web.site\/en\/#organization"},"alternateName":"\u0412\u0435\u0431 \u0441\u0442\u0443\u0434\u0456\u044f Success web site","inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/success-web.site\/en\/#organization","name":"Success-web.site","alternateName":"\u0412\u0435\u0431 \u0441\u0442\u0443\u0434\u0456\u044f Success web site","url":"https:\/\/success-web.site\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/success-web.site\/en\/#\/schema\/logo\/image\/","url":"https:\/\/success-web.site\/wp-content\/uploads\/2025\/02\/logo.png","contentUrl":"https:\/\/success-web.site\/wp-content\/uploads\/2025\/02\/logo.png","width":500,"height":125,"caption":"Success-web.site"},"image":{"@id":"https:\/\/success-web.site\/en\/#\/schema\/logo\/image\/"},"foundingDate":"2014","description":"Ukrainian web studio Success-web.site. Working in web since 2014 \u2014 12+ years and 250+ launched projects: websites, online stores, mobile apps, SEO and digital marketing.","sameAs":["https:\/\/www.linkedin.com\/in\/anton-kovalenko-2082b614a\/","https:\/\/www.upwork.com\/freelancers\/~0110e958d11e11f5ec"],"telephone":"+380935231502","email":"mail@success-web.site","address":{"@type":"PostalAddress","addressLocality":"Kyiv","addressCountry":"UA"},"areaServed":{"@type":"Country","name":"Ukraine"},"contactPoint":{"@type":"ContactPoint","contactType":"customer service","availableLanguage":["uk","ru","en"],"areaServed":"UA","hoursAvailable":{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"09:00","closes":"19:00"},"telephone":"+380935231502","email":"mail@success-web.site"}},{"@type":"Article","@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/#case","headline":"Workshop: an inventory app with AI agents, search by meaning and an MCP server","url":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/","description":"Our own workshop inventory app: stock, part codes, documents, search by meaning, an in-app agent chat and an MCP server with 30 tools. Laravel, pgvector.","inLanguage":"en-US","datePublished":"2026-11-02T21:02:24+00:00","dateModified":"2026-11-03T11:16:37+00:00","image":{"@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/#primaryimage"},"author":{"@id":"https:\/\/success-web.site\/en\/#organization"},"publisher":{"@id":"https:\/\/success-web.site\/en\/#organization"},"isPartOf":{"@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/"},"mainEntityOfPage":{"@id":"https:\/\/success-web.site\/en\/cases\/workshop-inventory-ai\/"},"articleSection":"Electronics and prototyping workshop","mentions":[{"@type":"Service","@id":"https:\/\/success-web.site\/en\/services\/web-application-development\/#service","name":"Web apps \/ SaaS","url":"https:\/\/success-web.site\/en\/services\/web-application-development\/"},{"@type":"Service","@id":"https:\/\/success-web.site\/en\/services\/rag-development\/#service","name":"RAG and semantic search","url":"https:\/\/success-web.site\/en\/services\/rag-development\/"},{"@type":"Service","@id":"https:\/\/success-web.site\/en\/services\/automation-of-business-processes\/#service","name":"Automation and AI agents","url":"https:\/\/success-web.site\/en\/services\/automation-of-business-processes\/"},{"@type":"Service","@id":"https:\/\/success-web.site\/en\/services\/backend-api-development\/#service","name":"Backend and API","url":"https:\/\/success-web.site\/en\/services\/backend-api-development\/"},{"@type":"Service","@id":"https:\/\/success-web.site\/en\/services\/laravel-website-creation\/#service","name":"Laravel website","url":"https:\/\/success-web.site\/en\/services\/laravel-website-creation\/"},{"@type":"Service","@id":"https:\/\/success-web.site\/en\/services\/ai-development\/#service","name":"AI solutions","url":"https:\/\/success-web.site\/en\/services\/ai-development\/"}]}]}},"_links":{"self":[{"href":"https:\/\/success-web.site\/en\/wp-json\/wp\/v2\/sws_case\/4329","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/success-web.site\/en\/wp-json\/wp\/v2\/sws_case"}],"about":[{"href":"https:\/\/success-web.site\/en\/wp-json\/wp\/v2\/types\/sws_case"}],"version-history":[{"count":3,"href":"https:\/\/success-web.site\/en\/wp-json\/wp\/v2\/sws_case\/4329\/revisions"}],"predecessor-version":[{"id":4359,"href":"https:\/\/success-web.site\/en\/wp-json\/wp\/v2\/sws_case\/4329\/revisions\/4359"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/success-web.site\/en\/wp-json\/wp\/v2\/media\/4439"}],"wp:attachment":[{"href":"https:\/\/success-web.site\/en\/wp-json\/wp\/v2\/media?parent=4329"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}