<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ahmed</title>
    <description>The latest articles on DEV Community by Ahmed (@ahmedsevindik).</description>
    <link>https://dev.to/ahmedsevindik</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3971198%2Fde03fe05-4919-4ab0-94f5-0290a0788ccd.png</url>
      <title>DEV Community: Ahmed</title>
      <link>https://dev.to/ahmedsevindik</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ahmedsevindik"/>
    <language>en</language>
    <item>
      <title>I created attention for myself (I'm pathetic)</title>
      <dc:creator>Ahmed</dc:creator>
      <pubDate>Wed, 24 Jun 2026 00:02:11 +0000</pubDate>
      <link>https://dev.to/ahmedsevindik/i-created-attention-for-myself-im-pathetic-2lng</link>
      <guid>https://dev.to/ahmedsevindik/i-created-attention-for-myself-im-pathetic-2lng</guid>
      <description>&lt;p&gt;I sent 47 CVs in one year and got exactly zero replies.&lt;/p&gt;

&lt;p&gt;Not a single rejection email. Not even a "we decided to go in a different direction." Just pure, deafening silence. I was ghosted by every single company I applied to.&lt;/p&gt;

&lt;p&gt;I rewrote my CV from scratch. Then rewrote it again. Changed the format, the font, the structure, the summary. I asked friends to review it. I watched YouTube tutorials at 2 AM. I tailored it to each role. I did everything "right."&lt;/p&gt;

&lt;p&gt;Nothing.&lt;/p&gt;

&lt;p&gt;For twelve months, I refreshed my inbox like it owed me money. I started questioning whether my applications were even going through. Whether I was invisible. Whether I just was not good enough.&lt;/p&gt;

&lt;p&gt;Then something broke inside me. Not in a sad way. In a fed-up way.&lt;/p&gt;

&lt;p&gt;I stopped asking "why can I not find an internship" and started asking a sharper question: "why am I being ghosted before a human even reads my CV?"&lt;/p&gt;

&lt;p&gt;That question changed everything.&lt;/p&gt;

&lt;p&gt;I discovered that most of my CVs were being filtered out by ATS systems before they ever reached a recruiter's desk. The problem was never my skills. It was the translation layer between my experience and what the algorithm wanted to see.&lt;/p&gt;

&lt;p&gt;So I built the thing I wished existed during my darkest job-search days.&lt;/p&gt;

&lt;p&gt;CV Architect is a SaaS tool that optimizes your CV based on the specific job posting you are targeting. It reads your resume the way an employer would. It checks ATS compatibility. It tells you what is missing before you hit send, so you stop screaming into the void.&lt;/p&gt;

&lt;p&gt;I did not set out to build a product. I set out to find an internship. But sometimes the struggle itself becomes the solution if you pay close enough attention.&lt;/p&gt;

&lt;p&gt;The site is live. You can try it with your own CV right now. And I genuinely want your feedback, the honest kind, the kind that makes the product better.&lt;/p&gt;

&lt;p&gt;What is the longest you have ever been ghosted during a job search?&lt;br&gt;
&lt;a href="https://xn--cvimar-u9a.xyz/dashboard" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>jobsearch</category>
      <category>cvwriting</category>
      <category>resumetips</category>
      <category>careerdevelopment</category>
    </item>
    <item>
      <title>İş İlanına Uygun CV Nasıl Yazılır? AI ile Optimize Et (Türk İş Arayanlar İçin)</title>
      <dc:creator>Ahmed</dc:creator>
      <pubDate>Thu, 18 Jun 2026 17:57:37 +0000</pubDate>
      <link>https://dev.to/ahmedsevindik/is-ilanina-uygun-cv-nasil-yazilir-ai-ile-optimize-et-turk-is-arayanlar-icin-57d3</link>
      <guid>https://dev.to/ahmedsevindik/is-ilanina-uygun-cv-nasil-yazilir-ai-ile-optimize-et-turk-is-arayanlar-icin-57d3</guid>
      <description>&lt;p&gt;Geçen hafta 50 CV'yi analiz ettim.&lt;br&gt;
Cevap buldum: İşe yarayanların hepsi bir şeyi yapıyor — işe yaramayan yüzde 95'i ise hiç yapmıyor.&lt;br&gt;
O şey nedir? CV'lerini iş ilanına göre optimize etmek.&lt;/p&gt;

&lt;p&gt;SORUN: GENEL CV YANLIŞ OYUN&lt;br&gt;
Son 5 yıl halkta sık görülen hata:&lt;br&gt;
❌ Bir CV, yüz iş başvurusu&lt;/p&gt;

&lt;p&gt;❌ "Profesyonel", "Yaratıcı", "İletişim becerileri var"&lt;/p&gt;

&lt;p&gt;❌ Hiç rakam yok — sadece güzel kelimeler&lt;/p&gt;

&lt;p&gt;❌ İlan ne istiyor? "Bilmem, ben bu CV'yi çok seviyorum"&lt;br&gt;
Sonuç? Takılan olmayan başvurular, reddedilen mail'ler.&lt;br&gt;
İnsan kaynakları (HR) ortalama 7 saniye bir CV'ye bakıyor. 7 saniye. Onda ilk gözüne çarpan: CV'nin iş ilanı ile uyumunun olup olmadığı.&lt;br&gt;
Eğer CV genel yazılmışsa, HR "Bu kişi bu rol için mi yazıyor, yoksa rasgele yolluyorsa mı?" düşüncesiyle geçiyor.&lt;/p&gt;

&lt;p&gt;ÇÖZÜM: İŞ İLANINA ÖZEL CV&lt;br&gt;
İyi haberle başlayalım:&lt;br&gt;
Genel CV'den iş ilanına uygun CV'ye geçmek sadece 15-20 dakika alıyor.&lt;br&gt;
Ama manuel olarak?&lt;/p&gt;

&lt;p&gt;İş ilanını oku (5 dakika)&lt;br&gt;
Önemli kelimeleri işaretle (3 dakika)&lt;br&gt;
CV'ni düzenle (10 dakika)&lt;br&gt;
PDF'i indir (2 dakika)&lt;/p&gt;

&lt;p&gt;= 20 dakika per başvuru&lt;/p&gt;

&lt;p&gt;Haftalık 20 başvuru yapıyorsan?&lt;/p&gt;

&lt;p&gt;= 6-7 saat işi harcaman gerekiyor&lt;br&gt;
Burada AI devreye giriyor.&lt;/p&gt;

&lt;p&gt;AI İLE CV OPTİMİZASYONU: GERÇEK BİR ÖRNEK&lt;br&gt;
Şunu hayal et:&lt;br&gt;
İŞ İLANI:&lt;/p&gt;

&lt;p&gt;Senior Frontend Developer — React + TypeScript&lt;/p&gt;

&lt;p&gt;3+ yıl deneyim&lt;br&gt;
Performance optimization&lt;br&gt;
Team leadership preferred&lt;/p&gt;

&lt;p&gt;SENIN CV'NDE (ŞU AN):&lt;/p&gt;

&lt;p&gt;"Yazılım geliştirici olarak 4 yıl çalıştım.&lt;/p&gt;

&lt;p&gt;Ekipte iyi iletişim kurabilirim.&lt;/p&gt;

&lt;p&gt;React biliyorum."&lt;br&gt;
AI OPTİMİZE ETTİ SONRA:&lt;/p&gt;

&lt;p&gt;"Senior Frontend Developer — 4 yıl deneyim&lt;/p&gt;

&lt;p&gt;React &amp;amp; TypeScript ile 50+ production components geliştirdim&lt;br&gt;
Web sayfasında 45% performance improvement sağladım&lt;/p&gt;

&lt;p&gt;(Lighthouse score: 38 → 92)&lt;br&gt;
3 kişilik frontend ekibi lead ettim, code reviews yaptım"&lt;/p&gt;

&lt;p&gt;Fark görüyor musun?&lt;br&gt;
İlk hali genel, ikinci hali iş ilanına direkt cevap veriyor.&lt;br&gt;
HR 7 saniye içinde: "Tamam, bu adam biliyordu ne yapıyor." deyip ilgisini çekiyor.&lt;/p&gt;

&lt;p&gt;İŞ İLANINA UYGUN CV YAZMA ADIMLARI&lt;br&gt;
ADIM 1: İŞ İLANINI DİKKATLİCE OKU&lt;br&gt;
İlan'da şu kelimeleri bul:&lt;/p&gt;

&lt;p&gt;Must-have skills: React, Python, SQL vb.&lt;br&gt;
Nice-to-have: Leadership, Agile vb.&lt;br&gt;
KPI'lar: "Haftalık 100+ request handle et" gibi&lt;br&gt;
Problem çözmek: "Ödeme sistemi yavaşlığını fix ettim" gibi&lt;/p&gt;

&lt;p&gt;ADIM 2: SENİN CV'NDEN İLGİLİ KISIMLAR ÇIKAR&lt;br&gt;
Tüm CV'ni gönderme. Sadece iş ilanı ile ilgili olanları vurgula.&lt;br&gt;
Örnek:&lt;/p&gt;

&lt;p&gt;İlan React istiyor → JavaScript/Frontend section'ı highlight et&lt;br&gt;
Leadership istiyor → Ekip yönetim tecrübeni ön plana çıkar&lt;/p&gt;

&lt;p&gt;ADIM 3: SAYILAR EKLE&lt;br&gt;
❌ YANLIŞ:&lt;/p&gt;

&lt;p&gt;"Veritabanı performans iyileştirmesi yaptım"&lt;br&gt;
✅ DOĞRU:&lt;/p&gt;

&lt;p&gt;"Sorgu optimize ile veritabanı response time'ı 5 saniyeden 500ms'ye düşürdüm (10x improvement)"&lt;br&gt;
Rakamlar = İspat.&lt;br&gt;
ADIM 4: İŞ İLANINDAKİ DİLİ KULLAN&lt;br&gt;
İlan şu kelimeleri kullanıyorsa senin CV'nde de kullan:&lt;/p&gt;

&lt;p&gt;"Agile" sıkça geçiyor → senin CV'ne "Scrum" ekle&lt;br&gt;
"Full-stack" istiyor → sen "Frontend" + "Backend" yaz&lt;br&gt;
"Cloud infrastructure" istiyor → "AWS", "Docker" explicit yaz&lt;/p&gt;

&lt;p&gt;HR elektronik tarama (Applicant Tracking System - ATS) yapıyor. CV'nde ilanın kelimeleri varsa sistem seni ön sıraya koyuyor.&lt;br&gt;
ADIM 5: PDF İNDİR, GÖNDER&lt;br&gt;
İş ilanına uygun CV'yi PDF'le indir, başvur.&lt;/p&gt;

&lt;p&gt;3 SIK YAPILAN HATA&lt;br&gt;
HATA 1: "DEĞERLER" YERİNE "BAŞARILAR"&lt;br&gt;
❌ "İletişim becerileri var"&lt;/p&gt;

&lt;p&gt;✅ "Müşteri problemi çözdüğümde 20% daha fazla positive feedback aldım"&lt;br&gt;
HATA 2: GENEL CV HERKESE GÖNDERME&lt;br&gt;
❌ Pazarlama ilanına Frontend CV gönder&lt;/p&gt;

&lt;p&gt;✅ CV'deki pazarlama / business impact kısımlarını highlight et&lt;br&gt;
HATA 3: TARİHİ ATLA&lt;br&gt;
❌ "3 yıl deneyim"&lt;/p&gt;

&lt;p&gt;✅ "2021-2024: Senior Developer (3 yıl)"&lt;br&gt;
Tarih = Güvenilirlik.&lt;/p&gt;

&lt;p&gt;SONUÇ: 7 SANİYE KURALI&lt;br&gt;
HR'nin ilk 7 saniyesinde CV'nin şunları göstermesi lazım:&lt;/p&gt;

&lt;p&gt;İLGİLİ SKİLL'LER — iş ilanında yazanlar&lt;br&gt;
SAYILARLA KANIT — neyi başardığın&lt;br&gt;
TARİH VE BAĞLAM — ne zaman, ne kadar süre&lt;br&gt;
İŞ İLANINA CEVAP — sadece ilgili kısımlar&lt;/p&gt;

&lt;p&gt;Eğer bu dört elemanı görebilirse HR 7 saniyede "Tamam, görüşmeye çağırmalıyız" diye karar verir.&lt;/p&gt;

&lt;p&gt;İŞTE GERÇEK OYUN: AI KIŞAYETME&lt;br&gt;
Ancak şunu biliyorsun: Manuel olarak her iş ilanı için CV optimize etmek saat harcıyor.&lt;br&gt;
20 başvuru = 6-7 saat.&lt;br&gt;
300 başvuru = 90-105 saat = 3 hafta tam zamanlı.&lt;br&gt;
Kimde var 3 hafta?&lt;br&gt;
Burada AI devreye giriyor. Bir AI tool'u (mesela CV Mimarı) kullanırsan:&lt;/p&gt;

&lt;p&gt;İş ilanını yapıştır&lt;br&gt;
"Optimize et" butonuna bas&lt;br&gt;
30 saniye sonra: İlanına uygun CV'n hazır&lt;br&gt;
PDF indir, gönder&lt;/p&gt;

&lt;p&gt;Süresi? 2 dakika per başvuru. 20 başvuru = 40 dakika.&lt;br&gt;
Fark hissettin mi?&lt;/p&gt;

&lt;p&gt;TÜRKÇE İŞ PİYASASI'NDA GERÇEK SONUÇ&lt;br&gt;
2024'te iş bulma oyunu değişti. Eski kurallar:&lt;/p&gt;

&lt;p&gt;Bir CV, 100 başvuru&lt;br&gt;
Umarız biri cevap verir&lt;br&gt;
Kaç tane reddedildi? "Bilmem"&lt;/p&gt;

&lt;p&gt;Yeni kural:&lt;/p&gt;

&lt;p&gt;50 başvuru, 50 farklı CV (her birine optimize)&lt;br&gt;
Cevap oranı 5x yükseliyor&lt;br&gt;
Hatta iş bulduğun zaman daha iyi pozisyon&lt;/p&gt;

&lt;p&gt;Neden? Çünkü HR senin CV'sinde "Bu rol için yazıldı" görüyor.&lt;/p&gt;

&lt;p&gt;HAZIRSANİZ: İLK ADIM&lt;br&gt;
CV'nizi optimize etmek 15 dakika alıyor. Hatta AI ile 2 dakika.&lt;br&gt;
Şu an bunu yapan Türkçe tool yok — ben de yaptım. CV Mimarı deniyor.&lt;br&gt;
Deneyimek istersen:&lt;/p&gt;

&lt;p&gt;3 ücretsiz kredi ile başla&lt;br&gt;
İş ilanına uygun CV'yi gör&lt;br&gt;
Beğenirsen, paket satın al&lt;/p&gt;

&lt;p&gt;Hedef: İş bulana kadar seni desteklemek.&lt;br&gt;
Başvuru yağmuruna hazır mısın?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://xn--cvimar-u9a.xyz/dashboard" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>cv</category>
      <category>productivity</category>
      <category>jobsearch</category>
    </item>
    <item>
      <title>I created a website specifically for my laziness.</title>
      <dc:creator>Ahmed</dc:creator>
      <pubDate>Mon, 08 Jun 2026 22:03:52 +0000</pubDate>
      <link>https://dev.to/ahmedsevindik/i-created-a-website-specifically-for-my-laziness-p7j</link>
      <guid>https://dev.to/ahmedsevindik/i-created-a-website-specifically-for-my-laziness-p7j</guid>
      <description>&lt;p&gt;I built an AI tool to write LinkedIn posts.&lt;br&gt;
&lt;a href="https://post-craft-mu.vercel.app/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsitrm7wztiepw204wjah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsitrm7wztiepw204wjah.png" alt=" " width="800" height="518"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And nobody cared.&lt;/p&gt;

&lt;p&gt;Let me tell you the full story because I think it matters.&lt;/p&gt;

&lt;p&gt;Three months ago I was sitting in my apartment at 2 AM, convinced I had found a gap in the market. I was spending hours every week trying to write LinkedIn content for my own brand. Staring at blank screens. Rewriting the same sentence fourteen times. Watching other founders post effortlessly while I struggled to string together three coherent paragraphs.&lt;/p&gt;

&lt;p&gt;So I thought, what if I just build something to fix this. An AI-powered web app that helps people create LinkedIn posts faster. Smart templates. Tone selection. Hook generators. The whole package.&lt;/p&gt;

&lt;p&gt;I went heads down for weeks. Designed the UI. Built the backend. Integrated the AI models. Tweaked the prompts until the output actually sounded human. I was proud of it. Genuinely proud.&lt;/p&gt;

&lt;p&gt;Then I launched it.&lt;/p&gt;

&lt;p&gt;Crickets.&lt;/p&gt;

&lt;p&gt;Not the dramatic kind where you get hate or pushback. The worse kind. Silence. A few sign-ups from friends who never came back. A couple of polite messages saying it looked cool. Zero paying users in the first two weeks.&lt;/p&gt;

&lt;p&gt;Here is what I got wrong and I am sharing this because I see other founders making the same mistakes right now.&lt;/p&gt;

&lt;p&gt;First, I built in isolation. I never once asked my target audience what they actually needed. I assumed my own pain point was universal. It was not. Some people wanted help with ideas, not full posts. Some wanted editing, not generation. I built for a version of the customer that only existed in my head.&lt;/p&gt;

&lt;p&gt;Second, I launched without distribution. I had no audience. No email list. No community. I just put it out there and expected the product to speak for itself. Products do not speak. People do. And I had nobody speaking for mine.&lt;/p&gt;

&lt;p&gt;Third, I underestimated how crowded the space already was. There are dozens of LinkedIn content tools. Some backed by real teams with real budgets. I did not take five minutes to ask myself what makes mine genuinely different. The honest answer at launch was nothing.&lt;/p&gt;

&lt;p&gt;So what did I do next.&lt;/p&gt;

&lt;p&gt;I stopped building features and started having conversations. I reached out to fifty founders and content creators. I asked them to use the tool and tell me everything that was broken, confusing, or unnecessary. The feedback was brutal and exactly what I needed.&lt;/p&gt;

&lt;p&gt;I started posting on LinkedIn myself, using my own tool, sharing the messy behind-the-scenes journey. That raw honesty attracted more users than any feature ever did.&lt;/p&gt;

&lt;p&gt;Slowly things started shifting. Not overnight. Not dramatically. But the kind of slow traction that actually means something because it is built on real feedback from real people.&lt;/p&gt;

&lt;p&gt;The tool is still early. I am still figuring it out. I am not writing this as a success story. I am writing this as a founder who made every classic mistake in the playbook and is trying to learn from each one in public.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://post-craft-mu.vercel.app/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are building something right now and you have not talked to a single potential customer this week, close your code editor and open a conversation instead.&lt;/p&gt;

&lt;p&gt;That is the lesson I paid for with three months of my time.&lt;/p&gt;

&lt;p&gt;What is the biggest mistake you made early in building your product? I would genuinely love to hear it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://post-craft-mu.vercel.app/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://post-craft-mu.vercel.app/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>saas</category>
      <category>buildinpublic</category>
      <category>founderjourney</category>
      <category>aitools</category>
    </item>
    <item>
      <title>I Built a Flutter Package for Turkish-Specific Form Validation</title>
      <dc:creator>Ahmed</dc:creator>
      <pubDate>Sat, 06 Jun 2026 11:45:02 +0000</pubDate>
      <link>https://dev.to/ahmedsevindik/i-built-a-flutter-package-for-turkish-specific-form-validation-5dp4</link>
      <guid>https://dev.to/ahmedsevindik/i-built-a-flutter-package-for-turkish-specific-form-validation-5dp4</guid>
      <description>&lt;h1&gt;
  
  
  I Built a Flutter Package for Turkish-Specific Form Validation
&lt;/h1&gt;

&lt;p&gt;If you've ever built a Flutter app targeting Turkish users, you know the pain.&lt;/p&gt;

&lt;p&gt;You need to validate a &lt;strong&gt;TC Kimlik No&lt;/strong&gt; — there's no package for that. You need to format a &lt;strong&gt;Turkish IBAN&lt;/strong&gt; — you end up writing your own regex. You want a proper &lt;strong&gt;₺1.250,50&lt;/strong&gt; currency format — good luck finding something ready-made.&lt;/p&gt;

&lt;p&gt;So I built it myself: &lt;a href="https://pub.dev/packages/turkish_validators" rel="noopener noreferrer"&gt;&lt;code&gt;turkish_validators&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What's inside
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ✅ TC Kimlik No Validation
&lt;/h3&gt;

&lt;p&gt;TC Kimlik No has a real checksum algorithm behind it — it's not just "is it 11 digits." This package validates the full algorithm:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;isValid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TcKimlik&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'12345678901'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Drop it straight into a TextFormField&lt;/span&gt;
&lt;span class="n"&gt;TextFormField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nl"&gt;validator:&lt;/span&gt; &lt;span class="n"&gt;TcKimlik&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;formValidator&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ✅ Turkish IBAN (MOD-97)
&lt;/h3&gt;

&lt;p&gt;Validates TR IBANs using the MOD-97 standard and formats them for display:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;isValid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TurkishIban&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'TR330006100519786457841326'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;formatted&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TurkishIban&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'TR330006100519786457841326'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// → TR33 0006 1005 1978 6457 8413 26&lt;/span&gt;

&lt;span class="n"&gt;TextFormField&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="nl"&gt;validator:&lt;/span&gt; &lt;span class="n"&gt;TurkishIban&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;formValidator&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ✅ Turkish Phone Number
&lt;/h3&gt;

&lt;p&gt;Handles both &lt;code&gt;0532...&lt;/code&gt; and &lt;code&gt;+9053...&lt;/code&gt; formats, plus clean formatting for display:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;isValid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TurkishPhone&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'05321234567'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;   &lt;span class="c1"&gt;// true&lt;/span&gt;
&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;isValid2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TurkishPhone&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'+905321234567'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// true&lt;/span&gt;

&lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;formatted&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TurkishPhone&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'05321234567'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// → 0532 123 45 67&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ✅ Turkish Lira Formatting
&lt;/h3&gt;

&lt;p&gt;Proper Turkish number format with dot-as-thousands and comma-as-decimal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;price&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TurkishLira&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;1250.5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// → ₺1.250,50&lt;/span&gt;

&lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="n"&gt;price2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TurkishLira&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;1250.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nl"&gt;showSymbol:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// → 1.250,50&lt;/span&gt;

&lt;span class="kt"&gt;double&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="n"&gt;amount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;TurkishLira&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'₺1.250,50'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// → 1250.50&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;dependencies&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;turkish_validators&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;^0.0.3&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. No extra dependencies — just Flutter.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I built this
&lt;/h2&gt;

&lt;p&gt;I kept rewriting the same validators across different projects. TC Kimlik alone has a non-trivial algorithm that I was copy-pasting between apps. IBAN formatting was always a manual job. At some point it just made sense to package it properly.&lt;/p&gt;

&lt;p&gt;The Turkish Flutter ecosystem has a lot of talented developers but not many locale-specific utilities. Hopefully this saves someone a few hours.&lt;/p&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📦 &lt;a href="https://pub.dev/packages/turkish_validators" rel="noopener noreferrer"&gt;pub.dev/packages/turkish_validators&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💻 &lt;a href="https://github.com/AhmedSevindik/turkish_validators" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you find it useful, a like on pub.dev goes a long way. And if something's missing — open an issue, I'm actively maintaining it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;tags: #flutter #dart #opensource #turkish #mobiledev&lt;/em&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>opensource</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
