AI Automation Demos

Six small, working automations for small and mid-sized businesses, with short narrated videos and public code. Built by Leonardo Apollonio, a senior .NET / full-stack developer (about 9 years of C#/.NET, production RAG since 2022) based in Argentina, working in US time zones in fluent English. Available for fixed-price projects and monthly retainers.

Code and tests: github.com/leo8190/ai-automation-demos · Every demo runs offline with no API keys, and nothing is sent without human approval.

1. Invoice Automation

Video 2:24 · Code

C# / .NET 8QuestPDFBackgroundService13 tests

Turns a timesheet or orders CSV into one branded PDF invoice per client, emails it, and runs payment reminders (3 days before due, due date, 7 and 14 days late) that stop the moment a client pays.

2. FollowUp CRM

Video 2:18 · Code

ASP.NET Core 8SQLiteOpenAI (optional)5 tests

A lead pipeline where every stage runs its own follow-up sequence. Each email is drafted from the lead's context and waits in an approval queue; sequences pause when the lead replies.

3. Inbox Triage Agent

Video 2:15 · Code

PythonOpenAI JSON mode (optional)REST to CRM8 tests

Classifies every email in a shared inbox, pulls out key details (budget, invoice numbers, meeting days), drafts the reply, applies labels and pushes new leads into the CRM. Complaints and low-confidence cases go to a person.

4. Company Knowledge Assistant (RAG)

Video 1:51 · Code

C# / .NET 8EmbeddingsVector search9 tests

Answers staff and customer questions from the company's own SOPs, policies and price lists, cites the exact section, and says "I don't know" and flags a person when the documents don't cover it.

5. Portfolio Q&A over SQL

Video 2:05 · Code

C# / .NET 8Typed read-only toolsTenant isolationAudit trail + replay13 tests

Plain-English questions about portfolio and trading data where the model only picks typed, read-only queries, so every number comes from SQL you can re-run. It refuses write requests and logs every answer with the exact SQL.

OpenAPI schema to MCP server to REST API, with the smoke test output

6. Custom GPT Action rebuilt as an MCP server

No video yet · Code · Test output

C# / .NET 8ASP.NET CoreOfficial ModelContextProtocol C# SDKStreamable HTTPSmoke test (6 checks)

OpenAI is retiring Custom GPTs, and custom Actions don't move over with the built-in migration. This demo reads a GPT Action's OpenAPI schema and serves every operation as an MCP tool, so ChatGPT plugins, Claude, Cursor or any MCP client can call the same API again. Bad or missing arguments come back as tool errors instead of crashes.

Have one workflow that eats your team's hours?

Send me a short description (or 3 to 5 sample emails or documents with names removed) and I'll tell you how I'd automate it and what it would cost, fixed price or monthly retainer.

GitHub: @leo8190