DEV Community

milasocial
milasocial

Posted on

I Built a Real-Time Turkish Inflation Tracker — Here's What the Data Actually Shows

I Built a Real-Time Turkish Inflation Tracker — Here's What the Data Actually Shows

Turkey has been one of the most closely watched inflation case studies of the past decade. Peak annual CPI hit 85% in late 2022 — levels not seen since the late 1990s. By March 2026, the official TUIK figure had cooled to 30.87%, but that number still masks a lot of structural complexity worth unpacking for developers and data enthusiasts.

I've been maintaining enflasyonhesaplama.com — a Turkish inflation calculator and news platform — and wanted to share both the technical pipeline behind it and some of the more interesting data patterns we've surfaced.


The Data Problem with Turkish Inflation

The challenge with tracking Turkish CPI isn't access — TUIK publishes monthly data reliably. The challenge is context. A single annual percentage is almost meaningless without:

  • Category breakdowns (education inflation running at ~52% YoY while clothing sits at ~7%)
  • Historical comparison points (30% sounds bad; vs. the 1998 peak of 99%, it's a different story)
  • Purchasing power framing (what did 1,000 TL buy in 2005 vs. today?)

This is the gap the calculator was built to fill. enflasyonhesaplama.com translates abstract CPI numbers into concrete TL equivalents — far more useful for salary negotiations, contract indexing, or just understanding your own financial history. You can see a concrete example of this in the 2005–2026 purchasing power analysis, where 1,000 TL from 2005 maps to roughly 32,914 TL in today's money.


The Architecture: React + Express + RSS Pipeline

The site runs on a React/Vite frontend with an Express backend. For the news section, we pull from Turkish economic RSS feeds, process articles through the Claude API for Turkish-language summarization, and generate OG images via Satori for social sharing.

Here's the core of the news ingestion flow:

app.get('/api/news', async (req, res) => {
  const feed = await parser.parseURL('https://www.dunya.com/rss/ekonomi.xml');

  const articles = await Promise.all(
    feed.items.slice(0, 10).map(async (item) => {
      const summary = await generateSummary(item.content);
      const ogImage = await generateOGImage(item.title);
      return { title: item.title, summary, link: item.link, pubDate: item.pubDate, ogImage };
    })
  );

  res.json(articles);
});
Enter fullscreen mode Exit fullscreen mode

The OG image generation with Satori has been particularly useful — Turkish financial news gets shared heavily on WhatsApp and X, and proper preview images increase click-through significantly.


Schema Markup for News: What Actually Works

For Google News indexing, the NewsArticle JSON-LD schema is non-negotiable. Here's the minimal working implementation:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "NewsArticle",
  "headline": "Mart 2026 Enflasyon Verisi: %30.87",
  "datePublished": "2026-04-03T09:00:00+03:00",
  "dateModified": "2026-04-03T09:00:00+03:00",
  "author": {
    "@type": "Organization",
    "name": "EnflasyonHesaplama",
    "url": "https://enflasyonhesaplama.com"
  },
  "publisher": {
    "@type": "Organization",
    "name": "EnflasyonHesaplama",
    "logo": {
      "@type": "ImageObject",
      "url": "https://enflasyonhesaplama.com/logo.png"
    }
  }
}
</script>
Enter fullscreen mode Exit fullscreen mode

One thing that tripped us up early: Google's News Publisher Center requires publisher verification separate from Search Console. If your articles aren't appearing in Google News despite correct schema, that's often the missing step.


The March 2026 Data — Key Takeaways

The latest TUIK release came in at 30.87% annual, +1.94% monthly — the softest monthly reading in three months. A few things stand out:

  • Education: +51.97% YoY — consistently the highest-pressure segment
  • Housing/utilities: +42.06% YoY — gradually decelerating from a 2025 peak
  • Transport: +34.35% YoY — jumped sharply from 28.86% in February
  • Clothing: +6.79% YoY — the clearest sign of consumer demand compression

Also worth noting: January 2026 marked a significant methodology shift — TUIK rebased from 2003 to 2025 and revised basket weights from household surveys to national accounts data. This makes pre/post January comparisons tricky for anyone building long-run charts.


The Rent Calculator — A Specific Use Case

One of the most-used features on the site is the rent increase rate calculator. Turkish rental law (Borçlar Kanunu, Article 344) caps annual rent increases at the trailing 12-month TUFE average — so for millions of tenants and landlords, this isn't an abstract economic metric, it's a legal constraint with direct financial impact.

As of April 2026, that cap sits at 32.82%. When inflation was running at 60–80%, the government imposed an emergency 25% ceiling (June 2022 – July 2024) that protected tenants significantly. Since that cap was lifted, the dynamic has shifted — landlords who locked in below-market rates during the spike are now negotiating harder.

The calculator sees a consistent traffic spike every month on TUIK announcement day.


What's Next

We're working on:

  • Category-level CPI tracking — breaking out the 12 main COICOP categories into individual trend charts
  • Wage deflation analysis — comparing minimum wage increases against realized CPI
  • API endpoint — a simple JSON API for developers who want programmatic access to Turkish CPI history

If you're building anything in the Turkish fintech or economic data space, or just curious about the inflation tracking pipeline, drop a comment. Happy to go deeper on any part of the architecture.


enflasyonhesaplama.com — Turkish inflation calculator and economic news, updated monthly with TUIK data.

Top comments (1)

Collapse
 
laura_ashaley_be356544300 profile image
Laura Ashaley

This is a strong example of applied data engineering and real-world analytics. Building a real-time inflation tracker for Turkey is not just a coding exercise—it’s a systems problem involving data reliability, temporal consistency, and economic interpretation. The most interesting part isn’t just the visualization, but what the data reveals when compared against official reporting versus real-time signals. Projects like this highlight how much insight can be hidden behind aggregated economic numbers, and how important independent tracking systems are for validation and transparency.