jjose.dev
Full System · Admin DashboardLive

Dog House Poker Cypress, TX

Before

Promotions on the old site were flat images with no source files, so changing a single date meant recreating the whole graphic. The tournament schedule lived on someone else's website. Every update went through a person who wasn't always available.

What was built

A complete custom system — a full public website plus a self-managed admin dashboard. The owner controls everything: promotions, the tournament schedule, menu, gallery, job postings, and contact info, with staff accounts and roles. Nothing hardcoded, no developer needed.

The owner runs the entire site from one dashboard: promotions, schedule, menu, jobs, and staff.

Project facts

Status
Live
Client location
Cypress, TX
Stack
Next.jsSupabaseTypeScriptTailwind
Visit doghousepokerclub.com

3

staff roles with separate permissions

46

menu items the owner controls

12

database tables, all locked down

What's in it

  • Promotions and a tournament schedule that handle both weekly regulars and one-off events
  • The full menu — seven sections — plus a photo gallery and a live video page
  • Job postings with an application tracker and résumé intake, so hiring runs through the site
  • Three staff roles — floor, admin, owner — so the team can help without being able to break anything
  • Page on/off switches: hide a page and it vanishes from the site, the menu, and Google's map of it
  • A permanent record of every change, that not even the owner can edit or delete

The hard part

One word that could never appear

Texas membership-model card rooms operate under rules where a single word — "rake" — carries legal weight. It couldn't appear anywhere: not in the visible copy, not in the page's hidden description, not in something a staff member types into the dashboard two years from now. I scrubbed every existing mention and renamed the database field itself, so the wrong word isn't sitting there waiting to be reintroduced by someone who doesn't know why it matters.