Dec 12 2025 - The Houston Datebook
Building The Houston Datebook: A Weekend Project
Over the weekend, I built The Houston Datebook — a centralized calendar that aggregates events from across Houston’s many event websites into one convenient location.
The Problem
Houston has an incredibly vibrant events scene, but information about what’s happening is scattered across dozens of different websites. Whether you’re looking for concerts, community gatherings, art exhibitions, or food festivals, you typically need to check multiple sources to get a complete picture of what’s happening in the city. I wanted to solve this by creating a single, always up-to-date calendar that pulls everything together.
The Tech Stack
This project gave me the opportunity to experiment with some tools I’d been wanting to try:
N8N for Automation
This was my first time using N8N, and I was genuinely impressed by how powerful a drag-and-drop editor can be for building automation workflows. The visual interface made it easy to:
- Set up scheduled scraping of various Houston event websites
- Process and normalize event data from different sources
- Integrate AI agents to intelligently parse event information
- Automatically update the calendar with new events
What really stood out was how N8N bridges the gap between no-code simplicity and actual power. I could quickly prototype workflows visually, but still had access to custom code when I needed it. The AI agent integration was particularly useful for handling the messy, inconsistent event data from different sources — it could intelligently extract dates, times, locations, and descriptions even when the formatting varied wildly.
Vercel for Deployment
I’ve used GitHub Pages for static sites before, but this project was my first experience with Vercel, and I’m sold. The automatic builds triggered by GitHub repo updates are a game-changer. Push to main, and within seconds the site is rebuilt and deployed. No manual triggers, no configuration headaches — it just works.
The developer experience is notably superior. The deployment previews for pull requests, the zero-config setup for Next.js, and the speed of the CDN have all been excellent.
How It Works
The Houston Datebook pulls events from multiple sources across the city and displays them in both monthly and weekly calendar views. The automation runs regularly to keep everything current, and the Google Calendar integration allows users to easily add Houston events to their own calendars.
The interface is clean and straightforward — you can quickly scan what’s happening this week or browse by month to plan ahead. Each event shows the time, venue, and a brief description, with all the information you need to decide what to attend.
What’s Next
This weekend project proved the concept works, but there’s plenty of room for improvement:
- Adding more event sources to get even better coverage
- Implementing filtering by event type (music, food, sports, arts, etc.)
- Adding search functionality
- Creating a notification system for events matching user interests
- Improving the AI’s ability to categorize and tag events
The bigger vision is to expand beyond Houston. Every major US city faces the same problem of fragmented event information. The infrastructure I’ve built is city-agnostic, so creating “The Austin Datebook,” “The Seattle Datebook,” or datebooks for any other city should be relatively straightforward.
Lessons Learned
The most valuable takeaway from this project was experiencing how modern automation tools and AI can work together. N8N’s visual workflow editor combined with AI agents creates a powerful system for handling real-world, messy data. And Vercel’s deployment experience has raised my expectations for what dev tooling should feel like.
If you’re in Houston, check out The Houston Datebook and let me know what you think. And if you’re in another city and want to see a datebook for your area, reach out — I’d love to expand this to more cities.
The Houston Datebook is open source and continuously improving. Have suggestions or want to contribute? Let’s chat.