Groundwork

SoGnare · case

Groundwork

Polish building-permit radar — national GUNB ingest, parcel geocoding, PostGIS area matching, map/table/investor surfaces, and Telegram alerts before sales open.

  • Next.js 15
  • Supabase
  • PostGIS
  • MapLibre
  • TanStack Query
  • TanStack Table

By the time a development hits Otodom, the best units and prices are gone. Building permits land months earlier as public record. Groundwork turns that lag into an advantage: ingest permits, keep only multi-family residential, pin them to the map, and ping you when something appears inside your radius.

Pipeline

  • Daily national ingest from GUNB RWDZ (Vercel Cron), stored wide so widening a radius never loses history.
  • Filter to kategoria XIII — budynki mieszkalne wielorodzinne.
  • Parcel-first geocoding via GUGiK ULDK (cadastral refs beat messy addresses); address geocoder as fallback; results cached including failures.
  • PostGIS match against areas of interest (point + radius).
  • Telegram alerts for new hits; investor rollups and outreach status stay user-owned on upsert.

Product surfaces

Setup for areas and alerts. MapLibre cluster map with detail sheet. Sortable/filterable permits table as the daily workhorse. Investors grouped by developer (permit count, units, notes). Dashboard with monthly trends and district split.

Design notes that matter

Raw JSON is kept forever — source schemas change and parsers get better. Ingest is polite and identifiable. The tool finds opportunities; it does not assess developers. Built as a sharp personal product on a free Vercel + Supabase stack, with auth for the deployed app.

  • National daily permit ingest with parcel-first geocoding and PostGIS area matching.
  • Map, table, investor, and dashboard surfaces for apartment hunting before launch.
  • Telegram alerts via Vercel Cron on a lean Vercel + Supabase stack.
← All work