DEV Community

SIKOUTRIS
SIKOUTRIS

Posted on

Building Local News Aggregators for Small French Cities

There is a growing news desert in rural France. Major media outlets focus on Paris, regional dailies are shrinking, and small cities with 15,000 to 50,000 inhabitants often fall through the cracks. When something happens in Gap, Aurillac, Digne-les-Bains, Aubenas, or Manosque, residents have to piece together information from Facebook groups, municipal websites, and the occasional mention in a regional paper.

I have been building hyperlocal news platforms for these exact cities, and the experience has been equal parts technically interesting and socially rewarding.

The Local News Problem in Small French Cities

Let me paint the picture with real numbers. Gap, the capital of Hautes-Alpes, has about 40,000 inhabitants. It is the least populated prefecture in mainland France. The main regional paper, Le Dauphine Libere, covers it, but Gap competes for column inches with Grenoble (160,000 people) and the entire Alpine region. On any given day, Gap might get two or three articles.

Aurillac in Cantal faces similar dynamics with La Montagne. Digne-les-Bains, Aubenas, Manosque — same story. These are cities with active civic life, local politics, cultural events, sports clubs, businesses opening and closing. Things happen. They just do not get covered consistently.

This gap (no pun intended) is where hyperlocal news platforms can genuinely serve a purpose.

What We Built

We launched dedicated news platforms for five cities in southern France:

Each site serves as a local news hub, aggregating and curating information relevant to the city and its surrounding area.

Content Strategy: Aggregation Plus Curation

We are not a newsroom with reporters. Let me be upfront about that. The model is closer to what Techmeme does for tech news, adapted for small French cities. We aggregate, curate, and add local context.

Content comes from several sources:

Municipal communications. French cities are legally required to publish certain information (council meeting minutes, urban planning decisions, public consultations). Most publish this on their websites, but few residents check municipal sites regularly.

Regional press mentions. When Le Dauphine or La Montagne publishes something about Gap, we link to it with context. We do not reproduce their content — we point readers to it and add local perspective.

Event listings. Cultural associations, sports clubs, and local businesses announce events through fragmented channels (Facebook, email lists, physical posters). We centralize these.

Open data. Air quality, weather alerts, road closures, school schedules — much of this is available through government APIs and adds genuine utility.

Technical Architecture

Running five similar sites efficiently requires some thoughtful architecture decisions.

Shared Core, Local Configuration

All five sites run on the same codebase with city-specific configuration. Each site has:

  • Its own domain and branding
  • City-specific content sources and RSS feeds
  • Local geographic boundaries for content filtering
  • Tailored category structure (the concerns of a mountain city like Gap differ from a Provencal city like Manosque)
// Simplified site configuration
const siteConfig = {
  "gap": {
    domain: "actualites-gap.fr",
    department: "05",
    centerPoint: [44.5594, 6.0786],
    radius: 30, // km for nearby content
    localSources: ["gap.fr", "hautes-alpes.fr"],
    categories: ["montagne", "ski", "urbanisme", "politique", "culture"]
  },
  "aurillac": {
    domain: "actualites-aurillac.fr",
    department: "15",
    centerPoint: [44.9261, 2.4418],
    radius: 25,
    localSources: ["aurillac.fr", "cantal.fr"],
    categories: ["agriculture", "festival", "politique", "culture", "economie"]
  }
  // ... three more cities
};
Enter fullscreen mode Exit fullscreen mode

Content Pipeline

The content pipeline runs on a schedule:

  1. Fetch — Pull from RSS feeds, municipal APIs, event platforms, and open data sources every 30 minutes.
  2. Classify — Determine if content is relevant to the target city (geographic filtering, keyword matching).
  3. Deduplicate — The same story often appears in multiple sources. We group related items.
  4. Enrich — Add geographic context, related articles, category tags.
  5. Publish — Push to the site with appropriate formatting.

Performance Considerations

Local news sites need to be fast. Our readers are often on mobile, sometimes with spotty rural connections. We target:

  • First Contentful Paint under 1.5 seconds
  • Total page weight under 500 KB
  • Works without JavaScript (progressive enhancement)

This means static site generation where possible, aggressive caching, and minimal client-side dependencies.

Challenges Specific to Small Cities

Everyone Knows Everyone

In a city of 40,000, anonymity is scarce. Publishing anything about local politics or business means you will hear about it. We learned quickly to stick to factual reporting and clearly separate news from opinion.

Content Volume

Paris generates thousands of news items daily. Gap might generate five. On slow days, the temptation is to pad the site with irrelevant regional content. We resist this. Better to have three genuinely local articles than ten that could be about anywhere.

Seasonal Fluctuations

Mountain cities like Gap and Digne have dramatic seasonal patterns. Winter brings ski-related news and road closures. Summer brings hiking, festivals, and tourism. The content pipeline needs to adapt to these rhythms.

Local Advertising

Monetizing hyperlocal sites is hard. National ad networks pay pennies for rural French traffic. Local business partnerships are more promising but require actual relationship-building, which does not scale easily across five cities.

What Actually Resonates with Readers

After running these platforms, here is what we found generates the most engagement:

  1. Weather events and road conditions. Nothing drives traffic like a snowfall warning or a road closure on the N85.
  2. Local business news. A new restaurant opening or a longtime shop closing generates strong community response.
  3. Municipal decisions. Urban planning, parking changes, school zoning — things that directly affect daily life.
  4. Event listings. Simple, reliable, complete event calendars. People return for this regularly.
  5. Historical content. Old photos and stories about the city's history perform surprisingly well.

The Broader Picture

France has about 200 cities in the 15,000-50,000 population range. Most are underserved by existing media. The technical tools to build hyperlocal platforms are better than ever — open data APIs, affordable hosting, static site generators that handle content-heavy sites gracefully.

The harder challenge is sustainability. These projects require ongoing curation effort, community engagement, and a viable economic model. We are still figuring that part out, honestly.

But the need is real. When I talk to residents in these cities, the reaction is consistently the same: "Finally, something that is actually about our city." That keeps us going.

If you are considering building local news tools for your own community, start small. Pick one city, understand its rhythms, identify the information gaps that frustrate residents. The technology is the easy part. Understanding the community is what makes it work.

Top comments (0)