{"id":3068,"date":"2026-05-18T15:31:08","date_gmt":"2026-05-18T13:31:08","guid":{"rendered":"https:\/\/productcrafters.io\/blog\/?p=3068"},"modified":"2026-05-18T15:36:17","modified_gmt":"2026-05-18T13:36:17","slug":"customer-support-agent","status":"publish","type":"post","link":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/","title":{"rendered":"Project Diary: Customer Support Agent"},"content":{"rendered":"<div>We\u2019ve built a customer support agent for a popular fitness app (100k+ users).<\/div>\n<div>Now it handles 250+ tickets\/day.<\/div>\n<div>It went from a simple few-week MVP to a platform which:<\/div>\n<ul>\n<li>integrates with the legacy customer support system users\u2019 database and events;<\/li>\n<li>has an admin app to manage prompts &amp; knowledge base;<\/li>\n<li>has external tools to make better decisions<\/li>\n<li>automated scenarios environment to test new prompts &amp; data isolated from real users;<\/li>\n<li>includes AI agent observability &amp; logging.<\/li>\n<\/ul>\n<div>Now we are adding an extra AI agent to analyze AI messages before sending them to the user.<\/div>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-flat ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#How_the_project_evolves_in_reality\" >How the project evolves in reality<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#Model_update\" >Model update<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#Templated_answers_%E2%86%92_Knowledge_base\" >Templated answers \u2192 Knowledge base<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#Automated_response_evaluators\" >Automated response evaluators<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"How_the_project_evolves_in_reality\"><\/span>How the project evolves in reality<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div>? From the business perspective, it went through a lot of changes as well.<br \/>\nThe client has shared a standard operating procedure (SOP) document from day 1, with:<\/div>\n<ul>\n<li>a business context<\/li>\n<li>Examples of conversations with real users<\/li>\n<li>ideal and non-ideal conversations examples<\/li>\n<\/ul>\n<div>As soon as the first version was tested in staging, we started a gradual rollout to real users.<\/div>\n<div>The main communication channel is an email. To start, a small portion of new email tickets was forwarded to an AI agent. With first excitement from perfectly processed tickets, we also realised that a lot of real-world cases were not covered in the SOP document. We created a group chat with the client\u2019s support team and our BA\/devs. It helped to quickly implement each undocumented but desired use case.<\/div>\n<div>Support AI Agent uses external tools to make a decision or write a better response. It works exactly the same as in Claude\/ChatGPT &#8211; it picks the right tool when it needs it.<\/div>\n<div>As we covered new edge cases and served bigger part of inbound emails, we got more issues. Apparently, integration with the client\u2019s data storage was sending empty data for some users.<br \/>\nSo in the Admin app, in addition to the full dialog view, we\u2019ve added tool context and were able to quickly spot the issue.<\/div>\n<div>N.B. Client\u2019s team has a very experienced project lead who worked in banks and knows how to roll out external systems. We appreciate the realistic expectations they have about system integrations &amp; change management. This helped to avoid mistakes and rushing.<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Model_update\"><\/span>Model update<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div>Once the AI agent got better, the support team decided to forward all inbound emails to it. For a few hours first. So we got more edge cases to solve.<\/div>\n<div>This time, we have issues with messages in different languages. Sometimes a user may start a conversation in Spanish and then switch to English. Also, the user may start with one topic and remember another. Or be not very clear with intent.<\/div>\n<div>The model we used (gpt-4o-mini) was super fast and cheap, but not optimal for complicated scenarios. So we\u2019ve changed it to gpt-5-mini. To make sure we use all it\u2019s capabilities, we\u2019ve conducted a deep research and optimised our prompts for this model.<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Templated_answers_%E2%86%92_Knowledge_base\"><\/span>Templated answers \u2192 Knowledge base<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div>Originally, the agent was built with:<\/div>\n<ul>\n<li>master prompt (who you are, what you are doing, and how)<\/li>\n<li>classification prompt (what type of request is it)<\/li>\n<li>templates for each request type<\/li>\n<li>human escalation mechanism<\/li>\n<\/ul>\n<div>We started with templates, as we didn\u2019t have a full knowledge base at the beginning and were building it together with a support team. And it was in the master prompt first. Once it grew up, it became not efficient to keep in there, so we\u2019ve added a knowledge base section for each user&#8217;s intent. In this case, only relevant data is being sent to the LLM, which improves the responses, increases the speed, and saves tokens.<\/div>\n<div>Having the intent, knowledge base, and instructions allowed us to remove hard-coded templated responses and use customised answers for each ticket.<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Automated_response_evaluators\"><\/span>Automated response evaluators<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div>Once we handle more complicated support tickets and dialogs, prompts, and the knowledge base gets bigger and harder to manage. To be more confident that describing another edge case will not break what already works, we\u2019ve added <a href=\"https:\/\/docs.langchain.com\/langsmith\/evaluation-concepts#experiment\">Evaluations<\/a>. These are the special tests, dialogs that simulate typical scenarios between:<\/div>\n<ol>\n<li>AI Support Agent<\/li>\n<li>AI user (they have an intent, context, script to follow)<\/li>\n<li>AI Evaluator (this guy evaluates how good AI Agent handled the conversation)<\/li>\n<\/ol>\n<p>And we&#8217;ve just started \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We\u2019ve built a customer support agent for a popular fitness app (100k+ users). Now it handles 250+ tickets\/day. It went from a simple few-week&#8230;<\/p>\n","protected":false},"author":1,"featured_media":3072,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[],"class_list":["post-3068","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-machine-learning"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Project Diary: Customer Support Agent<\/title>\n<meta name=\"description\" content=\"How we built a customer support AI agent for a fitness app \u2014 from MVP to 250+ tickets\/day. Prompts, knowledge base, evaluators, tool use, lessons learned.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/productcrafters.io\/blog\/customer-support-agent\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Project Diary: Customer Support Agent\" \/>\n<meta property=\"og:description\" content=\"How we built a customer support AI agent for a fitness app \u2014 from MVP to 250+ tickets\/day. Prompts, knowledge base, evaluators, tool use, lessons learned.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/productcrafters.io\/blog\/customer-support-agent\/\" \/>\n<meta property=\"og:site_name\" content=\"ProductCrafters\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/productcrafters\" \/>\n<meta property=\"article:author\" content=\"#\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-18T13:31:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-18T13:36:17+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/productcrafters.io\/blog\/wp-content\/uploads\/2026\/05\/blog-fitness-support-agent-featured-A-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"670\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Oleg Kalyta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@#\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oleg Kalyta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/\"},\"author\":{\"name\":\"Oleg Kalyta\",\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/#\\\/schema\\\/person\\\/65956d0c96a9ca33a2e160ed676cd854\"},\"headline\":\"Project Diary: Customer Support Agent\",\"datePublished\":\"2026-05-18T13:31:08+00:00\",\"dateModified\":\"2026-05-18T13:36:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/\"},\"wordCount\":711,\"publisher\":{\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/blog-fitness-support-agent-featured-A-1.webp\",\"articleSection\":[\"AI &amp; Machine Learning\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/\",\"url\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/\",\"name\":\"Project Diary: Customer Support Agent\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/blog-fitness-support-agent-featured-A-1.webp\",\"datePublished\":\"2026-05-18T13:31:08+00:00\",\"dateModified\":\"2026-05-18T13:36:17+00:00\",\"description\":\"How we built a customer support AI agent for a fitness app \u2014 from MVP to 250+ tickets\\\/day. Prompts, knowledge base, evaluators, tool use, lessons learned.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/#primaryimage\",\"url\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/blog-fitness-support-agent-featured-A-1.webp\",\"contentUrl\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/blog-fitness-support-agent-featured-A-1.webp\",\"width\":1200,\"height\":670,\"caption\":\"AI Support Agent project development diary\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/customer-support-agent\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI &amp; Machine Learning\",\"item\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/ai-machine-learning\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Project Diary: Customer Support Agent\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/\",\"name\":\"ProductCrafters\",\"description\":\"Our insights on development and business topics.\",\"publisher\":{\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/#organization\",\"name\":\"ProductCrafters\",\"url\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/favicon.png\",\"contentUrl\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/favicon.png\",\"width\":64,\"height\":64,\"caption\":\"ProductCrafters\"},\"image\":{\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/productcrafters\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/18621816\",\"https:\\\/\\\/github.com\\\/ProductCrafters\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/#\\\/schema\\\/person\\\/65956d0c96a9ca33a2e160ed676cd854\",\"name\":\"Oleg Kalyta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7933ebedbe0e78c4a330b2080f5a4e429545588429c7f678fd0c87bb48ec123f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7933ebedbe0e78c4a330b2080f5a4e429545588429c7f678fd0c87bb48ec123f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7933ebedbe0e78c4a330b2080f5a4e429545588429c7f678fd0c87bb48ec123f?s=96&d=mm&r=g\",\"caption\":\"Oleg Kalyta\"},\"description\":\"Founder, PhD in CS, 15+ years building software &amp; AI products. Led delivery of 10+ AI\\\/ML solutions including AI agents that cut support response times from 4 hours to under 1 minute at $0.02 per conversation.\",\"sameAs\":[\"#\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/olegkalyta\\\/\",\"https:\\\/\\\/x.com\\\/#\"],\"url\":\"https:\\\/\\\/productcrafters.io\\\/blog\\\/author\\\/oleg\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Project Diary: Customer Support Agent","description":"How we built a customer support AI agent for a fitness app \u2014 from MVP to 250+ tickets\/day. Prompts, knowledge base, evaluators, tool use, lessons learned.","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:\/\/productcrafters.io\/blog\/customer-support-agent\/","og_locale":"en_US","og_type":"article","og_title":"Project Diary: Customer Support Agent","og_description":"How we built a customer support AI agent for a fitness app \u2014 from MVP to 250+ tickets\/day. Prompts, knowledge base, evaluators, tool use, lessons learned.","og_url":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/","og_site_name":"ProductCrafters","article_publisher":"https:\/\/www.facebook.com\/productcrafters","article_author":"#","article_published_time":"2026-05-18T13:31:08+00:00","article_modified_time":"2026-05-18T13:36:17+00:00","og_image":[{"width":1200,"height":670,"url":"http:\/\/productcrafters.io\/blog\/wp-content\/uploads\/2026\/05\/blog-fitness-support-agent-featured-A-1.webp","type":"image\/webp"}],"author":"Oleg Kalyta","twitter_card":"summary_large_image","twitter_creator":"@#","twitter_misc":{"Written by":"Oleg Kalyta","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#article","isPartOf":{"@id":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/"},"author":{"name":"Oleg Kalyta","@id":"https:\/\/productcrafters.io\/blog\/#\/schema\/person\/65956d0c96a9ca33a2e160ed676cd854"},"headline":"Project Diary: Customer Support Agent","datePublished":"2026-05-18T13:31:08+00:00","dateModified":"2026-05-18T13:36:17+00:00","mainEntityOfPage":{"@id":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/"},"wordCount":711,"publisher":{"@id":"https:\/\/productcrafters.io\/blog\/#organization"},"image":{"@id":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#primaryimage"},"thumbnailUrl":"https:\/\/productcrafters.io\/blog\/wp-content\/uploads\/2026\/05\/blog-fitness-support-agent-featured-A-1.webp","articleSection":["AI &amp; Machine Learning"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/","url":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/","name":"Project Diary: Customer Support Agent","isPartOf":{"@id":"https:\/\/productcrafters.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#primaryimage"},"image":{"@id":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#primaryimage"},"thumbnailUrl":"https:\/\/productcrafters.io\/blog\/wp-content\/uploads\/2026\/05\/blog-fitness-support-agent-featured-A-1.webp","datePublished":"2026-05-18T13:31:08+00:00","dateModified":"2026-05-18T13:36:17+00:00","description":"How we built a customer support AI agent for a fitness app \u2014 from MVP to 250+ tickets\/day. Prompts, knowledge base, evaluators, tool use, lessons learned.","breadcrumb":{"@id":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/productcrafters.io\/blog\/customer-support-agent\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#primaryimage","url":"https:\/\/productcrafters.io\/blog\/wp-content\/uploads\/2026\/05\/blog-fitness-support-agent-featured-A-1.webp","contentUrl":"https:\/\/productcrafters.io\/blog\/wp-content\/uploads\/2026\/05\/blog-fitness-support-agent-featured-A-1.webp","width":1200,"height":670,"caption":"AI Support Agent project development diary"},{"@type":"BreadcrumbList","@id":"https:\/\/productcrafters.io\/blog\/customer-support-agent\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/productcrafters.io\/blog\/"},{"@type":"ListItem","position":2,"name":"AI &amp; Machine Learning","item":"https:\/\/productcrafters.io\/blog\/ai-machine-learning\/"},{"@type":"ListItem","position":3,"name":"Project Diary: Customer Support Agent"}]},{"@type":"WebSite","@id":"https:\/\/productcrafters.io\/blog\/#website","url":"https:\/\/productcrafters.io\/blog\/","name":"ProductCrafters","description":"Our insights on development and business topics.","publisher":{"@id":"https:\/\/productcrafters.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/productcrafters.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/productcrafters.io\/blog\/#organization","name":"ProductCrafters","url":"https:\/\/productcrafters.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/productcrafters.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/productcrafters.io\/blog\/wp-content\/uploads\/2019\/04\/favicon.png","contentUrl":"https:\/\/productcrafters.io\/blog\/wp-content\/uploads\/2019\/04\/favicon.png","width":64,"height":64,"caption":"ProductCrafters"},"image":{"@id":"https:\/\/productcrafters.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/productcrafters","https:\/\/www.linkedin.com\/company\/18621816","https:\/\/github.com\/ProductCrafters"]},{"@type":"Person","@id":"https:\/\/productcrafters.io\/blog\/#\/schema\/person\/65956d0c96a9ca33a2e160ed676cd854","name":"Oleg Kalyta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7933ebedbe0e78c4a330b2080f5a4e429545588429c7f678fd0c87bb48ec123f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7933ebedbe0e78c4a330b2080f5a4e429545588429c7f678fd0c87bb48ec123f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7933ebedbe0e78c4a330b2080f5a4e429545588429c7f678fd0c87bb48ec123f?s=96&d=mm&r=g","caption":"Oleg Kalyta"},"description":"Founder, PhD in CS, 15+ years building software &amp; AI products. Led delivery of 10+ AI\/ML solutions including AI agents that cut support response times from 4 hours to under 1 minute at $0.02 per conversation.","sameAs":["#","https:\/\/www.linkedin.com\/in\/olegkalyta\/","https:\/\/x.com\/#"],"url":"https:\/\/productcrafters.io\/blog\/author\/oleg\/"}]}},"_links":{"self":[{"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/posts\/3068","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/comments?post=3068"}],"version-history":[{"count":3,"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/posts\/3068\/revisions"}],"predecessor-version":[{"id":3073,"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/posts\/3068\/revisions\/3073"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/media\/3072"}],"wp:attachment":[{"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/media?parent=3068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/categories?post=3068"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/productcrafters.io\/blog\/wp-json\/wp\/v2\/tags?post=3068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}