# Ali Gündoğdu > I build products, grow and lead teams, and still write code now and then. This is my personal site: technical notes, lessons from leading teams, maker experiments, and stories from the road. Personal blog, published in two languages: English (root) and Turkish (/tr). Each piece links to its translation where one exists. Brand voice: learner-maker, honest over polished, contrarian when the question deserves it. ## Writing (English) - [Working Hard Does Not Get It Done: The Open Loops in Your Head](https://aligundogdu.com/open-loops-in-your-head): An unfinished task sits in your head like an open tab. Even when you step away, it keeps running in the background. Why working long is not the same as getting things done, and whether you really have to finish a task before you can put it down. - [A 'Computer' Used to Be a Person](https://aligundogdu.com/computer-used-to-be-a-person): Prompt engineer, context engineer, loop engineer... Titles go stale in a year. That is not a junk pile, it is a dial showing how fast the border is moving. Read through Moravec, Lindy, and the invisible ledger: what should you actually invest in? - [For a Production Desktop Product, Wails Is Still the Sanest Choice. Here Is What the Tables Don't Tell You.](https://aligundogdu.com/shipping-a-wails-app): I built Seodisias with Wails; it runs in production on three operating systems, and I would pick Wails again without hesitation. This is the case for that confidence: using the bridge right, the signing chain, webview quirks, and building for three platforms from one Mac. - [The Software You Depend On Has an Owner. Their Decision Never Shows Up on Any Spreadsheet.](https://aligundogdu.com/the-software-you-depend-on-has-an-owner): The tool you rely on can double its price one morning, close its doors, or claw a feature back. That risk isn't written on any roadmap. So who puts it on the table? - [Why Kings Wear Purple: The Color You Cannot Make by Saving the Day](https://aligundogdu.com/why-kings-wear-purple): Tyrian purple cost more than gold because it was a system, not a recipe. Why day-saving companies drift, and how a plan turns luck into opportunity. - [RICE Will Not Make the Call for You. It Makes You Ask the Question You Are Avoiding.](https://aligundogdu.com/rice-prioritization): For most people RICE is a corporate spreadsheet. Its real job is not to calculate a score, but to sit you down in front of the questions you are afraid to answer. Why I still come back to it, on a big team and as a team of one. - [What Does a Founding Engineer Actually Do? The 'Founding' Is Misleading](https://aligundogdu.com/what-does-a-founding-engineer-do): Founding engineer is one of the most sought-after technical roles of 2025. But most people get it wrong: they are not a founder, and the job is not mostly writing code. Backed by industry data, here is what the role really involves. - [Should a CTO Write Code? Stop Asking the Wrong Question](https://aligundogdu.com/should-a-cto-write-code): Should a CTO write code or not? The question itself is wrong. How the role changes with the company's stage, when to touch the keyboard, and when to stay away. - [Is PHP Dead?](https://aligundogdu.com/is-php-dead): Taking the old "Is PHP dead?" question and walking it through PHP's history and its technical turns, this piece argues that it is still a living, growing language. - [Data Integrity in Distributed Systems and the Debezium Call](https://aligundogdu.com/debezium-in-distributed-systems): Trying to keep several databases consistent, I hit polling, spaghetti code, and the dual write curse. The fix was to stop asking the database 'what changed' and listen to its log instead: CDC and Debezium. - [Mattermost's 10,000 Message Limit and How I Moved to Matrix](https://aligundogdu.com/mattermost-matrix-migration): One morning Mattermost put our team's memory behind a 10,000 message wall. I weighed the options honestly, moved to the Matrix protocol, and wrote my own tool for the migration. - [The Prototype Illusion and the Vasa Syndrome](https://aligundogdu.com/the-prototype-illusion): Why a working prototype is not a product: the vitamin versus painkiller test, design over-engineering, and when to hold or cross the line on demands. - [AI Is Not a Cheat Code, It's the New Power Steering](https://aligundogdu.com/ai-is-not-a-cheat-code): Every time a new tool arrived, someone called it 'not real programming'. AI is in that seat now. But the point was never the tool, it is who holds the wheel. - [Building a Desktop App with Wails in 2025](https://aligundogdu.com/building-a-desktop-app-with-wails): Notes from shipping a cross-platform desktop application with Go and web tech. ## Yazılar (Türkçe) - [PHP Ölmedi, Senin Baktığın Yer Ölmüş](https://aligundogdu.com/tr/php-olmedi-baktigin-yer-olmus): Herkes PHP'yi gömerken arka planda trafiği taşıyan Symfony uygulaması hala çalışıyor. Dilin ölüp ölmediği değil, senin nereye baktığın mesele. Üretimden dürüst bir cevap. - [Çok Çalışmak İş Bitirmez: Zihnindeki Açık Hesaplar](https://aligundogdu.com/tr/cok-calismak-is-bitirmez): Bitmemiş işler zihinde açık bir sekme gibi durur; sen çalışmasan da onlar çalışır. Çok çalışmak neden verimli çalışmak değildir, ve kafadaki yükü indirmek için işi bitirmek şart mı? - [Production Masaüstü Ürünü İçin En Mantıklı Seçim Hala Wails, İşte Tabloların Yazmadığı İncelikleri](https://aligundogdu.com/tr/wails-incelikleri): Seodisias'ı Wails ile yazdım, production'da ve üç işletim sisteminde çalışıyor; bugün baştan başlasam yine Wails derdim. Bu yazı o güvenin gerekçesi: köprünün doğru kullanımı, imza zinciri, webview farkları ve tek Mac'ten üç platforma build almak. - [Krallar Neden Mor Giyer: Günü Kurtaranların Üretemediği Renk](https://aligundogdu.com/tr/krallar-neden-mor-giyer): Sur moru ağırlığınca altından pahalıydı çünkü tarif değil sistemdi. Günü kurtaran şirket neden savrulur, plan şansı nasıl fırsata çevirir? - ['Computer' Bir Zamanlar Bir İnsandı](https://aligundogdu.com/tr/loop-engineering-lindy): Prompt engineer, context engineer, loop engineer... Unvanlar bir yılda eskiyor. Bu bir çöp yığını değil, sınırın ne hızla kaydığını gösteren bir kadran. Moravec, Lindy ve görünmez defter ışığında: neye yatırım yapmalı? - [Bağımlı Olduğun Yazılımın Bir Sahibi Var. Onun Kararı da Hiçbir Tabloda Görünmez.](https://aligundogdu.com/tr/bagimli-oldugun-yazilimin-bir-sahibi-var): Kullandığın araç bir gün fiyatını katlayabilir, kapısını kapatabilir, özelliğini geri alabilir. Bu risk hiçbir yol haritasında yazmaz. Peki onu tabloya kim koyacak? - [RICE Skorlaması Kararı Senin Yerine Vermez. Doğru Soruyu Sana Sordurur.](https://aligundogdu.com/tr/rice-onceliklendirme): RICE, çoğu kişi için kurumsal bir tablo. Oysa asıl işi skoru hesaplamak değil, seni cevabından korktuğun soruları sormaya zorlamak. Büyük ekipte de, tek kişilik girişimde de neden hala ona dönüyorum. - [Founding Engineer Ne İş Yapar? Adındaki 'Founding' Sizi Yanıltmasın](https://aligundogdu.com/tr/founding-engineer-ne-is-yapar): Founding engineer, 2025'in en aranan teknik rollerinden biri. Ama çoğu kişi onu yanlış biliyor: kurucu değildir, ve işi sadece kod yazmak hiç değildir. Sektör verileriyle, bu rol gerçekte ne yapar? - [CTO Kod Yazmalı mı? Yanlış Soruyu Sormayı Bırakın](https://aligundogdu.com/tr/cto-kod-yazmali-mi): CTO kod yazmalı mı yazmamalı mı? Bu sorunun kendisi yanlış. Şirketin aşamasına göre CTO rolü nasıl dönüşür, ne zaman klavyeye dokunulur, ne zaman uzak durulur? - [Seodisias: Ücretsiz Bir SEO Aracını Neden Yazdım](https://aligundogdu.com/tr/seodisias-hikayesi): Kendi sitemi göremediğim bir gece, SEO analizinin neden hep bir ödeme duvarının ardında olduğunu sordum. Sonra ücretsiz, verisi cihazından çıkmayan bir crawler yazmaya oturdum. - [Mattermost'un 10.000 Mesaj Sınırı ve Matrix'e Taşınma Hikayem](https://aligundogdu.com/tr/mattermost-matrix-tasinma): Mattermost bir sabah kurumsal hafızamızı 10.000 mesajlık bir duvarın arkasına koydu. Alternatifleri dürüstçe tarttım, Matrix protokolüne geçtim ve taşıma için kendi aracımı yazdım. - [Prototip ile Ürün Arasındaki Ölümcül Vadi](https://aligundogdu.com/tr/prototip-olumcul-vadi): Çalışan bir prototip neden ürün değildir? Vitamin mi ağrı kesici mi, tasarım aşırılığı ve müşteri taleplerinde çizgiyi ne zaman korumalı. - [AI Bir Hile Değil, Yeni Nesil Hidrolik Direksiyon](https://aligundogdu.com/tr/ai-vibecoding-hidrolik-direksiyon): Her yeni araç çıktığında 'bu gerçek yazılımcılık değil' diyenler oldu. AI da o sırada. Ama mesele aracın kendisi değil, direksiyonu kimin tuttuğu. - [Dağıtık Sistemlerde Veri Bütünlüğü ve Debezium Kararı](https://aligundogdu.com/tr/dagitik-sistemlerde-debezium): Birden çok veritabanını tutarlı tutmaya çalışırken polling, spagetti kod ve dual write lanetine çarptım. Çözüm, veritabanına 'ne değişti' diye sormayı bırakıp loglarını dinlemekti: CDC ve Debezium. - [Wails Notlarım](https://aligundogdu.com/tr/wails-notlarim): İlk yazdığım masaüstü uygulamasından bugüne, basit bir zaman çizelgesi ile Wails'i anlatmaya çalıştım. - [PHP öldü mü ?](https://aligundogdu.com/tr/php-oldu-mu): "PHP öldü mü?" sorusunu tarihsel ve teknik gelişmeler ışığında ele alan bu yazı, PHP'nin geçmişten günümüze evrimini tartışarak hala yaşayan ve gelişen bir dil olduğunu ortaya koyuyor. - [Neden Laravel kullanmıyorum](https://aligundogdu.com/tr/neden-laravel-kullanmiyorum): Laravel Framework'ün üzerine düşünceler ve sonuçları hakkında bir blog yazısı. ## Projects - [Seodisias](https://seodisias.com): A weekend experiment that became a real SEO tool. Crawls, audits, and surfaces what matters. - [GeoMagnet](https://github.com/aligundogdu/geomagnet-project): A weekly tradition I share with my son: visiting ancient cities and historical sites, then marking each place, exporting a 3D terrain slice (STL), and printing it on a 3D printer. - [TerraSTL](https://github.com/aligundogdu/TerraStl): Open-source tool that lets you select any region on a map and export it as an STL file, ready for 3D printing. Great for custom terrain models and topographic visualizations. - [RetroRTC](https://github.com/aligundogdu/RetroRTC): A fully peer-to-peer retrospective tool that lets teams run their retro meetings freely, with no central servers, third-party services, or registration forms. - [Rice Score Calculator](https://github.com/aligundogdu/Rice-Score-Calculator): A single-page web UI to calculate and compare RICE scores (Reach, Impact, Confidence, Effort) for product features, sort them automatically, and export the table as a PNG. - [Umay Gantt Builder](https://umay-gantt.aligundogdu.com/): A simple, elegant Gantt chart generator for project planning. Built with Nuxt 3, runs entirely in the browser with no backend required. - [Generate Password](https://generatepassword.org/): A simple, user-friendly tool that generates strong, random passwords to help secure your online accounts. - [Astro Tailwind DaisyUI Starter](https://github.com/aligundogdu/Astro-Tailwind-Daisyui-Starter): A minimal yet powerful starter combining Astro, TailwindCSS, and DaisyUI. A flexible scaffold to kickstart projects without the clutter of traditional templates. Fast, clean, ready to grow. - [Astro llms.txt generator](https://github.com/aligundogdu/astro-llms-txt): An Astro integration that generates an llms.txt from your pages when you build your Astro project. ## About - https://aligundogdu.com/about (English) - https://aligundogdu.com/tr/about (Türkçe) - Contact: ali [at] projekod [dot] com