CTO & DevOps · Makdos
About
I have been writing software since 2007, and I run the systems I build in production myself. Today I am CTO and head of DevOps at Makdos, Makdos Tech and Makdos AI, where I lead the engineering behind our hosting, cloud, software and AI products.
One end of my work is bare-metal Linux servers, networks and database clusters. The other end is web applications that real businesses use every day. I enjoy designing both together, because a good product only works well when the infrastructure underneath it is solid.
Some of the products I have built and shipped are GMacros for CNC workshops, ChainConvo, which lets teams use email like a chat, cem, a coding tool that runs several AI models together, makdos.ai and the Mailinu email hosting service. I also write open-source browser extensions and maintain 11 Python packages on PyPI.
I have been part of the Python Türkiye community for a long time.
What I build
- I build multi-tenant SaaS applications with Go and Python (FastAPI). Customer data is isolated with PostgreSQL row-level security, long-running work goes to background queues (River, Celery), and live updates use SSE and WebSockets.
- On the AI side, I build agents on OpenAI, Claude, Gemini, DeepSeek and locally hosted Ollama models. I run RAG systems that answer from documents on top of pgvector. I also built a Turkish-speaking voice assistant for call centers. Calls come in over SIP, speech is transcribed with Whisper, a language model prepares the answer and the answer is turned back into speech.
- For hosting, I run Nginx with HTTP/3, HAProxy with Lua scripts for load balancing and an OpenResty-based WAF against attacks. I operate PowerDNS with GeoDNS, and highly available PostgreSQL clusters built on Patroni and etcd. I also automate virtual machines and containers with VMware vCenter and Incus/LXC.
- For frontends, I work with Next.js, React, Vite and Tailwind, and I make sure pages meet accessibility rules (WCAG AA). I also write desktop apps with Go and Wails, Chrome and Firefox extensions, and Android apps.
- I have integrated payments with Garanti BBVA 3D Secure, PayPal, Paddle, iyzico and Stripe, and built connections to the WhatsApp Cloud API, Google Ads and GA4, Odoo, Logo Tiger and IYS.
- For data I mostly use PostgreSQL, and bring in MongoDB, Valkey/Redis, Meilisearch, ClickHouse and DuckDB when the job calls for them. I also developed my own columnar data format with Rust and PyO3.
How I work
- I run services directly on the server with systemd, without Docker. Server settings and deploy scripts live in version control, so every release is repeatable and causes no downtime.
- I do not treat security as a layer added at the end. A strict Content Security Policy, rate limiting and signed license responses are in place from day one, and I account for KVKK and Turkish Law 5651 already at the design stage.
- Every change goes through tests, a database migration when needed and code review. During development I also make use of AI tools such as Claude Code and MCP servers.
- I do not see myself as someone who only writes code. I take a product from the idea stage through payments, launch, search engine visibility and customer support.
Experience
-
2025 —
CTO & DevOps · Makdos AI
- Under makdos.ai, I developed LLM agents, a Turkish-speaking call-center assistant, a WhatsApp Cloud API gateway and RAG solutions on pgvector.
-
2020 —
CTO & DevOps · Makdos Tech
- Under makdos.tech, I run software development, SaaS products and infrastructure work.
-
2017 —
CTO & DevOps · Makdos · İstanbul
- I built the cloud and hosting panel where customers create their own virtual servers. It covers VM provisioning through VMware vCenter, billing, customer management and live chat (Python/FastAPI, Go, Next.js).
- I set up and operate the hosting infrastructure. It includes highly available PostgreSQL clusters (Patroni/etcd), HAProxy load balancing, an OpenResty-based WAF, PowerDNS, Incus/LXC containers and GlusterFS.
- I developed the customer and reseller panels for the Mailinu email hosting service. The system runs on Postfix and Dovecot, analyses suspicious and phishing mail with the help of AI, and can also be managed through an MCP server.
- My responsibilities also include log retention under KVKK and Law 5651 (FortiGate), signed licensing, server hardening and performance tuning.
-
2016 —
Community member · Python.istanbul · Python Türkiye
-
2008 —
Owner · Yazki.com
-
2013 — 2014
E-commerce manager · Sporthink
-
2012 — 2013
.NET developer · Orion Medya
-
2007 — 2011
Python developer · Entegrekod