Skip to content
News Platform

AV Scanner News

Real-time incident tracking and community news for the Antelope Valley

Next.js 15Payload CMSPostgreSQLFacebook Graph APIVercel
AV Scanner News screenshot
01
Overview

AV Scanner is a hyperlocal news platform that aggregates incident reports from LASD and CHP scanner activity across the Antelope Valley. Posts are automatically ingested from a Facebook page via the Graph API, categorized by an AI-powered classification engine, and published to a fast, SEO-optimized frontend. The site serves as the go-to source for breaking incidents — from crime and traffic to fires and missing persons — with 1,300+ reports tracked and growing.

02
Quick Facts

role

Solo Developer

type

Hyperlocal News Platform

stack

Next.js 15, Payload CMS 3, PostgreSQL, Vercel

focus

Automated Content Pipeline & Local SEO

03
What I Built
build-log ~ avscanner
01 Facebook Graph API integration with cursor-based pagination and automatic image sideloading to Vercel Blob
02 Three-phase auto-categorization engine — ad detection, radio code matching, and keyword scoring across 8 incident categories
03 Full-text search powered by PostgreSQL GIN indexes with ILIKE fallback for graceful degradation
04 Searchable scanner codes reference with 200+ LASD and CHP radio codes
05 Community tip submission system with Discord webhook notifications
06 ISR-powered frontend revalidating every 60 seconds for near-real-time updates
07 Structured data (NewsArticle, BreadcrumbList) and dynamic sitemap for search engine visibility
08 Rate-limited API routes with sliding-window limiter and Vercel Cron for scheduled syncs
04
Gallery
05
Deep Dive

From Facebook Feed to News Platform

The core challenge was turning an unstructured Facebook page — with no consistent formatting — into a structured, searchable news database. The importer fetches posts via the Graph API, deduplicates against existing records, sideloads images to Vercel Blob (avoiding Facebook hotlink expiry), and runs each post through a three-phase categorization pipeline. Phase one detects sponsored content by matching ad patterns like toll-free numbers and promotional language. Phase two scores posts against 50+ LASD/CHP radio codes (e.g., 187 → crime, 451 → fire). Phase three applies keyword matching with multi-word phrases weighted 2x. The result: every post is automatically tagged and organized without manual intervention, enabling a clean category-filtered browsing experience for residents tracking local safety.

06
Outcomes
+ 1,300+ incidents tracked and categorized automatically since launch
+ Near-real-time publishing — new incidents appear within 60 seconds of sync
+ 200+ scanner codes indexed and searchable for community reference
+ Zero manual categorization needed — three-phase AI pipeline handles all classification
+ Strong local SEO with structured data driving organic traffic from incident-related searches
+ Discord notifications keep the team informed of community submissions instantly