About
.NET developer with over four years of commercial C# and .NET development at GenieSolutions. At the Paytiko payment platform I built 50+ payment provider integrations, including Stripe, Adyen and Checkout.com.
I started out as a freelance PHP/Laravel backend developer, then moved to C# and .NET and have worked exclusively with them since. As a freelancer I now build quick prototypes with Claude Code, develop applications in .NET and extend clients' CRM systems — for example, with voice AI agent integration. To broaden my skills I also picked up n8n.
Experience
.NET DeveloperFreelance
Feb 2026 — PresentPrototypes and application development for clients
Before committing to full development, clients asked for quick prototypes to demo the idea and check that it was feasible. I built these prototypes with Claude Code on tight deadlines, then worked on developing the applications themselves in .NET. Project details are confidential.
- Fast prototypes with Claude Code: interactive web demos and a Flutter mobile app with on-device face detection (Google ML Kit).
- ASP.NET Core (.NET 10) backend with separate business logic and data access layers: EF Core and PostgreSQL, Hangfire background jobs, JWT authentication, OData, Swagger.
- Claude API (Anthropic) integration in the .NET backend, HTML parsing (AngleSharp) and image processing (ImageSharp).
- React frontend with maps (Leaflet) and localisation (i18next), deployed with Docker.
- C#
- .NET 10
- ASP.NET Core
- EF Core
- PostgreSQL
- Hangfire
- Claude API
- React
- Leaflet
- Docker
- Flutter
- Claude Code
Extending clients' CRM systems
Added features to several CRM systems, from access rules and tasks to a voice AI agent integration.
- Vapi integration (voice AI agents): leads go out to automated calling campaigns, a Hangfire background job collects every call — outcome, transcript, recording, answers — and maps the agent's answers onto lead fields; do-not-call blocks the agent for that lead.
- Tasks in the CRM and field-level permissions by role: which fields each role can see.
- Desk-based visibility for clients and projects, client and project cards with calculated fields.
- A knowledge base inside the CRM: page tree, Markdown, trash, images.
- APIs with OData filtering and per-user access rules, unit tests.
- C#
- .NET 9/10
- ASP.NET Core
- EF Core
- PostgreSQL
- Hangfire
- OData
- Vapi API
- xUnit
CRM and backend services for an online game
A CRM for a game platform: player accounts, game sessions and notifications, plus a secured channel the game's own backend uses to talk to the CRM.
- Player accounts: sign-up, OAuth sign-in, device sessions with refresh tokens, nicknames and avatars, soft delete and full data erasure on request, a consent audit trail.
- A service channel for the game backend: API key and HMAC signature authentication bound to the request method and path.
- Idempotent game session sync and a game registry with per-game session schemas — onboarded several waves of new games.
- Durable notifications: idempotent inbox, campaigns, retention.
- For staff: roles and permissions, OData grids of players and sessions, request logging with secrets masked.
- C#
- .NET 9
- ASP.NET Core
- EF Core
- PostgreSQL
- Hangfire
- OData
- JWT
- OAuth
- HMAC
AI-powered news aggregator
Jun 2026 — Sep 2026A platform that gathers news from many sources, brings together coverage of the same event from different outlets and shows where they agree and where they differ. I built the backend.
- Ingesting content from RSS, websites and Telegram channels, extracting article text and filtering out copies.
- A Claude-based AI pipeline: distilling facts, grouping coverage of one event across sources, scoring importance and auto-publishing the most significant stories; prompt caching to keep costs down.
- Hybrid site search: semantic (vector embeddings), keyword and freshness-aware.
- Feed translation through LLMs, including Qwen.
- Reader accounts: sign-up, Telegram sign-in, device sessions, favourites; moderation of the public feed and reader management in the admin panel.
- C#
- .NET 10
- ASP.NET Core
- EF Core
- PostgreSQL
- Claude API
- Qwen
- Embeddings
- Hangfire
- Quartz
- WTelegramClient
Telegram Mini Apps and bots
Aug 2026 — Sep 2026Several products that live inside Telegram, from a storefront to a security service.
- A Telegram storefront: a Mini App with catalogue, cart and orders, a Blazor admin panel and a notification bot.
- Online booking for services: schedules and slots, bookings, an admin panel — a new business is set up without code changes.
- A bot that checks attachments in group chats for malware: a static analysis pipeline (file type, hashes and reputation, archive unpacking, obfuscation), ClamAV antivirus, URLhaus link checks and a monitoring dashboard.
- C#
- .NET 8/9
- Telegram.Bot
- Telegram Mini Apps
- Blazor
- React
- PostgreSQL
- ClamAV
- SignalR
- Docker
- xUnit
AI assistant for Telegram group chats
A bot built for a client that you add to a group chat: it reads the conversation and steps in when it can help — fact-checking on the web, reminding people of points they missed earlier, and taking over the tedious information hunting. Built on n8n and now running in many chats.
- An AI agent on Claude (Anthropic) with tools: web search (Tavily), page scraping (Firecrawl), sending chat messages and a dedicated step for thinking through its answer.
- Handles more than text: voice messages are transcribed (OpenAI), documents are converted and analysed by the model.
- Two-level memory: conversation history in PostgreSQL plus long-term notes the agent saves, retrieves and deletes on its own.
- n8n
- Claude (Anthropic)
- OpenAI
- Tavily
- Firecrawl
- PostgreSQL
- Telegram Bot API
Client website improvements
Smaller but regular tasks on client websites.
- AI translation and rewriting of content via the Claude API on six websites, with handling of timeouts and failed translations.
- Localisation tooling: finding unused translation keys and deleting them in bulk.
- Migrating a website's database from MySQL to PostgreSQL.
- C#
- .NET
- Claude API
- PostgreSQL
- MySQL
.NET DeveloperGenieSolutions
Dec 2021 — Mar 2026Grew from supporting the company's websites to development work and payment integrations.
Paytiko — payment provider integration platform
Sep 2022 — Mar 2026A service that lets businesses connect to multiple payment providers. I was responsible for payment provider integrations and keeping them running.
- Built 50+ payment provider integrations from scratch, including Stripe, Adyen, Checkout.com, Braintree (PayPal), Worldpay (Google Pay), Amazon Pay, Ebanx, AstroPay, Flutterwave and Zen.
- A wide range of payment methods: cards, wallets, crypto, buy now, pay later and local methods such as M-Pesa and Przelewy24.
- The full payment lifecycle: hosted payment pages and direct server-to-server calls, status webhooks, request signing and verification, 3-D Secure, refunds and payouts.
- Kept teammates' integrations working when providers changed their APIs, including PayPal and Binance Pay.
- Covered integrations with unit tests.
- C#
- .NET
- ASP.NET Core
- REST API
- Webhooks
- MSTest
- Moq
- FluentAssertions
Company web projects: support and development
Dec 2021 — Aug 2022Started out supporting the company's websites, then joined development on its other projects before moving to Paytiko.
- C#
- .NET
PHP/Laravel DeveloperFreelance
Feb 2021 — Dec 2021Contract backend work: helped build the two systems below and supported the client's other projects, investigating and fixing bugs.
Paid parking platform
A paid parking platform made of three apps: a web panel for administrators, a mobile app for drivers and a tablet app for parking attendants. I worked on the backend shared by all three.
- Admin panel: parking zones drawn on a map point by point, pricing, assigning attendants to zones.
- Driver app: registered vehicles, parking payments and a subscription that lets the car stay without paying per visit.
- Attendant app: patrolling and checking parked cars for a paid session or an active subscription.
- Role-based access for three roles: drivers, attendants and administrators.
- PHP
- Laravel
- MySQL
- REST API
Access control with temperature screening
An employee access system for any kind of workplace, built during the COVID-19 pandemic: at the entrance a person scans their pass, then steps up to a stand that takes their temperature. I worked on the backend.
- Every entry is tied to the employee's pass, recording the time and their temperature.
- Ingesting readings from an STM32-based stand and keeping the full history.
- Mobile app for employees to see their own entry and temperature history.
- Admin dashboard with the complete record for every employee: when they came in and at what temperature.
- PHP
- Laravel
- MySQL
- STM32
- REST API
Skills
Core
- C#
- .NET
- ASP.NET Core
- EF Core
- OData
Data
- PostgreSQL
- Hangfire
Security
- JWT
- OAuth
- HMAC
- Role-based access
Payments
- REST API
- Webhooks
- 3-D Secure
- Refunds & payouts
Testing
- xUnit
- MSTest
- Moq
- FluentAssertions
AI & automation
- Claude API
- OpenAI
- Qwen
- Embeddings & vector search
- Vapi (voice AI)
- AI agents
- n8n
- Claude Code
Frontend & DevOps
- React
- Blazor
- Docker
Telegram & bots
- Telegram Bot API
- Telegram Mini Apps
- Discord (.NET)
Earlier experience
- PHP
- Laravel
- MySQL
Education
Kharkiv National University of Radioelectronics
Bachelor's degree, Automation and Computer-Integrated Technologies
2016 — 2020