# Custom AI Development: Built & Supported | Systenics > We build the AI that keeps working after launch, and we're the humans who support it. 20 years of building software that runs other businesses. From $5K, scoped openly. Systenics builds AI-enabled products and business applications for founders and owners of non-technical businesses: the version that runs the business, not just the one that proves the idea. We rescue broken AI apps, diagnose the real gap, build from $5K, and support what we ship. Pricing: Diagnosis (the first-yes conversation, no package price), production builds from $5K scoped openly, and a Support / Managed retainer priced per build. We have 20 years in software, based in Navi Mumbai, India, working with clients worldwide. We have shipped and operate our own AI products: CSV Normalize, Bank Statements CSV, and Card Statement CSV. This site (systenics.ai) covers our AI work specifically. Our other services (bespoke .NET and cloud development) are covered on systenics.com, linked below. ## Main Pages - [Homepage](https://systenics.ai/): What we build, who we build it for, and how to start - [Pricing](https://systenics.ai/pricing): Diagnosis (free), custom AI development from $5K scoped openly, and a support retainer priced per build. No fixed packages. - [What We Build](https://systenics.ai/services): Four offers: rescue broken AI apps, diagnose the real gap, build custom AI from $5K, and support it long-term. - [Rescue & Rebuild](https://systenics.ai/services/rescue): Fix and rebuild Lovable, Bolt, and no-code AI apps that break in production. From $5K. - [Diagnosis](https://systenics.ai/services/diagnosis): A free 30-minute call. A clear answer and a written estimate or recommendation afterward. - [Build](https://systenics.ai/services/build): Custom AI development from a validated idea, from $5K, scoped openly after a Diagnosis call. Focused builds generally run 3-6 weeks. - [Modernize / Rebuild Legacy Apps](https://systenics.ai/services/modernize): Migrate an unsupported or undocumented business application to a modern, supported stack while retaining the features you rely on. From $5K after scoping. - [Support & Managed](https://systenics.ai/services/support): Optional monthly retainer for software Systenics built or rebuilt: monitoring, security patching, AI/platform upgrades, and maintenance, priced to the build. - [Document AI](https://systenics.ai/services/document-ai): Extracting and structuring data from PDFs, spreadsheets and statements automatically - [Hyper-Personalized Business Applications](https://systenics.ai/services/internal-tools): Line-of-business applications, internal tools, and email workflows built around how a team operates - [AI Integrations](https://systenics.ai/services/ai-integrations): Chatbots, AI provider connections, and third-party AI services wired into existing systems - [Products](https://systenics.ai/products): AI products we built and run ourselves (CSV Normalize, Bank Statements CSV, Card Statement CSV) - [About](https://systenics.ai/about): 20 years in business, based in Navi Mumbai, India - [Contact](https://systenics.ai/contact): Start a project. We reply within one business day - [Blog](https://systenics.ai/blog): Technical articles on AI engineering, agents, RAG, and document processing - [Privacy Policy](https://systenics.ai/privacy-policy): Privacy policy and data handling information ## Blog Posts - [Why Zapier and No-Code AI Connectors Fail on Business Data](https://systenics.ai/blog/2026-09-13-why-zapier-and-no-code-ai-connectors-fail-on-business-data): No-code webhooks work fine for notifications. They break when an AI updates your core database. Here is why webhook AI glue fails and how to build resilient integrations. - [Production Document AI: Beyond Toy OCR and Demo PDF Extractors](https://systenics.ai/blog/2026-09-12-production-document-ai-beyond-toy-ocr-and-pdf-extractors): Pulling text from a pristine digital PDF is simple. Real financial documents are crumpled, skewed, and inconsistent. Here is how we build document AI that survives production. - [Why Lovable and Bolt AI Apps Fail in Production (And How to Rebuild Them)](https://systenics.ai/blog/2026-09-11-why-lovable-bolt-ai-apps-fail-in-production-and-how-to-rebuild): AI app builders produce fast prototypes, but break under real users and expose severe security vulnerabilities. Here is how vibe-coded apps fail and how we rebuild them securely. - [iOS App Groups: Share Data Between Your App and Extensions](https://systenics.ai/blog/2026-09-03-ios-app-groups-share-data-between-app-and-extensions): How to set up iOS App Groups so a share extension, widget, and main app can share UserDefaults and files - group identifiers, entitlements, and the mistakes that break it. - [From Individual AI Assistants to Shared Engineering Intelligence: Part 1](https://systenics.ai/blog/2026-08-26-internal-ai-platform-shared-engineering-intelligence-part-1): Why organizations need an internal AI platform that shares engineering knowledge, rules, skills, and ADRs across Claude Code, Cursor, Copilot, and future AI agents. - [RAG for Large PDFs: A Navigation-Based Alternative to Vector Retrieval Using PageIndex](https://systenics.ai/blog/2026-02-28-rag-for-large-pdfs-a-navigation-based-alternative-to-vector-retrieval-using-pageindex): A practical guide comparing Vector RAG and navigation based RAG for large PDFs, showing how a hierarchical PageIndex lets LLMs locate answers inside structured documentation without relying on vector databases or similarity search. - [Getting Started with LangChain: Build LLM-Powered Agents Step by Step with Python](https://systenics.ai/blog/2026-01-30-getting-started-with-langchain-build-llm-powered-agents-step-by-step-with-python): A working LangChain v1 agent in Python: model setup, LCEL chains, structured output with Pydantic, tool-calling agents, and how it compares to Semantic Kernel. - [TOON vs JSON: How Token-Oriented Object Notation Reduces LLM Token Costs](https://systenics.ai/blog/2026-01-24-toon-vs-json-how-token-oriented-object-notation-reduces-llm-token-costs): TOON is a token-efficient data format for LLMs. Learn how it compares to JSON, why it saves tokens, and how to use it with Semantic Kernel in .NET. - [Three Common Nginx Errors Solved: 413, 504, and Static File Handling (Docker Edition)](https://systenics.ai/blog/2025-11-06-three-common-nginx-errors-solved-413-504-and-static-file-handling-docker-edition): Fix Nginx errors like 413 Request Entity Too Large, 504 Gateway Timeout, and static file issues in Docker using simple nginx-proxy configuration tweaks. - [PDF to Markdown Conversion Tools: Beyond the Hype - A Deep Dive into MarkItDown, Docling, and Mistral Document AI](https://systenics.ai/blog/2025-07-28-pdf-to-markdown-conversion-tools): Explore MarkItDown, Docling, and Mistral Document AI performance when converting complex PDFs into structured Markdown. This comparison highlights each tool’s strengths and limitations, from basic text scraping to AI-powered table recognition. - [What Is Context Engineering? Boost Your AI with Better Context](https://systenics.ai/blog/2025-07-12-what-is-context-engineering-boost-your-ai-with-better-context): Learn what Context Engineering is, how it differs from Prompt Engineering, and see real-world examples like AI coding assistants. A simple guide for beginners to understand how AI truly becomes smart. - [Why Your Semantic Kernel Agents Are Sharing Plugins and How to Fix It](https://systenics.ai/blog/2025-05-09-why-you-semantic-kernel-agents-sharing-plugins): Learn why using a single Semantic Kernel for multiple agents causes plugins to leak between them, uncover the root cause, and explore simple solutions to ensure each agent’s plugins remain properly isolated. - [Integrating Dapr with DotNet Semantic Kernel Process Framework on Aspire](https://systenics.ai/blog/2025-04-26-integrating-dapr-with-dotnet-semantic-kernel-process-framework-on-aspire): Learn how to integrate Dapr sidecars into your .NET Aspire projects with Microsoft’s Semantic Kernel Process Framework to run AI-powered workflows at cloud scale. This step-by-step guide covers installation, configuration and sample code to get resilient, actor-based processes running anywhere. - [Understanding Selection and Termination Strategy functions in .NET Semantic Kernel Agent Framework](https://systenics.ai/blog/2025-04-22-understanding-selection-and-termination-strategy-functions-in-dotnet-semantic-kernel-agent-framework): Explore how Selection and Termination Strategy Functions in the Semantic Kernel Agent Framework for .NET manage multi-agent conversations by choosing the next speaker and deciding when to end the chat. - [Automate Workflows with Microsoft Semantic Kernel Process Framework in .NET](https://systenics.ai/blog/2025-04-18-automate-workflows-with-microsoft-semantic-kernel-process-framework): Build intelligent, event-driven workflows using Microsoft’s Semantic Kernel Process Framework to automate content creation, onboarding, and complex tasks with AI and custom logic. - [Building Multi‑Agent AI Workflows with Semantic Kernel Agent Framework in .NET](https://systenics.ai/blog/2025-04-17-building-multiagent-ai-workflows-with-semantic-kernel-in-dotnet): Explore how multi-agent systems enable AI agents to collaborate seamlessly, enhancing efficiency and scalability. Learn to implement this approach using Microsoft's Semantic Kernel, orchestrating specialized agents to automate tasks like email drafting and approval. - [Why Your AI Agent Isn't Calling Your Tools: Fixing Function Invocation Issues in Semantic Kernel](https://systenics.ai/blog/2025-04-11-fixing-function-invocation-issues-in-semantic-kernel): This blog covers why your Semantic Kernel AI agent may ignore plugins and how to fix it with a simple configuration change. - [Building a Model Context Protocol Server with .NET and Semantic Kernel Integration](https://systenics.ai/blog/2025-04-10-building-a-model-context-protocol-server-with-net-and-semantic-kernel-integration): Learn how to implement a Model Context Protocol (MCP) server using C# and integrate it with Semantic Kernel to enhance AI assistants with external data and tools through a standardized protocol. - [Building AI Agent using Semantic Kernel Agent Framework](https://systenics.ai/blog/2025-04-09-building-ai-agent-using-semantic-kernel-agent-framework): Explore the creation of intelligent AI agents with the Semantic Kernel Agent Framework - [Model Context Protocol (MCP): The New Standard for AI Integration](https://systenics.ai/blog/2025-04-07-model-context-protocol-mcp-the-new-standard-for-ai-integration): MCP enables LLMs to access real-time data and execute dynamic actions with ease, reducing redundancy and maintenance overhead through standardized client-server interactions. - [Boosting Developer Productivity with ChatGPT/Gemini/Claude Integration in Visual Studio](https://systenics.ai/blog/2025-04-01-boosting-developer-productivity-with-chatgpt-integration-in-visual-studio): Boost your coding efficiency with ChatGPT/Gemini/Claude integration in Visual Studio! Learn how the free ChatGPTExtension eliminates tab switching, automates code fixes, and streamlines your workflow right inside your IDE. Maximize productivity and simplify your development process today! - [From Prompt Engineering to RAG: Optimizing Product Category Classification Systems - Part 2](https://systenics.ai/blog/2025-03-31-from-prompt-engineering-to-rag-optimizing-product-category-classification-systems-part-2): How we enhanced our product classification system by incorporating Retrieval-Augmented Generation (RAG) to provide dataset-specific context, resulting in improved performance and reliability. - [From Prompt Engineering to RAG: Optimizing Product Category Classification Systems - Part 1](https://systenics.ai/blog/2025-03-10-from-prompt-engineering-to-rag-optimizing-product-category-classification-systems-part-1): How we enhanced our product classification system by incorporating Retrieval-Augmented Generation (RAG) to provide dataset-specific context, resulting in improved performance and reliability. - [Understanding Response Format Limitations: Why Llama, Phi & Mistral Models Struggle in Azure AI Studio](https://systenics.ai/blog/2025-03-08-understanding-response-format-limitations): A comprehensive exploration of Response Format compatibility issues when working with Llama, Phi, and Mistral model families in Microsoft Azure AI Studio with Semantic Kernel, and how to effectively navigate these limitations. - [Using OpenAI vs Azure OpenAI with Semantic Kernel. What's the difference?](https://systenics.ai/blog/2024-12-11-openai-vs-azure-openai-what-should-you-choose-with-semantic-kernel): Understanding the differences between OpenAI and Azure OpenAI and how to use them with Semantic Kernel - [Building a Recommendation System Using Text Embeddings and python](https://systenics.ai/blog/2024-11-29-building-a-simple-recommendation-system-using-embeddings): Learn how to create a simple recommendation system for e-commerce using vector embeddings and Gradio. - [Should you use GPT-4o-mini for multimodal tasks?](https://systenics.ai/blog/2024-11-19-should-you-use-gpt-4o-mini-for-multimodal-tasks): A deep dive into the real costs and limitations of gpt-4o-mini for image processing tasks. - [Using the Waitfor and WaitforCompletion in .NET Aspire 9](https://systenics.ai/blog/2024-11-12-using-waitfor-and-waitforcompletion-in-dotnet-aspire-9): Learn how to use the new WaitFor and WaitForCompletion methods in .NET Aspire 9 to manage dependencies in your distributed applications. - [Improved function calling with the Semantic Kernel](https://systenics.ai/blog/2024-11-05-improved-function-calling-with-semantic-kernel): A new way to call functions using the latest Semantic Kernel SDK - [Using Structured Outputs with Semantic Kernel](https://systenics.ai/blog/2024-10-25-using-structured-outputs-with-semantic-kernel): A Simple Guide to Structured Outputs with Semantic Kernel. Converting text responses into typed data with JSON schema and C# model classes. - [Setting up the Azure OpenAI API versions in Semantic Kernel](https://systenics.ai/blog/2024-10-21-setting-up-api-version-for-azure-openai-in-semantic-kernel): Fix the "json_schema is enabled only for api versions 2024-08-01-preview and later" error, plus how to set the Azure OpenAI API version in Semantic Kernel. - [JSON Mode and Structured Outputs Mode using OpenAI Models](https://systenics.ai/blog/2024-10-13-json-mode-and-structured-outputs-mode-using-openai-models): OpenAI's Structured Outputs beats JSON Mode for schema-bound apps, but it still fails on truncated responses, model refusals, and hallucinated values. - [Implementing a Simple BPE Tokenizer in .NET](https://systenics.ai/blog/2024-10-07-implementing-a-simple-bpe-tokenizer-in-dotnet): Writing a basic Byte Pair Encoding (BPE) tokenizer using C# and .NET - [Understanding Tokenization in Large Language Models](https://systenics.ai/blog/2024-09-30-understanding-tokenizers-in-large-language-models): An in-depth exploration of tokenization, tokens, and their crucial role in modern LLMs - [Building a Simple text Classifier with Semantic Kernel](https://systenics.ai/blog/2024-07-26-building-a-simple-nlp-classifier-with-semantic-kernel): Using Semantic kernel to showcase how NLP tasks like text classification can be done with just a bit of prompt engineering in both python and .NET - [Working with Semantic Kernel in Python](https://systenics.ai/blog/2024-07-15-working-with-semantic-kernel-in-python): Semantic Kernel's Python SDK still lags the .NET version in features. Here's the exact code to send your first prompt, and why it got cut off at 150 tokens. - [Building AI Apps with .Net Aspire and Semantic Kernel](https://systenics.ai/blog/2024-07-03-building-apps-with-aspire-and-semantic-kernel): Using aspire orchestration to develop AI-powered apps locally with .NET and Semantic Kernel - [Getting Started with .NET Aspire](https://systenics.ai/blog/2024-06-20-getting-started-with-dotnet-aspire):  An introduction to .NET Aspire, its integrated services, and the Aspire dashboard. - [Building a .NET Food Health Analyzer with Azure OpenAI and Semantic Kernel](https://systenics.ai/blog/2024-06-03-building-a-food-health-checker-with-openai-and-semantic-kernel): In-depth look at a .NET-based Food Health Analyzer app using Azure OpenAI and Semantic Kernel for intelligent ingredient and health analysis. - [Packaged Food Health Checker with Semantic kernel](https://systenics.ai/blog/2024-05-27-packaged-powered-food-health-check-with-semantic-kernel): An overview for a simple AI powered app for checking packaged food healthiness - [The new prompt filter in Semantic Kernel](https://systenics.ai/blog/2024-05-14-the-new-prompt-filter-in-semantic-kernel): Working with the new prompt filter IPromptRenderFilter in semantic kernel - [Yaml prompts with semantic kernel](https://systenics.ai/blog/2024-05-02-yaml-prompts-with-semantic-kernel): Working with yaml prompt templates in semantic kernel - [Manual function calling with Semantic Kernel and OpenAI](https://systenics.ai/blog/2024-03-27-manual-function-calling-with-semantic-kernel): Using the manual mode for function calling in Semantic Kernel - [Function calling using Semantic Kernel](https://systenics.ai/blog/2024-03-18-function-calling-with-semantic-kernel): Using the gpt-4 function calling capabilities with semantic kernel - [Introduction to OpenAI's function calling](https://systenics.ai/blog/2024-03-11-openai-function-calling): Introduction to function calling with OpenAI - [Using Semantic Kernel with local embeddings](https://systenics.ai/blog/2024-03-04-using-local-embedding-semantic-kernel): Using a local embedding service with Semantic Kernel - [Quick Setup for a local embedding Server using python](https://systenics.ai/blog/2024-02-26-local-embedding-server-using-python): Setting up a local embedding service using Python for development - [Vision in Semantic Kernel](https://systenics.ai/blog/2024-02-19-vision-with-semantic-kernel): Using gpt-4 with vision in Semantic Kernel - [Multiple streaming responses with Azure OpenAI and Semantic Kernel](https://systenics.ai/blog/2024-02-12-multiple-streaming-responses-with-azure-openai-and-semantic-kernel): Working with Azure multiple streaming responses in Semantic Kernel - [Working with Azure OpenAI on Semantic Kernel](https://systenics.ai/blog/2024-02-05-azure-openai-with-semantic-kernel): Getting familiar with using OpenAI connector in Semantic Kernel - [Getting Started with Semantic Kernel plugins](https://systenics.ai/blog/2024-01-29-plugins-with-semantic-kernel): Building GPT plugins in dotnet using Semantic kernel - [Prompt engineering with Semantic Kernel](https://systenics.ai/blog/2024-01-22-prompt-engineering-with-semantic-kernel): Using prompts effectively with Semantic Kernel - [What is Prompt Engineering](https://systenics.ai/blog/2024-01-15-what-is-prompt-engineering): Designing effective prompts for emerging AI-powered applications. - [Understanding Embeddings](https://systenics.ai/blog/2023-01-08-understaning-embeddings): Introduction to embeddings and their uses - [Setting up a Qdrant client for .NET](https://systenics.ai/blog/2024-01-01-setting-up-qdrant-with-qdrant-dotnet): Setting up a local qdrant server using the qdrant-dotnet library - [Introduction to RAG systems](https://systenics.ai/blog/2023-12-25-intro-to-rag-systems): Brief introduction to RAG and their working - [Getting Started with Semantic Kernel using .NET](https://systenics.ai/blog/2023-12-18-getting-started-with-semantic-kernel-dotnet): Getting familiar with Semantic Kernel and its functionality - [What is Semantic Kernel](https://systenics.ai/blog/2023-12-11-what-is-semantic-kernel): Introduction to Semantic Kernel the lightweight AI apps orchestrator using dotnet - [Introduction to Qdrant](https://systenics.ai/blog/2023-12-09-introduction-to-qdrant): Qdrant setup with Docker in two commands, plus the collection/point/payload model you need before your first vector search actually works right. - [Introduction to Vector Databases](https://systenics.ai/blog/2023-12-05-introduction-to-vector-database): Introduction to Vector Databases, the next-gen DBMS powering AI applications. - [Understanding LLMs and their workings](https://systenics.ai/blog/2023-12-04-understanding-llm-and-their-workings): Understanding LLMs and their workings from the basics. ## Products - [CSV Normalize](https://csvnormalize.com): Turns messy, inconsistently formatted CSV data into a clean, standardized structure, with automated column mapping and data cleanup instead of manual spreadsheet wrangling. - [Bank Statements CSV](https://bankstatementscsv.com): Converts PDF bank statements into accurate CSV files in seconds. Built for accountants and bookkeepers who were previously retyping transaction data by hand. - [Card Statement CSV](https://cardstatementcsv.com): Extracts transaction data from PDF credit card statements into clean CSV output. Files are processed briefly and deleted afterward. ## Optional - [Sitemap](https://systenics.ai/sitemap-index.xml): Complete sitemap of all pages - [RSS Feed](https://systenics.ai/rss.xml): RSS feed for blog posts - [Bespoke Development](https://www.systenics.com/solutions): Custom .NET and cloud software development (a separate Systenics offering, not covered by this site)