WSBRI

Washington State Barrel Racing Info · Community event platform · Freelance

Event schedules, arenas, and producer notices for Washington barrel racers, kept current by automated scrapers.

200+ users served

Overview

A central hub where riders find and save events, explore arenas, and get registration alerts, with paid memberships and an admin review workflow.

Built with
Next.js · TypeScript · Supabase · Python · GitHub Actions · Memberstack · Google Maps · Google Calendar

Problem

Barrel racing events were scattered across producer websites, social posts, and group updates. Keeping a single listing current by hand meant repeated data entry and made it hard for riders to plan.

Solution

I designed and built the platform with event list and calendar views, filters, saved events, paid memberships, and an arena and organization directory. Python scrapers pull from 3 event sources and fuzzy-match duplicates into a staging queue that admins review before publishing. I later migrated the site from Vite to Next.js 16 and added registration alerts and Google Calendar sync.

Architecture

  • Event sources3 producer sites
  • Python scrapersGitHub Actions
  • Staging + admin reviewFuzzy de-duplication
  • SupabaseEvents, arenas, members
  • Next.js siteList + calendar views
  • Registration alertsAutomated notices
  • Google CalendarEvent sync
Scraped and submitted events are reviewed before they become the data riders rely on.

Decisions

Design around a real operating workflow
The system prioritizes the information people need around an event, including what is happening, where it is, and when it changes, rather than treating the site as a static directory.
Automate collection, keep a human in the loop
Scrapers handle repetitive data entry, but every scraped event lands in a staging queue for admin review. Fuzzy de-duplication catches the same event listed by multiple sources, cutting manual entry by about 80%.