Digital services · BuurtApps

Tens of thousands of business pages, auto-generated

BuurtApps connects local entrepreneurs and organisations in a single municipality app. Filling such an app (finding thousands of businesses, classifying them correctly and writing a page for each) used to be weeks of manual work. A custom pipeline now does most of it automatically: from raw business data to tens of thousands of ready-made business pages.

~2 months

saved with the business scraper

tens of thousands

auto-generated business pages

2-3 hrs/day

saved with the other tools

See the Page Maker in action: from raw business data to ready-made business pages.

The challenge

Every new municipality app means gathering thousands of local businesses, classifying them correctly and building a page for each one with contact details, opening hours and a description. By hand that takes weeks per municipality, and the moment it's done, it's already out of date. It's exactly the kind of repetitive job that's never really finished.

Our approach

We built a pipeline that reads in the raw business data, automatically places each business in the right category, enriches the details from the business's own website (logo, contact details, social media and a short summary) and then generates a clean page per business, ready for the app or CMS.

  1. 1Load and clean the data
  2. 2Automatically categorise every business
  3. 3Enrich from each business's own website
  4. 4Generate a page per business
  5. 5Stage in Drive/CMS, without duplicates

The result

A new municipality app is now filled in days instead of weeks, with tens of thousands of consistent business pages. The business scraper alone saved around two months of work; the other tools together save an average of 2-3 hours a day. The pipeline is repeatable and re-runs safely: built-in dedup and idempotency mean a second run never creates duplicate pages, so you can update with confidence.

What else we built

Alongside the page maker we built a set of small, self-contained tools that keep the municipality apps filled and up to date automatically.

News scraper

Keeps the in-app newspaper archive automatically up to date for two local papers (Weekblad De Noordwijker and the Noordwijkerhouter).

Challenge
Each week the newest paper has to be added and the oldest removed: manual archive upkeep that kept slipping.
Approach
A tool that weekly puts the new edition on top, drops the oldest and pushes it straight into the CMS.
Result
Two newspaper archives stay current all year, with no one having to watch over them.

Local media · Noordwijk

View

Events scraper

Pulls events from the local agenda and adds them automatically as tidy events in the app.

Challenge
Retyping events by hand, preventing duplicates and sorting everything neatly costs a lot of time and quickly falls behind.
Approach
Daily sync from the local agenda, with an automatic duplicate filter, sorting into fixed categories and a weekly 'This week in Noordwijk' overview.
Result
Around 200 events a month, processed automatically and always current in the app.

Local events · Noordwijk

View

Per-venue agendas

The same approach as the events scraper, but per venue as a standalone, embeddable agenda. Each venue gets its own live agenda that updates itself.

Result
An always-current agenda per venue, with no manual upkeep.
  • Theater De Muze
  • Landgoed Calorama
  • SpaceExpo (in 4 languages)
  • Sportbedrijf Noordwijk

Culture, recreation & sport · Noordwijk

View

P2000 emergency feed

Bundles emergency-services (112) alerts from three villages (Noordwijk, Noordwijkerhout, De Zilk) into one clear, live feed in the app.

Challenge
Individual alerts are messy and full of noise (for example 'ambulance returning to base').
Approach
Merge alerts, filter out noise, colour-code per service (ambulance, fire, police, KNRM) and show it all in 4 languages.
Result
One calm, readable live feed of what's happening nearby.

Safety & local news · Noordwijk area

View

Weather app

A weather dashboard per municipality with forecast, air quality, tides and beach flags.

Approach
Combines several official sources (incl. KNMI/Open-Meteo and Rijkswaterstaat) into one dashboard that works even without JavaScript.
Result
One weather page serving 15 municipalities, including coast and river info where relevant.

Local information · 15 municipalities

View

Leaflet & offers scrapers

Turns local shops' weekly offers automatically into a tidy, mobile leaflet in the app.

Approach
Weekly scrape of the shop sources, merged into a standalone leaflet page; also flags price differences between website and shop.
Result
Local offers stay current every week, automatically.
  • Slagerij Krijn van der Bent
  • Slagerij Roest
  • Noordwijk Folders Hub (multiple shops bundled)

Local retail · Noordwijk

View

Fuel-price map

An interactive map with live fuel prices in the region.

Result
Residents see at a glance where filling up is cheapest.

Local info · Noordwijk area

View

CMS uploader

A helper tool that safely creates missing categories in bulk in the CMS.

Approach
With built-in safety (dry-run, per-app settings) so nothing ever goes live by accident.
Result
Setting up a new app structure takes minutes instead of manual clicking.

Internal tooling · all apps

View

CRM for the municipality app

A self-hosted CRM for the whole sales and relationship administration behind the municipality app: one place for the pipeline, contacts, invoices and the entrepreneur portal.

Challenge
Managing hundreds of local entrepreneurs, their subscriptions, invoices and listings called for a CRM. A commercial package quickly cost tens of thousands of euros a year, with your data and your process in a vendor's hands.
Approach
We built an in-house CRM, fully self-hosted. An admin side for sales and relationship management (pipeline, deals, contacts, companies, invoices, municipalities) and a retail side: a portal where entrepreneurs manage their own page, news, agenda and offers.
Result
One person runs the whole administration alone, with no vendor lock-in and full control over data and privacy. That replaces a package costing over 50,000 euros a year.

In-house CRM system · Noordwijk

View

Want something like this in your business?

We take thirty minutes and walk through where most of your time leaks away.

Book an intro call