Tech Lead & AI Architect — AI systems and software architecture.
I lead teams through AI transformation by treating it as an engineering problem, not a demo: LLM-powered products on a sound domain model, delivered through GitOps, with AI coding agents working inside the same specs, conventions and CI gates as the rest of the team.
Currently architecting Narthelix, an AI-first consumer platform (private). The samples below are independent illustrations of how it's built. Based in Antalya, open to AI architecture roles.
Representative of the platform I designed and built end to end — simplified, not as-is. The samples below implement its patterns in miniature.
- Spec-driven, domain-driven. Behaviour is written first as numbered rules; bounded contexts own their language and talk through events; the architecture is enforced by the build, not by review comments.
- GitOps all the way down. Everything that runs is declared in Git and reconciled by Flux; merging is deploying; infrastructure is Terraform.
- Measure, don't assume. A gate is trusted only after it has been broken on purpose and seen to fail — and in production, services are instrumented and alerts reach people, not just dashboards.
- Agent-assisted engineering. Coding agents work from the same specs, conventions and CI gates as people, with a shared, versioned memory of what the team has learned.
| Area | Tools |
|---|---|
| AI | LLM gateways & model routing, tool-calling assistants, speech-to-text, RAG on PostgreSQL/pgvector, evaluation and guardrails |
| Backend | C# / .NET Core, Python, FastAPI, SQLAlchemy/Alembic, PostgreSQL (pgvector, PostGIS), Kafka, Redis |
| Web | React, Next.js, TypeScript |
| Mobile | React Native / Expo, TypeScript; Flutter — on a native base (earlier: iOS in Swift and Objective-C, Android in Java) |
| Platform | AWS, Kubernetes (k3s), Flux, Helm, Terraform, Cloudflare, self-hosted CI runners |
| Identity & network | Authentik (SSO/OIDC, client credentials for services), Headscale (WireGuard zero-trust mesh), Cloudflare (DNS/WAF as Terraform) |
| Observability | OpenTelemetry, Prometheus, Grafana (Loki, Tempo, Faro for web), alerting to Slack (earlier: AppDynamics, New Relic, ELK) |
| Quality | Contract snapshots (OpenAPI/AsyncAPI), import-linter architecture rules, SonarCloud, gitleaks |
Sixteen years across the stack, and each era left something I still use. I started with desktop and classic web — Delphi, WinForms and WPF, ASP.NET Web Forms and MVC, Angular, PHP, Java, native iOS (Objective-C, Swift) and Android (Java) — on top of SQL Server and Oracle (T-SQL, PL/SQL). That is where I learned data modelling, transactions and what users actually do with software. .NET Core and service architectures came next, and today the work is Python, LLM systems and platforms run from Git. The older tools are retired; the lessons are in everything above.
Independent, from-scratch illustrations of the patterns above — small enough to read in one sitting, each with its gates verified.
| Repository | What it shows |
|---|---|
| llm-tool-calling-assistant | An AI system built to ship: provider-neutral LLM gateway, validated tool contracts, writes that wait for the user, prompt-injection defence, budgets, evals as a CI gate, and LLM observability on OpenTelemetry with promtool-tested alerts |
| ai-native-engineering | How AI coding agents work inside a team: a playbook (principles, the loop, gates, memory, approval boundaries, failure patterns), templates, and tested gate tools |
| spec-driven-ddd-python | A modular monolith where specs lead: numbered rules traced to tests, bounded contexts that can only talk through events, policy as data, API contracts in review |
| spec-driven-ddd-dotnet | The same domain in C# / .NET 10 from byte-identical specs and the same HTTP contract — bounded contexts as assemblies, architecture and gates as tests; CI runs the Python smoke test against it |
| contract-first-react-native | A contract-first React Native (Expo) client: types generated from both services' contracts with a CI drift gate, honest mocks, live tests against the real services, and one approval card for human- and AI-proposed changes |
| gitops-reference | Flux GitOps on a laptop in one command: ordered reconciliation onto restricted workloads, image automation that picks the newest main-<ts>-<sha> build, and observability as code (Prometheus, Grafana, Loki, Tempo) whose dashboards and alerts are checked against the services' telemetry contracts; end-to-end tested on kind in CI |
The six fit together: the DDD samples (Python and .NET, one spec) are the service, the mobile app is its client, gitops-reference deploys it, the assistant is an AI system built on the same discipline, and the playbook is how the work gets done.


