Building La Lista DMV: A Curated List of Latino Events in the DC Area

A curated list of Latino events in the DC, Maryland and Virginia area, powered by Next.js, Payload CMS and AI-assisted curation. Here's how I built it.

Finding local Latino events in the DC, Maryland and Virginia area used to mean scrolling through dozens of Instagram accounts, checking Facebook groups and hoping someone in a group chat shared that festival flyer in time. I wanted all of it in one place, so I started keeping a running list of events in my Notes app. Just stuff I wanted to go to. That list eventually became La Lista DMV.

La Lista DMV is a curated list of Latino events happening in the DMV area. Concerts, festivals, food pop-ups, dance nights, art shows and family events, all in one place so the Latino community never misses what’s happening nearby.

I originally built the site for myself, and it’s gone through many iterations since then. The design has changed a lot as I’ve figured out what works and what the community actually needs. Here’s how I built it and what powers it behind the scenes.

The Problem

The DMV has a thriving Latino cultural scene, but discovering events is fragmented. A bachata night in DC is promoted on one Instagram page. A Salvadoran food festival in Maryland lives on another. A Latin jazz show in Virginia? Good luck finding that unless you follow the right accounts.

There was no single list for all of it. I wanted La Lista to be that list.

The Tech Stack

I went with a modern full-stack setup that lets me move fast:

  • Next.js for the web app, giving me server-rendered pages, great SEO and the App Router for clean file-based routing
  • Payload CMS as a headless CMS that lives inside the same Next.js app, so there’s no separate backend to manage. It gives me an admin panel, a database layer and a full API out of the box
  • Tailwind CSS and shadcn UI for the frontend design system
  • better-auth for authentication shared across web and mobile
  • Resend for alert emails to notify me when users submit events or feedback

For the mobile app (still in development), I’m using Expo with React Native, sharing the same auth system and backend with the web app so users get a seamless experience across platforms.

How AI Speeds Up Event Curation

This is probably the most interesting part of the build. Most of the events on La Lista come from manual curation. I find them on Instagram, event pages, flyers and group chats. The other come from automated Ticketmaster syncing (more on that below).

For the manually curated events, the old workflow looked like this: read the event description, then fill out a dozen form fields for the title, date, venue, price, description, tags and region. Tedious and slow.

Now, I use AI to extract structured data from the unstructured text: event name, date, time, venue, price, a clean description and even contextual tags like the genre or type of event.

This one feature cut my event entry time dramatically. Instead of manually typing everything, I review the AI output, make quick edits if needed and publish.

Automated Concert Discovery with Ticketmaster

For concerts specifically, I built an artist tracking system. I add artists I want to follow to a collection in the CMS. Then, when I trigger a sync, the system queries the Ticketmaster API for all upcoming music events in DC, Maryland and Virginia (up to 2,000 events at a time) and matches them against my tracked artist list.

Matching concerts get pulled into an event queue where I can review, edit and publish them. The system tracks which concerts have already been imported to prevent duplicates on the next sync.

This means I don’t have to manually check if Bad Bunny, Grupo Frontera or any other artist has a DMV date coming up. The system surfaces it automatically.

The Event Pipeline

Every event on La Lista flows through a pipeline:

  1. Ingestion: Events come in from Ticketmaster sync, manual import or the AI-assisted entry form
  2. Queue: New events land in a draft queue for review
  3. AI Processing: Optionally, paste raw text and let GPT structure it
  4. Review & Edit: I check the details and adjust tags
  5. Publish: The event goes live on the site and gets indexed for search

Events are organized by six main categories (Music, Food & Drink, Arts & Culture, Festivals, Dance and Family) with over 80 tags for more specific filtering. Users can browse by region (DC, Maryland or Virginia) or just scroll the homepage to see what’s coming up in the next seven days.

Growing the Community on Instagram

La Lista DMV isn’t just the website. A friend of mine helps run our Instagram account, handling the designs, posting and answering DMs based on the events we find together. We published our first post on July 11, 2024 and have since grown to over 1,200 followers.

What’s been most rewarding is hearing from people at events that they found out about it through our Instagram. That kind of real-world feedback makes all the work worth it and reinforces that La Lista is filling a real gap in how the DMV Latino community discovers events.

Social Media Automation

To support the Instagram account, I built a dynamic image generation system using Satori and Sharp. Each week, the system pulls the upcoming events and generates a branded image for each one, ready to be used as Instagram slides. This saves a ton of time on design work and keeps the visuals consistent across every post.

Cross-Platform Auth

Using better-auth, I set up a single authentication layer that works across both the web app and the mobile app. Users can sign in with Google or email/password, and their saved events, preferences and account carry over between platforms.

On the web, sessions use HTTP-only cookies with caching. On mobile (Expo), tokens are stored in encrypted secure storage. Same database, same user, different platforms.

What I’ve Learned

Start with a problem you have. I didn’t build La Lista because I wanted to try a new framework. I built it because after living in DC for a few years, I wanted a single list of all the best Latino events happening around me. As a transplant and Latino, I wanted to know what Latino events were around and I primarly solved a problem for myself first. Turns out a lot of other people had the same one. The tech choices followed from the constraints: solo developer, need to move fast, need good SEO for discovery and need a CMS for content management.

AI is best as an accelerator, not a replacement. The AI doesn’t curate events for me. It doesn’t decide what’s worth adding to the list. It just makes the mechanical parts of data entry faster so I can focus on the editorial decisions that actually matter.

Automate the boring parts. Ticketmaster sync, Instagram posting and OG image generation are none of the core product. But automating them frees up time I can spend on the things that are: finding great events and building a community around them.

Keep the stack simple. Payload CMS living inside Next.js means one deployment, one database and one codebase. Vercel handles hosting.

What’s Next

The mobile app is in active development, bringing the same event discovery experience to iOS and Android with Expo and React Native. I’m also exploring more automated event sources beyond Ticketmaster to reduce the manual curation load even further.

La Lista started as a personal list on my Notes app. It’s slowly becoming the go-to list for the DMV Latino community to find out what’s happening this weekend. And that’s exactly what I wanted.

La Lista DMV is live at lalistadmv.com. If you’re in the DC, Maryland or Virginia area, check it out.

All posts