Product changelog

What's new.

Everything we ship — features, fixes, data refreshes — in reverse chronological order. Tagged so you can scan to what matters.

Release notes · updated 2026-08-12

169 updates shipped to date.

Texas alcohol-license intelligence, improved continuously. Every entry below is a real change to the product — green for new features, amber for fixes, blue for data refreshes, and sky for performance wins.

Subscribe: Atom feed · RSS

Texas state & county court records — and tax liens feature

Bar pages have always shown federal court history. They now also show Texas state and county records: district and county-court cases, evictions, environmental enforcement, and — often the most telling signal — county-clerk tax liens.

A tax lien that sits unreleased for years says more about an operator's health than most lawsuits do. One San Antonio bar had a state tax lien filed in 2018 that wasn't released until 2022; it closed the following year. That kind of history was invisible before, because it never reaches the federal courts.

Two things we're careful about. Courts index a business by its legal name, not its sign — so we resolve each bar's registered entities first and search all of them, including the other counties a chain operates in. And we only count a case when the business itself is named: a lawsuit against someone who merely shares a surname with the owner is not a mark against the bar, and we'd rather miss one than publish a wrong one.

Each section shows when it was last checked. If a county's records were unreachable on the last run, we say so plainly rather than showing an all-clear we can't stand behind. Pro members can refresh any bar's records on demand.

Owner names now shown for small LLCs fix

Many small bars are single-member LLCs where the owner also serves as the company's registered agent. We previously hid all registered agents (to keep commercial filing services off the page) — which also hid these real owners. Bar pages now show an individual registered agent when they're the only name on file, clearly labeled. Newly formed LLCs also get their members picked up within two weeks of the state processing their first filing, instead of up to three months.

New product approvals flowing again fix

The new-releases feed had quietly stopped updating on July 17. It's fixed and backfilled — about 1,300 beer, spirit and wine approvals from the gap are now live, and /labels/new updates daily again. We also fixed a filter bug that could show older approvals on the 30-day new-releases page, and added this feed to our automated freshness monitoring so a silent stall can't recur.

Audit-risk scores restored, fresher data across the board fix

The audit-risk dashboard is back — risk scores for roughly 22,000 establishments recalculate daily again and the page no longer shows a loading error. Site search results, state registry status, sales-tax records, and health inspections all refresh on their regular schedules again after an infrastructure move had quietly stalled several of them. AI summaries on venue pages now update the moment a new one is generated instead of waiting out a cache window, and venue category coverage is being expanded toward full coverage of active establishments.

Coming-soon pages: one entry per venue, with detail links fix

The coming-soon pages (statewide and per city/county) now list each upcoming venue once instead of repeating the same location for every certificate it filed — related filings are rolled up under the primary application. Every entry now links to its full pending-application detail page, and applications that have been under review for more than 90 days are labeled with the month they entered review, so long-stalled filings are no longer presented as imminent openings.

Clearer not-found pages fix

When a page can't be found, the error page now tells you exactly what was missing — for example that no officer or company record exists under that name — instead of a generic message. It also adds a direct shortcut to advanced search so you can get back on track in one click.

Homepage statewide ticker now opens a monthly trend popup feature

Clicking the statewide sales figure in the live ticker on the homepage now opens a quick popup with the last 12 months of statewide mixed-beverage sales — monthly gross, number of reporting bars, and month-over-month change — without leaving the page. A link to the full bars view is still one click away inside the popup.

Bar profile pages load much faster perf

Individual bar profile pages now render roughly 3× faster on a first, uncached visit — and a rare slow-load case affecting some Dallas–Fort Worth area bars has been fixed. Every card on the page (sales history, audit risk, inspections, reviews, operator portfolio) shows the same data as before; it just arrives sooner.

City and county pages load much faster perf

City landing pages (like Austin or Houston) and county pages (like Travis or Harris) now render several times faster on a first, uncached visit. The same stats, top-bar rankings, ZIP breakdowns, and trend series are computed far more efficiently behind the scenes — nothing about the numbers changed, only how quickly they reach you.

Mobile navigation menu restored fix

On phones and small screens, the top navigation now collapses into a menu button. Tap it to reach every section — rankings, browse pages, and tools — from any page. Previously, several sections were hard to reach on mobile.

Fairer peer rankings · fresher venue categories fix

  • ZIP, city, county, and statewide rankings on bar profiles now compare every venue over the same set of fully-reported months. Previously, a venue whose newest month posted early could be ranked against neighbors still missing that month, skewing “top %” figures by a few places.
  • Venue category updates (say, a spot reclassified from honky-tonk to sports bar) now reach profile pages within minutes instead of lingering on the old label.
  • Owner portfolio briefs now include the top category across the portfolio, and financials pages show the liquor-share range for the venue’s category — both had been silently missing.

Newest month appears sooner · sign-in without leaving the page fix

  • The site was occasionally hiding the newest month of receipts if TABC published it a little lean. Fixed — once a month is past its normal publish window it now surfaces automatically, so the latest numbers appear the moment the state releases them.
  • Signing in from a bar profile used to bounce you to the main dashboard. Now the login prompt opens right on the page you were reading and drops you back where you started once you’re in. Save, Track, and the longer-history buttons all use the same in-place sign-in.
  • Nightly data refresh reliability — the background job that pulls new receipts, license changes, and delinquent-list updates runs cleanly again.

Manufacturer & brand profile pages — every Sazerac, AB InBev, Deutsch product in one place feature

  • Every product registrant on the TABC catalog now has a dedicated profile page. Open /registrant/sazerac as an example — you get the full back-catalog of approved beer, spirits, or wine for that manufacturer, sorted by approval date, with the actual label artwork on each card.
  • Useful for distributors deciding which producers to take on, for operators eyeing which lines are about to land in Texas, and for anyone tracking what a brand portfolio actually looks like in this state — not what marketing claims.

Health inspections now show an A–F letter grade feature

  • Every bar profile’s health page now carries a clear A–F letter-grade badge on the most recent inspection — 90+ is an A, 80–89 a B, 70–79 a C, 60–69 a D, anything lower is an F. No more squinting at raw scores to figure out what they mean.
  • The grade math is uniform across every jurisdiction we have inspection data for, so you can compare a Houston spot to an Austin one without translating each city’s scoring quirks in your head.

Top navigation reorganized — less crowded, faster to scan feature

  • The top bar used to push out every section as its own link, which got hard to scan once the site grew. The most-used destinations stay front and center; everything else now lives behind a tidy More ▾ dropdown.
  • Mobile users get a cleaner header with fewer wrapping rows, and desktop users no longer scroll horizontally to find a section.

New: every alcoholic product approved for sale in Texas feature

  • /labels — a fresh public catalog of every TABC-approved beer, spirit, and wine for sale in Texas. Filter by type. Browse the last 5 years. Click any product to see the registrant, ABV, federal TTB COLA number, and approval date.
  • /labels/new — “what just hit Texas shelves” for the last 30 days. Updated monthly from the TABC AIMS live feed.
  • Coverage spans the pre-Sept-2021 archive (~284,000 historical approvals from data.texas.gov) and the live AIMS feed since then. Every product carries a TABC permit ID, so the catalog will surface on brewery/distillery/winery profile pages too.

Bar profile briefings are catching up — and stay caught up on their own data

  • 97% of operating Texas bars now have a category — Bar, Restaurant / Bar, Mexican Restaurant, Sports Bar, Cocktail Bar, and the long tail. The classifier finished cleaning up the inherited “honky-tonk” false positives and is now drawing down the last few thousand bars that never got a category.
  • Finance briefings are auto-generating again on the extended profile pages. The nightly pipeline that ingests new TABC filings, builds the financial profile, and writes the AI summary had three quiet breaks (dead service, mis-scoped drainer, disabled timer) — all repaired. Coverage is back to growing, and a new bar that appears in next month’s TABC drop will pick up a briefing without anyone having to remember to push a button.

First-click loads are instant on the top bar profiles too perf

  • Returning visitors no longer get bounced past the cache. Before, anyone who had ever interacted with the site (saved a bar, submitted a form) was treated as “signaled” and pushed straight to origin every visit. Now only an actual logged-in session triggers that path; everyone else gets the fast edge-cached page.
  • Bar profiles join the warm list. The background warmer keeps the home page, /bars, /categories, and county/city pages instantly available; the top 50 most-visited bar profiles are now in that rotation too. First click of the morning on a popular bar = no cold render.

Landing page (and every page) now loads in under a quarter-second perf

  • Tracked down a database lookup on the AI-briefing cache that was scanning the whole table instead of using its index, and was hit on every page load. That single lookup was taking around a second by itself — multiplied across the home page, /bars, monthly trends, county pages, and every bar profile.
  • Same lookup now resolves in around 4 ms (about 266× faster). The home page is now well under 250 ms cold and around 100 ms warm — no more “why is it slow again” on the first click of the day.

Sitewide speed sweep: owner pages 5x faster, no more random 503s perf

  • Owner pages now load in a fraction of a second. We found a query pattern that was forcing the database to scan a 3.76 million-row table from scratch on every owner click. With that fixed, operator and company profiles render in around 300 ms instead of 2 - 3 seconds, and the background workers stopped getting killed by 60-second timeouts (which had been causing intermittent 503s during peak traffic).
  • Fake operator URLs return a real 404. If someone (or a search engine) hit /officers/something-that-doesn't-exist, we used to render an empty operator page at 200 OK. Now those return a proper 404, which keeps the search index clean.
  • First page hit of the day is instant. The home page, /bars, /categories, county and city pages stay warm at the edge cache around the clock, so the first click on a sleepy morning is the same speed as the hundredth click at noon.

Cold-load fix: first page hit of the day is now instant, not 6 seconds perf

  • What changed: we tuned how long the edge cache holds public pages and added a quiet background pinger that keeps the top pages warm around the clock. Before this, low-traffic pages would go cold after about 10 minutes idle and the next visitor would wait several seconds for the page to rebuild.
  • You will notice: the home page, /bars, /categories, county and city pages all open in about one-tenth of a second on first click, every time — not just when someone visited a few minutes before you.

Federal court history: no more lookalike lawsuits attributed to the wrong bar fix

  • Stricter name-matching on the federal court history block. Before, an operator named “Roxbury Enterprises LLC” could pick up lawsuits against unrelated companies that just happened to share one common word (a Massachusetts municipality, a Roxbury-named apartment LLC, etc.). The matcher now requires the operator’s distinctive phrase to appear as the actual party on the case caption — not just somewhere in the docket. False-positive cases that were previously attributed get dropped on read, so the section updates the next time you load the bar.
  • Bars that legitimately have federal cases on file are unaffected — the matcher still surfaces every case where the operator is named as plaintiff, defendant, or debtor.

Save bars to your watchlist, email alerts now firing, new taxes page feature

  • Save to watchlist button is back on every bar profile. Logged-in users can save a bar in one click and see it on their dashboard; logged-out visitors get a sign-in prompt. The watchlist row now shows the bar’s street address so two bars with the same name are easy to tell apart.
  • Email alerts now go out hourly. If you have an active alert subscription (TABC violations, pending permits, delinquent taxes, license changes), the worker checks every hour and emails you a digest at your chosen cadence (daily / weekly / monthly).
  • New /taxes page with the estimated combined Texas mixed-beverage tax collected statewide each month, MoM and YoY change, and the top 10 counties by tax. The number combines the 8.25% sales tax on the total ticket plus the 6.7% mixed-beverage gross-receipts tax on alcohol receipts. The landing-page tile grid now surfaces this as a live tile.
  • Faster Texas comptroller owner / company lookups (again). The punctuation-stripping owner search (e.g. “C & C Wings Inc”) was doing a full-table scan of every receipt row on every hit — up to 47 seconds under load. Now under 10 ms thanks to a new pre-computed search column.
  • Cleaner traffic stats. Internal monitoring tools (uptime pingers, page-warming scripts) are no longer counted as “views” in the admin dashboard.

Owner / officer / company pages now load in milliseconds perf

  • Officer lookup is ~25× faster. The exact-name lookup behind every /owner/, /officers/, and /companies/ page dropped from 100–600 ms to about 5 ms. Pages that used to feel sluggish open instantly now.
  • Company-name lookup is ~150× faster. Searches by taxpayer / company name (e.g. /companies/cbsb-abilene-llc) dropped from 1.4 seconds to about 9 ms. The query now uses the real index instead of rescanning all permits.
  • Bar pages no longer thrash the database during crawler bursts. Search engines and AI crawlers now serve from a cached copy of the bar profile instead of re-rendering it on every hit — the database is freed up to keep real visitor page loads snappy.
  • Honest empty-state. If someone navigates to /officers/<name> for a person who only files franchise tax for non-alcohol entities (banks, HOAs, real estate), the page now correctly returns a 404 instead of rendering an empty “0 Texas venues” profile.
  • Nightly hot-page warmup expanded to the top 500 bars, top 200 owners, and top 100 companies, on top of the existing landing / cities / counties warm set.

More speed work &mdash; bot-light mode, smarter health-page matcher, gated analytics fix

  • Bot-light rendering: search-engine crawlers now get the core SEO content (title, summary, permit, status, main facts) and skip the expensive optional sections (sibling lookups, fallback enrichments, secondary side blocks). Saves the database from getting drowned during crawler spikes; real visitors still see the full page.
  • Health facility → bar profile matcher now finds the bar by street address when the establishment name doesn't match (catches cases like Austin filings prefixed with “OOB -” or San Antonio filings under the LLC name instead of the trade name).
  • Analytics gate: when a non-Pro visitor clicks the Analytics tab, they now land back on the bar's Overview page (with a Pro-upgrade banner) instead of being dumped on /pricing and losing the bar context entirely.
  • Database lanes: nightly imports, AI briefings, and bulk enrichment now run on a separate low-priority service inside the database, so they can't slow down live page loads even when running flat-out.

Sitewide speed sweep &mdash; owner / officer / company pages 20&times; faster fix

  • The big /owner/, /officers/, and /companies/ pages dropped from 3.4s to under 200ms. The single slowest query on the site (non-MB permit lookup) is now an indexed lookup instead of a full-table scan.
  • Added a stale-while-revalidate cache layer for crawler traffic so search bots serve from cache instead of hitting the database on every visit.
  • Search results pages bumped from 5-minute cache to 1-hour cache — repeat queries are 15× faster.
  • Behind-the-scenes: split the database into priority lanes so nightly imports, AI briefings, and enrichment jobs can no longer slow down live user page loads.

Cleaner names on /occupancy + chain health scores when an exact match is missing fix

  • The fire-marshal occupancy directory at /occupancy no longer shows raw street addresses where a venue’s trade name was missing. We cross-match by address to recover the real name, and fall back to a ‘Suite at …’ label for the unrecoverable remainder so the list is readable end-to-end.
  • Bar profiles that don’t yet have a direct health inspection on file (usually because the local department’s feed doesn’t cover the address) now show a sibling-locations card: recent scores from other venues operating under the same trade name across Texas. Gives you a chain-quality reference instead of an empty card.

New page: products coming out soon (federal label approvals) feature

  • New public page at /new-products lists every federally approved alcohol label heading to market — bourbons, wines, beers, RTDs, ciders, and seltzers, with brand, fanciful name, class/type, applicant state of origin, and approval date.
  • Filter by category (spirits, wine, beer/malt, RTD/cider/seltzer) or jump straight to Texas-made products. Brand-name search + class filter on the page. Each row links to the original federal record.
  • Distributors, buyers, and curious drinkers can now see what is about to land on Texas shelves before it shows up at retail. Refreshed daily.

Denton health inspections: full history backfill data

  • Denton restaurant + bar inspections now go back across the full city history — we replaced our prior ‘latest score only’ feed with the deeper public dataset, expanding coverage from a few hundred current scores to the full multi-year inspection history.
  • Bar profiles in Denton now show the full inspection trail, not just the most recent grade. Repeat-violation patterns and trend analysis become possible.

New: one-click refresh of public records &amp; reviews on any bar (Pro) feature

  • Pro members now get a Refresh public records & reviews button on every bar profile and financials page. One click re-pulls the venue's federal-court history, public rating, and review snippets on demand — useful when a case just closed or you want the absolute freshest read before a meeting.
  • Pro plan: 10 refreshes per day. Admin: unlimited.
  • If a CourtListener daily quota is hit, the badge correctly shows “Lookup pending” instead of falsely claiming a clean record — the nightly job picks it up the next morning.

AI briefings on every bar profile resuming production fix

  • The behind-the-scenes worker that writes the short market briefing on every bar's financials page is back online and running at zero infrastructure cost — it had been failing silently against a paid endpoint for two days. New briefings are landing now and the backlog will drain over the next few hours.

Federal court lookups now match the operator only, not every namesake fix

  • The federal-court history card no longer pulls in unrelated cases that just happen to mention an operator's LLC name in passing. Lookups now use a party-name filter, so we only credit a bar with cases where its registered entity was an actual plaintiff or defendant.
  • Owner / operator names now keep their commas and entity suffix casing intact — a bar registered as “Giggles, LLC” displays exactly that, not “Giggles Llc”. Applies across bar profiles, owner pages, and company pages.
  • Bar profile pages render faster on first visit — the public-rating chip now lazy-loads in after the page paints instead of blocking the initial response.

Drill into individual federal cases &mdash; and faster ratings on first visit feature

  • Each case in a bar's federal-court history now opens its own detail page with case name, court, docket number, filing date, nature of suit, and a link out to the public docket.
  • The federal-court history card now also appears on the deep-dive financials page, mirroring the bar profile.
  • First-time visits to a bar profile now fetch the venue's public rating and review count up front, so the chip is populated on the very first load instead of waiting for a refresh.

Federal court history on bar profiles &mdash; including a clean-record badge feature

  • Bar profile pages now check the operating LLC against public federal court records and surface the history right next to the audit-risk panel: total cases, currently open, wage-and-hour (FLSA) claims, ADA accessibility suits, bankruptcy filings, and the most recent case with court and date.
  • Operators with a verified clean record — no federal lawsuits filed, past or pending — get a green badge on the profile. Most data sites only surface negatives; we surface verified absence as a signal too.
  • Active wage-and-hour cases, bankruptcy filings, and open litigation push the audit-risk score up. Closed historical cases get a smaller weight.
  • Lookups are on-demand when you open a bar's full financial page, plus a nightly top-up that fills in the highest-revenue bars first. Cached for a year per operator since federal filings don't change daily.

One bar, one page: piggyback permits at the same address now redirect to the primary fix

  • Some Texas venues hold more than one TABC permit at the same physical address (e.g. a full-bar permit alongside a food-service permit). On BoozeReports these used to render as two separate bar pages — one with all the receipts, hours, ratings, and history, and a near-empty twin with no chart data. From today, when you land on the twin you're sent (308) to the primary page so you always see the venue's full picture.
  • The Public-reviews chip in the page header is now clickable: tap it to open a popup with the venue's headline rating, recent reviewer comments, hours, phone, website, and a one-click jump to the venue on the map. No more digging down the page.
  • Multi-tenant addresses (airports, conference centers, stadium concessions) are deliberately left alone — each stand stays its own page because each stand has its own operator.

Bar profiles now show public review stars and recent reviewer comments feature

  • Every bar profile now surfaces a reviewer-rating chip in the page header — “4.4★ · 20,485 reviews” — color-coded green for 4.5★+, amber for 3.5–4.4, and red below 3.5.
  • A new Public reviews card on each profile shows the venue's headline rating, a recent reviewer comment, hours of operation, phone number and website — pulled together so you don't have to leave the page.
  • New /top-rated-bars directory (statewide and per-city) ranks every venue we've snapshotted by reviewer rating, filtered to operational bars with 20+ reviews.
  • The reviewer-rating snapshot refreshes on demand when you visit a profile that's overdue, and a weekly fill keeps the top-revenue bars current. Closed and permanently shuttered venues are filtered out automatically.

Health-inspection matches now ignore apostrophes and punctuation fix

  • Bar profiles whose trade name differs from the city health-department spelling by only an apostrophe or punctuation mark (e.g. SLACKERS on the TABC permit vs SLACKER’S on the city inspection record) now match correctly. Affected venues like Slackers finally surface their most-recent health score in the sidebar and on the Health tab.
  • The Health tab on each bar profile now shows full inspection history (all visits to the same address), not just the single latest score. For venues with multiple re-inspections you'll see the score trend over time.
  • No new datasets — we already had these records; the join was over-strict.

New per-officer and per-company explorer pages feature

  • Every named officer on a Texas TABC permit now has a dedicated page at /officers/<name> — portfolio receipts, every venue they're on file for, the entities they're an officer of, and sibling LLCs that share a different officer.
  • Every registered entity that holds at least one TABC permit now has a dedicated page at /companies/<entity> — combined trailing-12 receipts, every permit on the entity, the officer roster, and Texas Secretary-of-State entity status (active / forfeited / in good standing).
  • Both pages cross-link — pivot from the person view to the entity view in one click. Bar profiles now link officer names to the new officer pages and add a one-click “Company →” jump from the owner field.
  • Commercial registered-agent services (filing companies that appear on thousands of unrelated entities) are filtered out so the explorer surfaces real operators, not paperwork shells.
  • ~15,500 officer pages and ~44,800 company pages indexed via two new sitemap shards. Crawlable, no login required.

New /coming-soon page tracks pending bar + restaurant license applications feature

  • Track every Texas venue currently under TABC review — before it opens. Statewide overview at /coming-soon, plus per-city pages (/coming-soon/houston, /coming-soon/austin…) and per-county pages (/coming-soon/harris, /coming-soon/travis…).
  • Each row shows the applicant, trade name, full address, county, permit type, submission date, days in queue, and TABC review status (Received vs Pending – In Review).
  • Refreshes daily from TABC public records and includes ~1,000 live applicants across 250+ city + county pages. Free tier — no login required.
  • Pro alerts can subscribe to a city or county and get notified when a new application lands — perfect for brokers, beverage distributors, suppliers, and anyone scouting where the next neighborhood spot is opening.

Bar profiles now show operator portfolio and business classification feature

  • Every bar profile now shows whether the operator runs a single venue or a multi-outlet portfolio — “47 outlets statewide across 12 cities” — with a drop-down sampling of sibling locations and which ones are still active.
  • Each profile also surfaces the venue’s official business classification (the NAICS industry code on file with the state retail-permit registry, e.g. 722410 — Drinking Places). When the classification is outside the food & beverage family we flag the mismatch so you can see when a permit is held by a parent that runs multiple business lines.
  • New “permit active but state registry shows closed” alert: if the TABC license is current but the state retail-permit registry shows the outlet went out of business, the profile now calls it out with the closure month — a leading indicator of ownership changes and late surrenders.
  • Backed by a refresh of the state’s full sales-tax outlet registry (~1.4M outlets, weekly refresh).

Audit Risk now includes a sales-tax vs gross-receipts cross-check feature

  • Bars file two separate monthly numbers with the state — a gross mixed-beverage receipts figure and a sales-tax filing on the alcohol-only portion. The two should match on most months; when sales-tax filings come in materially below gross over multiple months, it’s the same pattern Comptroller auditors flag internally.
  • Each bar profile’s Audit Risk card now shows the cross-check directly: “Sales-tax filings of $X vs gross of $Y over the last N overlapping months — gap of M%”, plus a new weighted signal bar.
  • The site-wide Audit Risk score consumes the cross-check too: a bar with three or more flagged months in the trailing year picks up 4–6 points depending on how wide the gap is, in addition to existing delinquency, violation, reporting-pattern, and volatility signals.
  • No new data was needed — both filings have been ingested for years. The signal was simply not yet folded into the score.

Bar profiles now show the latest restaurant inspection score feature

  • Every bar profile page now surfaces the venue's most recent city/county health-inspection score directly in the License sidebar — with a color-coded chip (green ≥ 90, amber 80–89, red < 80) and a one-click link to the full inspection history.
  • Coverage extends across every Texas jurisdiction we hold data for — San Antonio, Austin, Dallas, Houston, McKinney, plus Abilene, Amarillo, Arlington, Beaumont, Brazos County, Corpus Christi, Denton, El Paso, Frisco, Garland, Harris County, Irving, Lubbock, Mansfield, Mesquite, Nacogdoches, New Braunfels, Pearland, Wichita Falls, and Williamson County.
  • If a bar has no matched inspection on record (out-of-coverage jurisdiction or a name we couldn't auto-match), the section silently skips — no placeholder, no clutter.

San Antonio restaurant health inspections are now live data

  • San Antonio Metro Health restaurant scores are finally on the site — the second-largest city in Texas had been the most visible gap in our health-inspection coverage. Roughly three years of weekly inspection data (Jan 2023 → this week) now appear on matching bar profiles in San Antonio, Bexar County, and surrounding incorporated cities under SAMHD jurisdiction (Alamo Heights, Balcones Heights, Castle Hills, Hollywood Park, Leon Valley, Olmos Park, Terrell Hills, Universal City, Windcrest, and more).
  • Scores feed into the Permit-Health and Audit-Risk signals automatically — an SA bar with a recent failing inspection now flags the same way one in Dallas or Houston would.
  • Refresh runs weekly so new inspections show up on profile pages within days of being published.

13 more Texas cities added to the health-inspections directory data

  • You can now see recent restaurant health-inspection scores for venues in: Lubbock, Mesquite, Wichita Falls, Round Rock / Williamson County, Abilene, Amarillo, Beaumont, Pearland, Garland, Harris County, New Braunfels, Nacogdoches, and Brazos County. Roughly 22,500 new inspections joined the directory in this drop.
  • Arlington and Denton restaurant scores also came online, and El Paso commercial occupancy permits (11,000+) are now searchable alongside the existing Dallas + Fort Worth coverage.
  • Scores show up automatically on each bar's profile when there's a match, and feed into the Audit-Risk and Permit-Health signals on the dashboard.

Owner pages: the "12-mo" column now actually shows the last 12 months fix

  • The portfolio table on /owner/<slug> used to label one column "12-mo" but display the lifetime sum of every receipt the permit had ever filed (so a 20-year-old arena concession showed $208M instead of $15M). Numbers now match the label — trailing 12 complete months, like the rest of the site.
  • "Months" column renamed to "Filings" so it's clearer that the number is how many monthly filings the permit has on record.

City pages: fixed broken Houston, Austin, and other large-city pages fix

  • City pages for Houston, Austin, and several other large Texas cities were silently erroring out after a recent change added a new year-over-year column to the top-bars table. Those pages now render correctly with the full revenue, MoM%, and YoY% columns populated for the leading venues in each city.
  • Side-effect: the rankings and monthly-trends pages now cache their results for 30 minutes, so repeat visits are near-instant.

County pages: top-bars table shows up instantly fix

  • The "Top bars in <county>" table on /counties/<slug> pages used to render blank until the page's JavaScript finished — on a slow connection that meant a long blank gap. The rows are now written directly into the HTML so they're visible the moment the page paints, with or without scripts. Also helps scrapers + view-source readers.

Rural county pages: load 20× faster perf

  • Brewster, Crockett, Loving, and roughly 50 other lower-population counties were taking 5–7 seconds to render their top-bars table on first visit. They now load in well under a second. (Side-fix: a couple of high-volume counties that had briefly regressed are back to normal.)

/bars KPI strip: "Venues reporting" no longer shows 0 fix

  • The Texas-wide KPIs at the top of /bars (venues reporting, revenue, MoM, YoY, average per venue) were briefly defaulting to zeros when the underlying summary pipeline couldn't refresh. We now serve the most-recent good snapshot as a fallback so the page always shows real numbers, and we'll auto-recompute as soon as the pipeline catches up.

Bar financials: cleaner loading state, no more bare error text fix

  • Visiting /bar/financials/<permit> for a venue that hadn't been built yet used to dump a plain-text "No enriched data found" message. Now you get a polished skeleton page that automatically builds the full report (sales, rent comps, property tax, valuation tiers) in the background — about 30 seconds the first time. Reload happens for you.
  • Two tabs / browsers hitting the same un-built venue in the same window now share one build job and both reload together, instead of bumping into each other on a cooldown.
  • If the database is briefly busy, the report is stashed in our private memory cache so the page still renders the full report for you and reconciles to permanent storage when the queue clears.

Bar financials: SEO-friendly URL (brand name first) fix

  • Bare-permit URLs like /bar/financials/MB200074188 now 301 to the SEO-friendly form /bar/financials/the-watering-hole-san-antonio-tx-MB200074188 — brand name first for search engines.

Premium pages: removed the duplicate "Share" button fix

  • Bar financials, audit risk, delinquent list, top violations, /chains, and /licenses each used to stack a legacy black "Share" pill on top of the global orange share button. The legacy pill is gone — only the floating orange share button remains.

Mobile: "Bars near me" button renamed + distances in feet feature

  • The mobile geolocation button on /bars (and the landing page) is now labelled "Bars near me" and lives bottom-left in sky-blue so it doesn't blend with the orange Share button. Distances are shown in feet (e.g. "144 ft away") instead of meters.

Capacity figures: flag prior-tenant filings as unverified fix

  • Some San Antonio bars had their public capacity figure inherited from a previous office or retail tenant via a no-construction Certificate of Occupancy filing. We now detect that case and either label the number "Filed under prior tenant — actual capacity may differ" or, when the value is clearly too small for a real bar, hide it and label the row "Capacity unverified". Revenue-per-seat math no longer uses unverified capacities.

Owner pages: ampersands, apostrophes, and commas in names work fix

  • Clicking the operator on a bar profile used to land on a /owner page that said "no venues found" whenever the name contained punctuation — C & C Wings, Inc., Rosa's Cafes, O'Reilly's Pub & Grill. Lookups now compare names letter-by-letter and digit-by-digit, ignoring punctuation.

Every Texas bar now gets a full financial report — automatically feature

  • BoozeReports now builds out the full /bar/financials report for every mixed-beverage venue in Texas in the background, prioritized by trailing-12-month sales so the highest-revenue venues land first. Until today, only ~1,300 of the ~53,000 venues had been fully built; the rest were generated on-demand the first time a Premium subscriber asked for them.
  • If you hit a venue that hasn’t been built yet, the page now finishes assembling itself in the background while you wait — no more long page loads, no more “couldn’t pull the full report” errors when the request times out.
  • During brief database write windows (a normal part of running on a small cloud tier), the report is now cached at the edge so it still renders for you even if the database is busy. Everything reconciles when writes resume.

Bar capacity numbers now flag prior-tenant filings instead of misleading you fix

  • When the most recent occupancy filing at a bar’s address was issued under the previous tenant (a common situation for venues that moved into a former office or retail suite without renovating), we used to show that prior tenant’s number as the bar’s capacity — sometimes as low as a dozen people for a real working bar. The page now reads “Capacity unverified — Filed under prior tenant” instead, so the misleading number doesn’t pollute your read of the venue.
  • Revenue-per-seat calculations and peer rankings now skip any venue whose capacity hasn’t been verified for its current use. The $/seat leaderboard reflects bars with reliable occupancy filings only.
  • Affects roughly 4% of San Antonio venues today. The full directory at /occupancy tags inherited filings inline so you can spot them at a glance.

New BoozeReports analyst note on every enriched bar-financials page feature

  • Each /bar/financials profile now opens with a short, neutral note explaining how this venue stacks up against typical peers in the same city — revenue context, peer comparison, and the valuation range, all in two sentences.
  • Generated once per data refresh and cached, so the page still loads instantly. Hides itself silently on profiles that don’t have a note yet.

Owner pages: ampersands, apostrophes, and commas in the name no longer break the lookup fix

  • Clicking the operator on a bar profile used to land on a /owner page that said “no venues found” whenever the name contained punctuation — C & C Wings, Inc., Rosa’s Cafes, O’Reilly’s Pub & Grill. Lookups now compare names letter-by-letter and digit-by-digit, ignoring punctuation, so the venue list shows correctly the first time.
  • One operator with 58 venues, another with 38, and a handful of three-to-twelve-venue groups that previously appeared empty are now fully populated.

Search engines can now discover the 1,292 enriched bar-financials pages fix

  • The financials sitemap was rendering empty even though the underlying pages existed. Now exposes every enriched profile to Google and the AI crawlers, with daily-fresh last-modified timestamps.

Mobile: "Find this bar" finds the venue you’re standing in by GPS feature

  • On a phone, open the /bars page and tap the new floating button. We use your phone’s GPS to find the TABC-licensed venue you’re currently in (or the two or three within about 75 m) and take you straight to its sales, permit, and audit-risk profile.
  • Location requires a precise fix (under 200 m) and never leaves your device beyond the single lookup — coordinates aren’t logged and the response is private, no-store.
  • Texas-only: lookups outside the state are rejected with a friendly message instead of a stale guess.

Mobile: landing tiles, bar profile tabs, and /licenses filter aside no longer overflow the screen fix

  • Landing page "Browse the data" 4-tile row (Counties / Permits / Categories / New · 30d) now renders 2×2 on phones instead of squishing into one row that ran past the right edge.
  • Bar profile and /bars tab bar (Overview / Top performers / Monthly / Counties) now scrolls horizontally inside itself on narrow screens, so the right-most tab is reachable instead of clipped.
  • /licenses sidebar "Permit type" filter: long permit labels (e.g. "BQ — Beer Retailer") wrap and stay inside the column on phones instead of forcing horizontal scroll.

Health-score coverage expanded: El Paso, Frisco, and Corpus Christi food inspections now live data

  • El Paso: 370 most-recent food-establishment scores from the City of El Paso public food-score feed. Score type is 100-best — perfect = 100. Updates weekly.
  • Frisco: 734 active food permits with current sanitary scores, sourced from the City of Frisco. Demerits-low-best scoring is normalized to a 0–100 scale for consistent comparison with other Texas cities.
  • Corpus Christi: 1,996 food establishments (restaurants, food trucks, school cafeterias, concession stands) with last-inspection date and score. Non-food permits like pools, spas, and septics are filtered out.
  • All three sources roll up into the same weekly refresh job as Austin / Dallas / Houston / McKinney, so /health-scores and bar-profile cross-links stay current without manual intervention.

Owner pages find LLC venues, /licenses tabs work, map dots show on hover, TX maps now drill ZIP → bars fix

  • Owner pages: when an officer's LLC only holds non-MB permits (P liquor store, BG retailer, etc.) the page used to return "No venues found". Now bridges officer → entity name → license registry so those venues show up.
  • /licenses "Expiring soon" tab now lists permits within 60 days of expiry. Was empty because the shipped row set only included newest-issued permits.
  • /licenses "Cancellations" tab now respects the 30-day window the bubble advertises, and each row shows the cancellation date instead of the (often years-old) original issue date.
  • Bar profile heatmap dots: hover any dot to see the bar name + monthly receipts. Previously you had to click each one.
  • City/county labels are normalized to Title Case across listings so "HOUSTON" and "Houston" no longer appear as separate rows.
  • Texas map button on /delinquent-list and /licenses now drills county → ZIP → list of venues. Each venue links straight to its profile.
  • /cities/<slug> redesign: removed the redundant Related cities sidebar, and the Vs other cities comparison strip now shows real receipts and MoM change instead of em-dashes.
  • Sortable tables sitewide: first click on a numeric column now sorts descending (largest first), matching what most people expect.

Search results: MoM + YoY visible, owner filter no longer 500s, sitewide header fix fix

  • Advanced-search rows now show MoM and YoY next to revenue. Sparklines removed from the results table — they were redundant with the per-bar profile chart and didn't help with ranking.
  • Owner-name filter (e.g. searching for "ARAMARK") used to 500. Now resolves owner → permits up front and returns matching rows.
  • Sitewide: bumped the global body padding-top from 64px to 116px (168px on tablet) so the breadcrumb strip no longer hides the top of every page. /performing-bars, /cities, /counties, /monthly-drop and several others were affected.

/chains polish: new TX map, clickable KPI bubbles, working chain links fix

  • Clicking a chain row used to go nowhere on /chains. Now opens the operator's portfolio page directly.
  • Replaced the old county-density choropleth with the standard Texas map widget — same look as every other page that has one.
  • Every KPI bubble on the hero is now clickable: chain-size distribution, liquor/beer/wine split, top operators by venue count, and a direct jump to the largest chain.
  • Page no longer hides under the fixed top header.
  • Combined-receipts copy is clearer that the number is one month's filings, not annual — a chain like Chipotle reporting $22K across 217 locations made sense once labeled correctly.

Cleaner top navigation: Top ▾ for rankings, More ▾ for browse + tools feature

  • Top ▾ is now rankings only — performers, cities, counties, violators, fines, worst performers, monthly drop.
  • More ▾ groups directories (Categories, Chains, Map, New permits, Health scores, Occupancy) and tools (Search, Compare, Violations, Delinquent, Audit risk, API).
  • PRO badges only show on pages that actually gate non-Pro users. /licenses doesn't anymore — free users can browse it.

All-time peak month on every bar profile feature

  • The bar profile hero now shows the single highest monthly filing in the bar's entire history (not just trailing-12), so you can immediately see how the current 12-month run compares to the lifetime ceiling.
  • Useful for spotting bars that have peaked and are coasting, and ones that just hit a new high.

Music-licensing fees now in the bar P&L data

  • The bar financials profit-scenarios card now breaks out a Music licensing line — the combined annual cost of ASCAP, BMI, SESAC, and GMR public-performance licenses every venue needs to play music. Tiered by fire-marshal occupant load, so a tiny taproom doesn't get charged the nightclub rate.
  • Range: ~$2,200/yr for a 50-cap café-bar up to ~$12,000/yr for a 1,000+-cap live-music venue. Hidden when we don't have a verified occupant load on file so we don't invent a number.

Legacy-permit redirect + accurate band counts on /occupancy fix

  • When a bar's old permit went dormant because TABC re-issued the license under a fresh number, the legacy permit's profile used to ship with a silent empty chart. Those pages now surface a banner linking to the active permit (matched by trade-name + owner + address).
  • /occupancy band tabs now show the correct "X–Y of N" total when Small/Medium/Large/Huge is selected, and the pager disables on the last page instead of always allowing a Next click.

Revenue per seat — earnings per allowed occupant feature

  • New Revenue per seat row on every bar profile that has both occupant-load and sales data: takes the 12-month average monthly receipts and divides by the fire-marshal occupant load. Higher = more revenue extracted per allowed person.
  • Top-10 leaderboard plus median and average added to /occupancy so you can see which venues earn the most per occupant across the city.
  • Sanity filters applied so storage-room records and tiny office CoOs don't pollute the rankings.

Health-inspection coverage expanded to Dallas, Houston, Austin data

  • The /health-scores directory now shows 30,000+ scored facilities across Austin, Dallas, Houston, plus McKinney pass/fail. Latest inspection per facility, ranked lowest score first.
  • Score scale normalized so all jurisdictions compare on the same 0–100 axis. Filter by city, ZIP, or jurisdiction.
  • Each row is clickable through to the venue's full inspection history.

Bar profile polish — header pills cleared, KPI grid evened fix

  • Removed the franchise-tax and audit-risk pills from the bar profile hero. Both are still surfaced lower on the page in the license-info card.
  • Hero KPI grid now lays out cleanly across five tiles on desktop — no more orphan tile on a second row.
  • Active alerts on the dashboard show human-readable names ("Pending TABC applications" instead of "pending") plus the scope and digest cadence.

City landing pages — map fixed, graphs removed fix

  • The Texas county map on each /cities/<slug> page now renders reliably instead of flashing and disappearing. Hero spacing fixed so the map no longer overlaps the top navigation.
  • Charts removed from city landing pages — charts live on bar and finance profiles, not on directory pages.

Health inspection scores — searchable directory + per-venue history feature

  • New /health-scores page: every inspected food establishment (restaurants, bars, food trucks, cafés, delis) ranked by latest score. Filter to Excellent (90+), Needs work (80–89), or Failing (<80) with one click. Search by name or ZIP, paged 50 at a time.
  • Click any row to open a dedicated facility page with the full inspection history, score trend chart, and best/worst/average stats.
  • Bar profiles now show a Health score chip in the License card and a Health inspections table below — click through to the venue's full history.
  • Launched with Austin coverage today. More Texas cities rolling in behind the same surface.

Real occupant load on bar profiles (San Antonio first) feature

  • Bar profiles now show the venue's operating occupant load — the max persons the fire marshal allows in the building, pulled from the most recent annual operating permit at that exact address.
  • Fixed a class of false-positives where we were showing the building shell's occupancy instead of the bar's. The number is now the bar's actual operating capacity (Slackers on Rector → 360, not 32).
  • Powers more accurate financial estimates: rent / sqft / labor / everything that scales with how many people can fit through the door.
  • San Antonio first; other major Texas cities behind it.

/map: click a ZIP to see the bars in it — no new page feature

  • On the Texas map page, clicking a ZIP code polygon now shows the bars in that ZIP in-place in the side panel, ranked by latest receipts. The page no longer jumps you somewhere else.
  • A “Back to ZIPs” button returns to the full ZIP list.
  • The owner page header no longer overlaps the page content.

Stadium and arena profiles now use a concession-revenue-share model fix

Permits at stadiums and arenas operate under concession contracts — the operator (Levy, Aramark, Delaware North, Sodexo Live, Savor) shares gross receipts with the venue instead of paying traditional rent. The old “Property & occupancy” section was showing six-figure rent estimates against the arena’s assessed value, which made the P&L meaningless for those venues.

Stadium and arena profiles now show a venue concession agreement instead: operator share of gross, event-day labor, and a venue-share line in place of rent. Toyota Center, Alamodome, COTA, and roughly 250 other venue-style permits get realistic operator margins.

Owner profiles now surface off-premise portfolios + per-venue contribution chart feature

  • Owner pages now list non-MB permits (package stores, wine & beer retailers, off-premise license types) so portfolios aren’t empty for operators who don’t file mixed-beverage receipts. Liquor-store-only owners that previously rendered as a blank profile now show their full permit list with a “Non-MB permit” tag next to each off-premise venue.
  • New per-venue contribution chart sits next to the combined-receipts chart and shows which venue drives the portfolio. Bars are ranked by lifetime revenue share so concentration risk (one venue carrying the whole operation) is visible at a glance.

Owner profile pages load 20-40× faster on first hit perf

  • Corporate-owner pages (LLCs, Inc.) used to take 30–55 seconds on a cold load and sometimes timed out entirely. They now return in under 2 seconds. The underlying lookup that resolved a corporate slug to its licensed bars was doing a full-table regex match; the indexed prefix lookup that replaced it cuts that single step from 200+ seconds to roughly 1 second.
  • Related-entities (sibling-LLC) lookup is now a single batched query instead of one round-trip per shared officer — saves up to 170 seconds on owners with deep portfolios.
  • The peer-comparison reference line on the portfolio chart is now cached for six hours instead of being recomputed on every owner page render, removing another 5–9 seconds from every cold load.

Bar profiles: cleaner empty-chart explainer for non-MBGR permits, plus stronger delinquency signal in audit risk fix

  • Bars whose permit type doesn’t file mixed-beverage receipts now show a clear explainer instead of a blank chart. Wine & beer retailers, package stores, beer-only permits and other off-premise license types never file Mixed Beverage Gross Receipts with the Texas Comptroller, so their monthly chart is permanently empty by design — the profile now explains that in plain English instead of rendering an awkward empty graph.
  • Delinquent badge added to the license info card. When a bar appears on the Texas Comptroller’s delinquent taxpayer list, the license card on every bar profile now shows a red “Comptroller delinquent” row with the date the establishment appeared on the list.
  • Comptroller delinquency now bumps audit risk to at least MEDIUM. Tax delinquency is, by itself, a documented audit trigger — the audit-risk score now always reflects that, even when other compliance signals are quiet.

Delinquent list now has search filters, sortable columns, clickable KPI bubbles, and a working map drilldown feature

  • Filter the delinquent roster by city, county, ZIP, or name/owner — the table narrows instantly as you type.
  • Every column header now sorts ascending/descending with a click, including the “Since” date.
  • The four KPI bubbles at the top are now real numbers from the live data — current count, counties affected, median months on the list, and top city — and each one opens a detail view (county breakdown, full county list, days-on-list histogram, top-10 cities).
  • The Texas map button drills into ZIP-level detail when you click a county.

Bar profiles now show 'sibling entities' — other LLCs sharing an officer or manager feature

  • Bar profiles now show “sibling entities” — other LLCs that share an officer or manager with this one. Quick way to spot multi-venue operators that don’t reveal a parent company on TABC paperwork.
  • On the license card of every bar profile, a new “Sibling entities” section expands to show up to ten other Texas venues whose filings name the same officer or manager. Each row links straight to the sibling’s profile and tells you which person connects them.
  • Owner pages get a matching “Related entities” card listing the LLCs / corporations across this operator’s network — useful for portfolio research, lender diligence, or just figuring out who really runs the place.
  • Commercial registered-agent services and individuals attached to thousands of unrelated filings are filtered out so the connections you see are meaningful.

Bar profile chart now respects the 12M/24M/5Y range buttons, with 24M and 5Y gated to Pro members fix

  • Bar profile chart now respects the 12M/24M/5Y range buttons, with 24M and 5Y gated to Pro members. Clicking a range button now reliably trims the sales-history chart and the “months reported” KPI to the window you asked for — no more 5-year history leaking back into a 12-month view.
  • Free visitors see the 24M and 5Y options marked as Pro and are routed to the pricing page when clicked, mirroring the behavior already in place on the bar analytics tab.

/compare now has SEO URLs and shows both bar names instantly, before charts finish loading feature

  • /compare now has SEO URLs and shows both bar names instantly, before charts finish loading. Compare links are now in the form /compare/<bar-name-city-permit>/<bar-name-city-permit> — readable, shareable, and indexable.
  • Old ?a=&b= links keep working — they now permanently redirect to the new SEO path, so existing bookmarks and shared links don’t break.
  • Both bar names render in the picker the moment the page loads — you no longer wait for a JavaScript fetch to finish before seeing which two bars are being compared.
  • The seasonality table no longer shifts column widths when one bar has fewer months of data; missing months render a clean “—” placeholder in a fixed-width cell.

Delinquent list now shows a county-rank chart, city-rank chart, and a Texas map of where bars are falling behind on taxes feature

  • The Delinquent Taxpayer list page now loads real data and visualizes it. Previously the page rendered mock rows; it now hydrates from the live Comptroller posting on every visit.
  • Two new bar charts at the top of the page: the top 10 counties by delinquent bar count, and the top 10 cities. Hover any bar to see the exact count.
  • A new Texas delinquent map button opens a full-state choropleth shaded red by how many bars are on the delinquent list in each county — same modal pattern as the audit-risk and violations rankings.
  • The hero KPI and digest line both reflect the current count instead of stale placeholder numbers.

Bar profiles now show the TABC red/blue sign and an "in business since YYYY" badge feature

  • Bar profiles now show the TABC Red/Blue sign classification (restaurant vs bar by food revenue), and a “In business since YYYY” badge for legacy operators — useful when sizing up establishments that have been around for decades.
  • RED sign means the operator must run as a restaurant with at least 51% of revenue from food. BLUE means alcohol is the primary draw. The chip appears in the hero next to the existing permit and category badges, only when the official classification is on file.
  • The license card now includes the original year the permit was first issued — distinct from the most recent renewal date. Operators issued before 1990 also get a small “Legacy bar” tag.

Compare two bars side-by-side with overlaid charts, quarterly growth, seasonality, and a verdict line feature

  • Compare two bars side-by-side with overlaid charts, quarterly growth comparison, seasonality table, and a verdict line — built for sizing the gap between any two operators. The compare tool now opens with a “who is winning right now” verdict line that calls out who’s ahead on trailing-12-month receipts and year-over-year growth in plain English.
  • The two single-bar revenue charts have been replaced by a combined overlay chart: both bars on the same axes, hover any month to see both values, the MoM change for each, and the month label.
  • A new 4-wide head-to-head metric grid stacks the two bars on TTM total, average monthly receipts, latest month, MoM%, YoY%, the 12-month low/high months, months reporting, and a beverage mix donut (liquor / wine / beer).
  • A QoQ growth comparison chart shows the last four quarters side by side, and a seasonality table breaks out average receipts by calendar month with green/red highlights for which bar wins each month.
  • A license & venue info table compares permit number, owner, address, county, all-time revenue, delinquency, audit risk, and peer rank in one place. Mobile collapses the grid to one column and the seasonality table scrolls horizontally.

Bar and owner profiles now show whether the operator clears the franchise tax filing threshold data

  • Bar profiles now show whether the operator’s alcohol revenue alone crosses the Texas franchise tax filing threshold — clarifying who definitely owes franchise tax versus who can file as no-tax-due.
  • Owner pages add the same indicator to the portfolio revenue KPI: when combined trailing-12 receipts across an operator’s bars clear the statutory threshold, the page now calls that out directly.
  • The audit-risk page adds a new filter for the strongest combination: bars whose alcohol receipts already exceed the franchise tax threshold while the underlying business entity is no longer in the active franchise tax registry. That combo bumps the bar’s audit-risk score and surfaces it as a top-priority review candidate.

Bar financials pages now show the real owner name, properly cased fix

  • Owner / licensee field on bar financials is now presentable. “KATERINA, LLC” now reads “Katerina LLC”; the location header reads “Katerina’s” instead of “KATERINA’S”.
  • Smarter source preference. We now prefer the registered owner name from the state license registry, fall back to the secondary license file, and only use the raw taxpayer name as a last resort — with title-casing applied everywhere so the page reads cleanly.

Restaurants and hotels are now labeled correctly throughout the site fix

  • No more calling Olive Garden a bar. Every mixed-beverage permit now carries a venue-type label — Restaurant, Hotel, Stadium/Arena, Brewery, Club, Event Venue, or Bar — that surfaces as a new chip on the profile hero alongside the existing category badge.
  • Why this matters. Roughly one in three “bars” on the site are actually full-service restaurants (Olive Garden, Red Lobster, Smashin Crab, Silo, Cuishe Cocina, etc.). Mixing those into bar peer groups distorts comparisons. The new label keeps them in the data but flags them as restaurants so you can read the page accurately.
  • SEO descriptions and the “What is this venue worth?” valuation header now use the right noun (“restaurant” / “hotel” / “venue”) instead of forcing “bar” on every profile.

New audit-risk signal: active franchise tax registry data

  • We now check every bar against the statewide active franchise tax registry. Bars whose business entity has gone inactive get flagged on the audit-risk page and on the bar profile with a new chip: “Entity not in active franchise tax registry.”
  • Why it matters. When the entity holding a TABC permit isn’t in the active franchise tax registry, it usually means the business is filing under a different shell, has dissolved, or has fallen off the rolls — all of which sharpen audit and closure risk.
  • Profile pages now show entity status. Every bar profile has a new “Entity registered” row in license info: Active or Not found, sourced from the current state registry.

Bars now show their real trade names, not corporate LLCs data

  • Bars now show their real trade names instead of corporate LLCs — refreshed from the state’s official license registry weekly. Search results, owner pages, county top-bar tables and the “nearby bars” comparison all now prefer the public-facing trade name from the official TABC license record. So “K-2 Steak House Inc.” shows up where it used to read “K-2 Steak House Lac,” and owner-LLC strings are no longer the headline name on a bar card.
  • The original mixed-beverage filing name is still kept as a fallback for the small number of permits that haven’t been matched to the registry yet.

County pages now show market context, not just numbers feature

  • County pages now show how each market compares to the statewide consumption trend — outperformers vs. laggards become obvious at a glance. The 12-month receipts chart on every county page now overlays the Texas statewide consumption trend as a dashed reference line, and the page calls out whether the county is outperforming, lagging, or tracking the market.
  • Statewide trend chip on the homepage. The receipts KPI on /bars now carries a small market-trend stat so the headline numbers always come with the question they should be answering: is this growth real, or is it just riding the tide?

New audit-risk signal: forfeited business entities data

  • Bars whose business entity has been forfeited or terminated are now flagged on the audit-risk page. Every Texas mixed-beverage permit is held by an LLC, corporation, or other business entity. When that entity loses good standing in the state business registry — forfeited, terminated, or inactive — the permit itself is at risk.
  • New chip on the bar profile. If the entity behind a permit is no longer in good standing, the bar profile now shows an “Entity forfeited / terminated / inactive” chip next to the existing delinquent indicator.
  • Weighted into audit-risk scores. A forfeited or terminated entity adds 25 points to the audit-risk score; inactive adds 10. Premium users can see this signal listed in the methodology on /audit-risk.

New audit-risk signal: liquor-tax vs sales-tax filings data

  • Two filings, one bar — we now compare them. Every Texas mixed-beverage permit files two separate monthly numbers with the state: a liquor-tax filing and a sales-tax filing. When the two diverge materially for the same month, that's a known audit-risk pattern. BoozeReports now surfaces it.
  • Flagged on the audit-risk page. Bars whose sales-tax filings come in 15%+ below their gross liquor-tax filings for three or more months in the last twelve are now called out directly on /audit-risk and on the bar profile page with a new chip: “Sales-tax filings significantly under gross.”
  • Drill-down per bar. Each bar page now has a month-by-month gross-vs-sales comparison available via API, so premium users can see exactly which months drove the flag.

One-click Texas map on eight more pages feature

  • Texas map button, everywhere it helps. The audit-risk, delinquent, top-violations, top-fines, top-performers, monthly-drop, cities, and categories pages each now have a “Texas map” button near the top that opens a fullscreen choropleth shaded for that page’s metric.
  • Same map idiom across the site. Hover any county for the page’s key number; click into /counties/<name> for the deeper drilldown. Map libraries only load on first click, so the rest of the page stays fast.
  • Color and feel match the rest of BoozeReports. Amber/brown choropleth, no overlay until you ask for it — the page stays a page, the map is one tap away.

Texas map on /licenses + new permits chart on county pages feature

  • License coverage map. The /licenses page now opens with a Texas choropleth shaded by active permit density. Hover any county for live counts of active, pending, and recently issued permits; click to zoom into ZIP-level density and filter the table to that ZIP in one move.
  • New permits chart on every county page. Below the receipts trend, every /counties/<county> page now shows a 12-month bar chart of newly issued active permits — so you can see at a glance whether a county is in expansion or consolidation.
  • Faster pages overall. The /bars and /counties/<county> pages are now cached in memory after their first build, so repeat visits are sub-second instead of running their full query fan-out every time.

Rent estimates now cover bars statewide via comparable-parcel inference data

  • Rent & occupancy estimates everywhere. Bar financial profiles outside the seven metros we match parcels in directly now infer rent from comparable parcels nearby — median rent-per-sqft across already-matched bars in the same ZIP, falling back to the same city, then the same county.
  • Per-bar footprint sizing. The rent is applied to a square-footage estimate derived from the bar's revenue tier (small, mid, large, premium), not a flat assumption — so a $300k neighborhood spot and a $3M nightclub get appropriately different occupancy lines.
  • Comp-source transparency. Where the rent comes from a comparable-parcel inference rather than a direct parcel match, the bar profile now shows the scope (ZIP, city, or county) and the comparable-parcel count, so the source is obvious.

Monthly Drop + Monthly Trends: clickable KPIs, locked long-range trends, aligned tables feature

  • Monthly Drop archive KPIs are now clickable. The four headline numbers at the top of /monthly-drop open drill-downs — every filing month with bars + statewide gross, a year-by-year bar chart of cumulative receipts, the latest month's top five movers, and how far back the archive reaches.
  • Per-month drop KPIs are now clickable too. On any /monthly-drop/<month> page, the four bubbles open the full top 25 gainers, top 25 decliners, top 25 new openings, and top 25 silent closures — not just the 10-row preview that's still shown below.
  • Monthly Trends table now matches the active range. Click 12M and the table below the chart shrinks to the latest 12 months. Pro members can switch to 24M or 5Y and see those exact rows.
  • Table headers and body now share fixed widths via colgroup and a fixed table layout so the column ruler stops drifting at narrower widths.
  • 24M and 5Y trend ranges are gated to Pro. Non-premium visitors see a PRO badge on those buttons; clicking either opens the pricing page with the relevant feature anchor.

Bar profile: revenue heatmap now renders live for nearby permits fix

  • The Heatmap button on a bar profile previously opened a placeholder panel. It now draws an interactive map showing every nearby permit color-graded by monthly receipts — brighter = higher revenue.
  • Pins are clickable: tap one to see the bar's name and gross receipts. The subject bar is anchored with a dark marker so it's easy to find on the map.
  • Falls back to an OpenStreetMap circle-marker view when Mapbox isn't available, so the heatmap still works regardless of map provider.

Counties + cities: MoM and YoY columns, tighter tables, smarter map tooltips feature

  • Month-over-month and year-over-year columns are now shown next to revenue on the counties and cities indexes — color-coded green/red and sortable like every other column.
  • Table headers now line up perfectly with their data on both indexes. Header and body cells share fixed widths so the column ruler doesn't drift as page width changes.
  • County and city detail pages now pull the “Vs other” comparison strip from live data instead of placeholder examples — every value reflects the latest complete filing month.
  • Hero choropleth tooltips now show MoM and YoY for each county on hover (when comparable history exists), and say “No bars filing this month” for counties with no current data instead of misleadingly reading “$0”.
  • KPI bubbles on city and county detail pages now have a clearer hover state so it’s obvious they open a drill-down.
  • Top-bars MoM/YoY column renders an em-dash with a hover hint when a bar's first filing is too recent for the comparison — no more blank cells.

Landing + pricing: audience-specific value props and full feature breakdown feature

  • Audience cards on the landing page now speak directly to real estate investors, commercial brokers, operators & hospitality groups, and researchers & distributors — with the diligence, comp, benchmarking, and market-research workflows each one actually runs.
  • County heatmap hover on the homepage now hints “click for full county details” on every county so it’s obvious the tiles are tappable.
  • Pricing page expanded with the features we’ve shipped this season — audit-risk score on every bar, AI briefings, the compare tool, property & rent estimates in the 7 enriched metros, the Monthly Drop archive back to 2015, choropleth drilldowns, owner portfolio profiles, 30+ category leaderboards, sortable tables and chart tooltips, and daily email triggers on saved bars. The side-by-side plan table now reflects all of it.

Top-bars rankings: narrow by city, county, ZIP, or category feature

  • Filter bar added to every statewide ranking page — Top performers, Biggest gainers, Biggest decliners, Top violations, and Top fines. Narrow any list to a city, county, ZIP code, or category (sports bar, cocktail bar, brewery, etc.).
  • Filters AND together, so you can ask “biggest gainers among Sports Bars in Harris County” or “top fines paid in ZIP 78704.”
  • Shareable URLs — the filter values are reflected in the query string so a narrowed leaderboard can be sent to a teammate or bookmarked.
  • Bigger result pool when filtered so a narrow geo still returns a meaningful top-N list (the underlying fetch is widened from 25 to 50–100 rows when any filter is active).

Bar analytics page: five new charts and best/worst markers feature

  • Peer comparison line overlays this venue against the category-county average so you can see who’s pulling ahead month over month.
  • Rank cards show where the venue sits across city, ZIP, county, and statewide — including the “top X%” percentile.
  • Beverage mix donut for the last 12 months at a glance — liquor, beer, and wine shares with totals in the legend.
  • Quarter-over-quarter growth bars highlight every up/down quarter relative to the previous one.
  • Seasonality bars average each calendar month across all available history, with the venue’s long-run average drawn as a dashed reference line.
  • Best / worst month markers are now annotated directly on the sales-history chart so the standout months read at a glance.

Licenses page: subscribe-to-alerts button restored, accurate cancel counts, working "Recently issued" tab fix

  • Subscribe to alerts button is back in the licenses header — one click to set up email watches for new permits, expiring licenses, and status changes in any ZIP, city, or county.
  • Recent cancellations counter now shows the actual count for the trailing 30 days (was reading 0 because it was keyed off the original-issuance date instead of the cancellation update).
  • “Recently issued” tab now filters to permits issued in the last 30 days, instead of every active row in the table.
  • Canceled tab populates with the most recent cancellations from the last 90 days — click through to the venue page for context.

Charts: hover any data point + a benchmark line on every trend feature

  • Hover any point on the statewide monthly-trends chart to see the exact figure and month label. Previously some points were static.
  • Trailing-average reference line now overlays the statewide trend chart — a dashed line at the 5-year (or 24-month / 12-month, depending on the range you pick) average so each month is instantly comparable to its long-run baseline.
  • Bar analytics chart now also draws the venue’s 24-month average as a dashed reference line, making boom and slump months obvious at a glance.
  • City, county, owner-portfolio, and bar-profile charts already had peer-average overlays — verified each is still working.

Violations map: click a county to see its ZIPs and individual venues feature

  • Click any county on the violations map to zoom in. The county now reveals its ZIP-code boundaries shaded by violation density and a pin for every venue with violations in that county.
  • Click a ZIP to zoom further: the map fits to that ZIP and the pin list narrows to only the bars inside it.
  • Hover any pin for the venue name, total violations, and the date of the most recent violation. Click to jump to that bar’s violations page.
  • Breadcrumb navigation at the top-left of the map (Texas › Harris County › 77007) — click any level to zoom back out one step.

Chains page: working tabs, paging, accurate county filter, populated headquarters column fix

  • Tabs now actually filter the list. “Largest”, “By revenue”, “5+ locations”, and “20+ locations” each re-sort and re-filter the table in place — previously they were decorative.
  • Paging: the table now shows 25 chains at a time with a per-page selector (25 / 50 / 100 / 200) and Prev / Next nav. The full 940-chain list is browsable without one giant scroll.
  • County filter accuracy: clicking a county on the map used to show a chain’s statewide venue count even when only a few of those venues were in the selected county. Now a new “In <county>” column appears showing the exact in-county count (e.g. Pappas Restaurants — 56 venues statewide, 3 in Bexar).
  • Headquarters column populated: every chain row now shows the city where the operator runs the most venues (was blank for every row).
  • Live KPI tiles: the four tiles at the top of the page (active chains, combined receipts, total locations, largest chain) are now computed from live data instead of a hard-coded placeholder.
  • Name + city search: a search box above the table filters by chain name or headquarters city as you type.

TABC licenses page: full filter bar, clickable KPI popouts, accurate status badges feature

  • New filter bar across the top of the licenses table: filter by city (with autocomplete), county, ZIP, permit type (MB / RM / BG / BQ / BP / B / D / P and friends), and status (Active / Pending / Expired / Canceled / Suspended). Owner / officer search remains and AND-combines with the rest.
  • KPI bubbles are now clickable. Active permits, Pending, Expiring 30d, Newly issued 30d, and Canceled 30d each open a popout with the top 25 records, ordered by the metric (e.g. soonest expiration first), each row linking straight to the bar profile.
  • Status badges now color correctly — green for active, amber for pending, red for canceled/suspended, gray for expired — and an expired permit no longer shows as Active when the expiration date is in the past.
  • Pagination + result count: a Showing X of Y counter at the top, Prev/Next at the bottom (25 per page), and a one-click Clear filters button.
  • Sort works on every column. Click any column header to sort ascending or descending, with an arrow indicator on the active column. The Type column header now also shows a tooltip with the full TABC permit-code legend.

Hover any data point to read the month and value feature

  • Every line chart and sales-history chart across the site now surfaces a hover tooltip pinned to the data point under the cursor — the exact month plus the value (and where applicable a month-over-month percentage and peer comparison).
  • The dot under the cursor is highlighted as you sweep so you always know which month you are reading. Charts on the homepage, the all-bars dashboard, individual bar pages (all date ranges), city and county trend pages, owner roll-ups, and the compare overlay all share the same interaction model.
  • No new clicks needed — just glide across the chart to scrub.

Violations & fines pages: clickable KPI bubbles, sortable tables, public per-bar violation history fix

  • Top violations: the four KPI bubbles at the top (Violations 12mo, Fines paid 12mo, Suspensions 12mo, Establishments cited) are now clickable. Each opens a drill-down popout with a top-15 list of the bars driving that number, plus a month-over-month delta line right on the card so you can see whether activity is accelerating or cooling.
  • The “Code” column on the recent & severe violations table now shows the actual offense code (e.g. 521, 522, 504) for filings where the source feed embedded the code in the description rather than its own column — previously this column read “—” for every row in 2026.
  • The recent-violations table is now sortable by Bar, City, Code, Date, or Bar total — click a column header to sort, click again to reverse.
  • Top fines: added four KPI bubbles at the top — cumulative fines (top 50), bars fined, biggest single fine, and the most-common offense code over the last 12 months. Each is clickable for a drill-down popout.
  • Clicking a row on the Top Fines table now takes you directly to that bar's Violations sub-page (not the bar overview), so you see the actual citation list in one click.
  • Per-bar Violations sub-page is now public — previously it 302-redirected free-tier visitors and bots to the pricing page. The data is sourced from public Comptroller and TABC filings, so it should be crawlable and linkable. Bars with no enforcement history show a “No TABC violations on record” empty state instead of redirecting.

Statewide map redesigned + click-to-drill ZIP density feature

  • The /map page is rebuilt in the cream-editorial design used across the rest of the dashboard: hero with eyebrow + display headline, a five-bubble KPI strip (counties tracked, monthly receipts, top county, bars indexed, statewide top bar), and a full-bleed choropleth of all 254 Texas counties shaded with the amber sequential scale.
  • Click any county to zoom in. The map rescales to that county's bounding box and loads a ZIP-level density overlay shaded by monthly receipts, with the side panel switching to a sortable ranking of every ZIP in the county (receipts, bar count, or A–Z).
  • Clicking a ZIP polygon jumps straight into Advanced Search filtered to that county and ZIP so you can see exactly which venues drove the density.
  • A “← Back to Texas” button returns to the statewide view without a page reload.

Categories index: clickable KPI bubbles with drill-down detail feature

  • The /categories page now leads with a row of four interactive headline bubbles — Categories tracked, Largest category, Fastest-growing, and Most permits — matching the affordance used on /counties and /cities.
  • Each bubble opens a focused detail panel: the full sortable category table (Categories tracked), the top-10 by 12-month revenue with the leading bars in that category (Largest), the top-10 by month-over-month change with the leading bars (Fastest-growing), or the top-10 by permit count (Most permits).
  • Keyboard and screen-reader accessible; Escape closes; click-outside closes.

County pages: clickable KPI bubbles, fixed MoM/YoY, and richer landing heatmap feature

  • The five headline KPI bubbles on every county page are now interactive. Click 12-mo receipts for a 12-month bar chart, Bars reporting for the top-20 leaderboard, Avg per bar for a revenue-bucket distribution, MoM change for a side-by-side compare with year-over-year, or Latest month for the next-release window. Each bubble has a discrete affordance and works with keyboard + screen readers.
  • The MoM card now shows actual month-over-month change with year-over-year underneath (previously stuck at 0% on some counties when the YoY anchor month wasn't in the trailing 12-month window).
  • The hero on a county page no longer slides under the top nav on mobile or wide viewports — the eyebrow and headline stay above the fold.
  • Hovering a county on the Texas heat map (landing page) now reveals momentum vs prior month, share of statewide receipts, and the single largest-grossing bar in that county for the latest filing month — not just gross and bar count.

Financials page: owner-income split defaults to real owner count + transparent footer logo fix

  • The Owner Income Estimator now defaults to the actual number of owners on file. Previously the “Number of owners” control was hard-coded to 2 on first paint, even on bars where we list 3, 4, or more officers up top. The page now reads the cached officer roster server-side and seeds the split (clamped 1–6) before render — so a four-officer LLC immediately shows a 25% / 25% / 25% / 25% split instead of 50/50. The plus / minus buttons still let you override.
  • Footer wordmark now renders with a transparent background so it sits cleanly on the cream footer instead of showing a white card behind the logo.

Top KPI bubbles on /counties now open detail pop-outs feature

  • The four headline numbers on the counties index page are now clickable. Counties tracked opens the full sortable list of all reporting counties with revenue, bar count, and average per bar. Statewide gross opens a 12-month bar chart of statewide receipts. Bars statewide opens a distribution chart showing how many counties fall in each bar-count bracket (1–9, 10–49, 50–99, 100–499, 500–999, 1,000+). #1 county opens a summary card with monthly gross, share of state, MoM change, the top single bar in that county, and the top-5 leaderboard.
  • Each pop-out also includes a direct link to the relevant full breakdown — e.g. the top-county modal links straight into that county's detail page.

Bar profile: clickable hero KPIs and category-chip hover summary feature

  • Click any of the four KPI tiles at the top of a bar page — latest receipts, trailing 12, liquor split, or per-open-day — to open a detail view. Latest receipts shows a 12-month bar chart plus month-by-month MoM. Trailing 12 shows a year-over-year comparison once enough history is reported. Liquor split breaks out liquor / wine / beer dollars and shares with a 12-month trend. Per open day plots the daily run-rate and compares this bar to its category average.
  • Hover the category chip (e.g. “Stadium / Arena”, “Sports Bar”, “Hotel Bar”) to see how many Texas venues are in that category, total trailing-12 receipts, average per venue per month, this bar’s rank inside the category, and the top venue. One-click jump to the full category list.

Financial pages: interactive KPI bubbles with month-over-month detail feature

  • Every KPI bubble at the top of a bar’s financial page now shows month-over-month context directly under the number — latest MoM%, latest vs average, estimated annual net, and blended valuation multiple. No clicks needed to see whether the latest filing is up or down.
  • Click any bubble for a pop-out detail view. Annual gross opens the full 12-month chart plus a month-by-month table with MoM% for every row. Avg monthly shows the same with latest-vs-average highlighted. Net margin explains how the cost model is built. Acquisition range breaks out the three valuation methods (revenue multiple, SDE multiple, cap rate) and how they blend.
  • Hover any point on the receipts chart to see the month label, the dollar value, and the month-over-month change — consistent with how the main bar page chart already behaved.

Audit-risk page: filter by ZIP, county, and city feature

  • Three new filters on the audit-risk dashboard — a ZIP code box, a county dropdown, and a city dropdown sit next to the existing name search. Pick any combination and the table narrows in place; the High / Medium / Low / Recent-change tabs still apply on top.
  • Counties and cities populate automatically from the bars currently scored, alphabetical. ZIP filtering does a prefix match so you can type the first 2–3 digits and see a whole region.

Owner profiles now lead with portfolio revenue and a richer brief feature

  • Every owner profile now opens with total portfolio revenue across all venues. The hero shows trailing-12-month receipts and venue count side by side, plus a prominent KPI card — you can see how big an operator is before scrolling.
  • Portfolio brief is longer and covers more. It now describes geographic spread (cities and counties), the largest venue and its share of the total, average revenue per venue, the most recent month-over-month and year-over-year move, and the dominant category — or how many categories the owner operates across.
  • Corporate owners with punctuation in their name now resolve correctly. URLs like /owner/levy-premium-foodservice-llc previously showed zero venues for taxpayers stored as “L.L.C.” in the source data; the slug matcher now strips punctuation on both sides of the comparison, and trailing-dash slugs are handled too.
  • Hero no longer hides behind the top navigation. Owner pages now match the county-page padding so the title and eyebrow always clear the sticky topnav on first paint.

Interactive Texas map on county pages + real "how they stack up" on bar profiles feature

  • Every county detail page now has a live, hoverable Texas map. It replaces the static outline that used to sit in the hero. Hover any of the 254 counties to see monthly receipts, bar count, MoM change, and statewide share; click to jump straight to that county's detail page. The county you're viewing is outlined in teal so it's easy to find at a glance.
  • Bar profile “How they stack up” now shows real percentiles. Used to render dashes — now every bar profile reports its rank against city, ZIP, county, and statewide peers by trailing-12-month gross receipts. Format is “Top X% · #N of total” so you can tell at a glance whether a venue is a leader or a long-tail operator in each context.

Dedicated /monthly-trends page, county names everywhere, working "New" tab on /bars feature

  • /monthly-trends is now its own page, not a redirect into /bars. You get a hero summary of the latest month, a five-year statewide receipts chart (with 12M / 24M / 5Y range buttons), and a full table of every complete month on record — total receipts, month-over-month change, and bars reporting.
  • County names show everywhere instead of internal numeric codes. Top performers, biggest gainers / decliners, and the “Largest bars” table previously showed values like “101” or “108” in the county column on some pages. Resolution is now done server-side so the table cells, the bar profile breadcrumb, and the JSON used by the search palette all read “Harris” / “Hidalgo” / etc.
  • The “New” tab under Today’s movers on /bars now populates. It surfaces the six largest establishments whose permit appears for the first time in the latest complete filing month, ranked by that month’s revenue.

Sharper landing-page stats: real new permits, working $1M list, taxes pop-up cleanup fix

  • “New permits in last 30 days” now excludes renewals. The bubble used to count every bar whose paperwork happened to be re-stamped in the last month, which inflated the number into the thousands. It now only counts establishments that genuinely appeared for the first time — closer to ~1,800 statewide.
  • “Bars over $1M” pop-up now lists actual matching venues. The headline number on the bubble is computed over a rolling 12 months, but the pop-up was running a single-month query — so the list felt empty. The pop-up now opens the same trailing-12-month list, with the count in the footer matching the bubble exactly.
  • “Behind on taxes” pop-up: clearer column + month-over-month trend. The Texas Comptroller publishes who is on the delinquent list but not the dollar balance owed — the pop-up now shows “Amount n/a” with a footnote explaining why, instead of a misleading blank. The bubble will start showing a month-over-month up/down arrow as soon as we have 30 days of count snapshots in hand.

Dashboard stat pop-ups: working YoY trend, clearer language, aligned tables fix

  • Year-over-Year now opens with data and a plain-English label — clicking the YoY stat on /bars now shows a 12-month bar chart plus a table comparing each month's receipts to the same month one year earlier. Title reads “Year-over-Year growth (this month vs. same month last year)” so it's obvious what you're looking at.
  • Numeric columns line up in every stat pop-up — column headers in the Receipts, YoY, and Average-per-venue pop-ups are now right-aligned over their numbers, so dollar amounts and percentages line up cleanly under their titles.
  • Cleaner county URLs from the homepage and dashboard — every county link on the landing page and /bars now uses the readable /counties/<name> form (for example /counties/harris) instead of internal lookup codes.

Ranking tables now show street addresses, not permit numbers feature

  • Easier to recognize a bar at a glance — the sub-line under each bar name on /performing-bars, /biggest-gainers, /biggest-decliners, /top-fines, and /top-violations now shows the venue's street address instead of its TABC permit number.
  • Permit numbers still searchable — you can still find a bar by permit via the top-nav search; we just moved it out of the visual hierarchy where it wasn't pulling its weight.

Pricing page: buy buttons now launch checkout fix

  • Start 7-day trial now works — clicking the Pro CTA on /pricing reliably opens secure checkout instead of showing an error.
  • Clearer plan-unavailable message — if a billing cycle is temporarily disabled, you'll see a plain-English notice instead of a 500.

Statewide financial intelligence + faster, more reliable pages data

  • Financial enrichment expanded beyond San Antonio & Houston — five more major metros now show landlord, building value, and rent-vs-revenue scenarios on bar profiles: Dallas, Fort Worth (Tarrant), Austin (Travis), Williamson, and Denton. Every Texas bar with at least $100k in trailing-12-month receipts is queued for enrichment.
  • Smarter bar categories — Every venue now carries a confidence score behind its category. Low-confidence guesses get re-checked automatically so the labels keep getting sharper over time.
  • Faster & more reliable — A connection-pool fix means the site recovers in seconds from any upstream database hiccup instead of returning errors.
  • Cleaner SEO URLs everywhere — Every internal link to a bar now uses its canonical slug URL directly (no redirect hop), preserving search-engine ranking signals.
  • Related counties on every county page — The county comparison strip now shows real peers with revenue, bar count, MoM trend, and a clear “X% bigger/smaller” vs. the county you're viewing.
  • Charts on /counties pages restored — All county pages now render their monthly trend chart and top-bars table correctly.
  • Top-nav autocomplete actually navigates — Clicking a search result now opens that specific bar's page reliably.
  • /cities pages: real MoM & sort — Each top-bar row now shows its month-over-month change colored green or red, and every column sorts when clicked.
  • Pricing page works end-to-end — Monthly/yearly toggle now flips prices and the buy buttons launch real Stripe checkout.
  • Contact form on /about — “Email the team” opens a real contact modal with hCaptcha protection instead of a mailto link.

Major design + intelligence overhaul feature

  • New cream-editorial design across every page — calmer typography, more breathing room, focus on the data.
  • AI briefings on every page — statewide, top 30 cities, top 30 counties, and top 100 bars now each get a 2-sentence editorial summary, with a baseline fallback while AI is generating.
  • 9 KPIs at /bars — Receipts, YoY, Bars over $1M, Avg per venue, New permits, Venues reporting, Pending applications, Behind on taxes, TABC violations. Each opens a drill-down on click.
  • Per-bar peer comparison — Each bar's monthly chart now shows a dashed line for the average of its category in the same county, so you can instantly see if a venue is over- or under-performing.
  • Search restored — /advanced-search has all the filters back (city, county, ZIP, owner, permit, min/max receipts, license status, delinquent, include archived). Pro-only filters now carry a clear badge.
  • SEO-friendly URLs — /biggest-gainers, /biggest-decliners, /top-violations, and /top-fines now live at clean paths instead of ?mode= query parameters.
  • Sortable tables — Every table sorts when you click a column header.
  • Monthly Drop archive — /monthly-drop now lists every TABC filing month back to 2015. Click any month for top gainers, losers, new openings, and silent closures.
  • Hover tooltips on charts — Every chart now reveals month + dollar amount when you hover over a point.
  • Top-nav search works on every page — Type a query, press Enter, and you land on /advanced-search.
  • Bar profile detail pages — New tabbed nav (Overview / Financials / Analytics / Violations / License history) shared across all per-bar URLs.
  • Owner profiles improved — Real portfolio data, real combined-receipts chart, fixed Texas map, clickable officer cross-references.

My Dashboard: quick filter + per-bar alerts feature

Three upgrades on /my-dashboard: a quick-filter box above your saved bars (type a name, city, or note keyword and the list narrows instantly), a bell-icon Alerts button on every saved bar (one click pre-fills an email alert subscription for that permit), and the layout stacks cleanly on mobile so Fresh Signal sits above your bar list.

Changelog Atom/RSS feed feature

Subscribe to releases at /changelog/feed.xml. Includes the latest 50 entries; readers and AI agents can pull incremental updates without scraping the HTML page.

Every KPI bubble now pops out with stats feature

On /counties, /violations, /licenses, /audit-risk, /categories, /top-violations and /delinquent-list, clicking any KPI bubble opens an in-place panel with breakdown stats, ranked comparisons, and a quick action button. No more bubbles that just sit there or scroll to a table.

/categories KPIs open inline pop-outs feature

Clicking Top Category / Fastest Growing / Largest Decline used to navigate to a separate /categories/ page. They now open an in-place modal with the category's revenue share, MoM/YoY vs the category average, ranking among all 27 categories, top 5 by revenue, top 3 bars in that category, plus a 'Full category page →' button if you still want the full view.

Email alerts now actually deliver feature

Subscribers get a digest only when there's new activity in their scope (no zero-news emails), with daily / weekly / monthly cadence. Two-permits-per-business duplicate rows are collapsed into single entries.

Counties Top County click — restored fix

Clicking the Top County KPI on /counties used to show a blank panel. Now it loads that county's top bars correctly.

Violations KPIs — no more blank clicks fix

Total Violations and Establishments KPIs used to render nothing on click. They now open breakdown pop-outs. Suspensions and Fines still apply the matching severity filter.

Licenses KPI MoM — this month vs last feature

Each /licenses KPI (Pending New / Recently Issued / Renewal Pending) now shows how many entries happened this calendar month vs last, with a percent delta and color (green up, red down).

Categories KPIs — comparison context feature

Top Category, Fastest Growing, and Largest Decline now show what they're compared against — Top Category includes its share of all-categories revenue; Fastest/Decline include the YoY category average.

Footer + missing nav on /top-violations + /categories fix

Both pages were missing the standard footer. Added.

Changelog page no longer asks logged-in users to log in fix

Logged-in users were sometimes routed to /login when visiting the changelog page. Fixed.

Mobile polish on new pages feature

/changelog, /pending-license/, and /alerts got dedicated breakpoints — narrower padding, smaller hero titles, single-column action buttons, full-width CTAs.

New logo + favicon feature

Refreshed brand mark — Texas outline with an up-and-to-the-right chart, on a navy card. New favicon set (16 / 32 / 96 / 192 / 512 + ICO + apple-touch-icon), new logo wordmark across the nav and footer. The old 'BR' chip is retired.

Better empty-state on non-mixed-beverage permits fix

Convenience stores and other beer/wine off-premise permits don't file mixed-beverage receipts, so charts came back empty. We now explicitly say so in the chart slot, the monthly table, and the KPI strip instead of showing blank graphs.

License status badges on every bar feature

Each bar profile now shows a colored status chip in the hero — Active, Renewal Pending, Surrendered, Suspended, Expired, etc. The pending-application page picks up the actual TABC status (Received / Pending — In Review / Protested / Withdrawn / Issued) and recolors accordingly.

Email alerts · violations, new licenses, delinquent feature

New /alerts page lets you subscribe to email digests for new violations, new pending license applications, additions to the delinquent list, and license-status changes on a specific permit. Scope by ZIP, city, county, statewide, or single permit. Pick daily / weekly / monthly. Subscribe CTAs added to /violations, /delinquent, /licenses, /bar/, and /pending-license — clicks from a bar or pending page prefill the alert as a per-permit subscription.

KPI boxes clickable across the dashboard feature

Several KPI cards that just sat there are now interactive. /bars Cities opens history; /counties Top County loads that county's top bars; /performing-bars #1 / Fastest / Decline open the bar's profile; /categories Top / Fastest / Decline jump to that category page; /audit-risk High and Medium filter the table to that risk level.

Pending license detail page feature

URLs like /bar/...-PEND-* used to redirect to /bars. Now they route to a dedicated /pending-license/ page that shows the application timeline (filed → public notice → protest deadline → expected decision), TABC Rule §33.27 protest instructions, and a Share button. Per-bar alert subscription works from this page too.

Changelog page feature

Public /changelog page with every feature, fix, perf win, and data update we ship. Linked from the footer. Updated as part of every release.

Licenses · Stale chips + County map feature

Pending New applications now show colored stale chips (30+/60+/90+/180+ days) with two filter rows above the table — show only X+ days, or hide X+ days. Added a Map button next to search that opens a Texas county choropleth modal; click any county to drill into ZIP-level breakdown and the actual license list.

Pending license pipeline — fixed data

The Pending New tab was missing real new applications. We now ingest the full pending-application dataset from TABC, so brand-new permits in review show up on the day they're filed. Nearly 1,000 active pending applications surfaced as part of this change.

Licenses tabs — 3 clean tabs feature

Collapsed the old 5-tab layout down to 3: Pending New (truly new applications), Recently Issued (last 30 days), Renewal Pending (existing bars renewing).

ZIP code search everywhere feature

Search by ZIP on Licenses, Delinquent, Violations, and Audit Risk. Pure-digit queries (3-5 chars) auto-route to a ZIP prefix match; full-text search still works for names, permits, addresses.

Mobile dashboard — nav drawer fix

/my-dashboard on mobile had no way out. The desktop nav links were hidden below 768px but the hamburger button and mobile menu were missing from the template. Added them.

/bars · Cities KPI is clickable feature

The Cities box on /bars now shows MoM change and opens a history modal with monthly counts going back 12 months (24 / 60 for premium). Was the only KPI on the strip that wasn't interactive.

Stale landing page · search graphs · advanced-search speed perf

Three speed wins shipped together: trend graphs no longer repaint while you're typing in the search box; advanced search results return faster; and the homepage no longer occasionally shows last week's stats to first-time visitors.

Blocklist hides taxpayer's full portfolio feature

Search blocklist used to hide a single permit. Now it hides every permit sharing that taxpayer name.

Async search logging perf

Search latency dropped meaningfully on slow connections — the search log no longer blocks the query response.

/bars: unify chart typography fix

Standardized font family / sizing across the bars, counties, and city charts so they no longer look like they came from three different products.

Search · 200× faster (6s → 0.03s) perf

Search results return roughly 200× faster — queries that used to take ~6 seconds now return in tens of milliseconds.

Self-hosted fonts feature

Inter, Fraunces, and JetBrains Mono are now served from our own CDN — faster first paint, no external DNS lookup. Also allowed hCaptcha in CSP so the login challenge actually renders.

Officer names → owner profile feature

On bar financials, officer names are now clickable links to the owner profile page.

Anti-scrape · rate limits fix

Seven high-value endpoints now have per-IP rate limits. Real users clicking around won't notice; scrapers iterating thousands of permits per minute will.

Restaurant valuation card feature

Financials page now estimates full-business value for restaurants (not just the bar/liquor sliver).

Full-text classifier + Event Venue category feature

Classifier nudges fixed several systemic mislabels. Added an Event Venue category.

Login soft-fails hCaptcha fix

When the hCaptcha widget failed to load, the login form would just hang. Now it soft-fails and lets you sign in.

Mobile audit · overflow guards fix

21+ templates got a defensive overflow guard so wide search tables on small screens no longer push the page wider than the viewport.

Admin · Logout from inside admin feature

Admin pages got a Logout link + signed-in-as username in the header. Was no way out without going back to /.

Hide signup CTAs from logged-in users feature

14 signup CTAs across about, privacy, terms, city_landing, map_beta, landing, and pricing now hide for authenticated users.

Bar profile + /counties · first-vs-last trend perf

Trend arrows on bar pages and /counties now compare first observation to last — used to be bucket-averages which produced weird false negatives.