Case study

4PM Detroit:a happy hour guide checked against every bar’s own menu.

4PM Detroit is a guide to happy hours across Detroit and its suburbs. Every listing is checked against the bar’s own menu, with real times and real deals instead of “half off drinks.” The site is statically generated, so hundreds of listings load instantly, and a live filter shows what is happening right now in Detroit time.

Business
Happy hour guide · Detroit
Status
Live, and I still maintain it
Website
4pmdetroit.com
Screenshot of the 4PM Detroit website
The problem

What 4PM Detroit needed

Happy hour information online is usually stale, vague, or buried in a bar’s Instagram. A guide is only worth opening if it is accurate, and fast on a phone at five minutes to four on a Friday.

What I built

What I built for 4PM Detroit

  1. 01

    Every listing verified

    Each bar is a structured record with a validated schema: days, times, deals and the source it was checked against. A listing that fails validation does not publish.

  2. 02

    Happening now

    A time filter shows which happy hours are running at this moment in Detroit time, and which start soon.

  3. 03

    Neighborhoods and a map

    Browse by neighborhood or on a map. The map loads only when someone opens it, using free open map tiles, so the page stays light.

  4. 04

    Built to be quoted

    Every bar and neighborhood has its own static page with structured data and an FAQ, so search engines and AI assistants can read and cite it directly.

  5. 05

    Nothing to babysit

    Static pages on GitHub Pages: no database, no server to keep alive, nothing to patch.

Built with

  • Astro
  • TypeScript
  • MapLibre
  • GitHub Pages
Want one like this?

Your business, the same kind of build.

Tell me what your business does and what is getting in the way. I will tell you what I would build, roughly what it takes, and whether I am the right person for it.

Book a free 30-minute call

Or text or call (248) 882-9055

Rather write it down?

A few lines is plenty. I reply personally.

Goes straight to me. No mailing list, no sales sequence.