← All ideas

DineSafe AU β€” Restaurant Food Safety Fines & Hygiene Ratings

Aggregate Australia's fragmented food-safety penalty registers and Brisbane's Eat Safe star ratings into per-venue and per-suburb pages β€” the only dedicated competitor has been dead since 2017, and current penalty notices are invisible in Google.

Quick Stats

Metric Value
Generated 2026-08-10 by Claude Fable 5
Est. Pages ~9,500 (only pages passing content depth threshold: 8,010 Brisbane venues + ~190 Brisbane suburbs + ~750 rolling NSW offence venues + 128 NSW LGA hubs + state/weekly hubs)
Build Time 3 weeks
Competition 🟒 Low (only dedicated aggregator, Got Gastro, dead since 2017)
YMYL? Yes-adjacent β€” public-health topic; mitigated because every claim cites official .gov.au registers verbatim (βˆ’5 applied to score)
AI Overview Risk 🟒 Low–Medium
Content Depth 10+ data points/page (best case) / 5 (worst indexed case β€” conditional generation)
Data Sources 4 combined (NSW Food Authority registers, Brisbane Eat Safe API, VIC/WA/SA/ACT convictions registers, ABS suburb data)
Data Access Free API (Brisbane, CC BY 4.0) + Gov register scraping (NSW, no blocking)
Revenue Model Display ads + food-safety course affiliates
Data Cost Free
Est. Monthly Revenue $800 (at ~50K visits)
Weighted Score 51/75 (56 βˆ’ 5 YMYL modifier)

1. The Opportunity

Problem Statement

Australians have no way to check a restaurant's food-safety record. NSW publishes a name-and-shame register of penalty notices (758 live records as of 28 Jul 2026, ~950 new per year) and Brisbane star-rates all 8,010 of its food businesses, but this data is scattered across clunky government pages with no suburb browsing, no venue history, and no cross-state view. A restaurant can rack up four penalty notices in one day (verified: Maya Da Dhaba, Redfern, May 2026) and remain completely invisible in Google search results for its own name.

Why Now?

Search Demand Evidence

AI Overview Analysis

Entity queries ("[restaurant] food safety record") need fresh, dated, per-venue register data that changes weekly and legally expires after 12 months β€” AI Overviews can't hold this and are conservative about naming businesses in negative contexts. Definitional head terms ("what is scores on doors") will be absorbed by AI Overviews β€” the site should not target them. Main SERP risk is actually the .gov.au registers' own authority, beaten via suburb rollups, venue histories, and cross-state views the registers don't offer.


2. Data Sources

Source Data Available Access Method Rate Limits Reliability Verified?
NSW Register of Penalty Notices 758 live notices: trade name, suburb, council, address, offence code + description, circumstances, penalty $, dates HTML scrape (50 rows/page Γ— 15 pages + per-notice detail pages) None encountered High βœ… Tested (full scrape test)
Brisbane Eat Safe permits 8,010 venues: business name, address, suburb, phone, eat_safe_rating (0–5), permit category Opendatasoft JSON API + CSV, CC BY 4.0, updated daily Generous High βœ… Tested (API)
NSW Register of Prosecutions ~15 prosecutions: convicted party, decision, court HTML scrape None Medium (messy cells) βœ… Tested
VIC Register of Convictions 15 convictions w/ court, fine, offence detail HTML scrape None Medium (site just migrated to Safe Food Victoria β€” URL churn) βœ… Tested
WA Offenders List ~40 convictions (details in PDFs) HTML + PDF parse None Medium βœ… Tested
SA Food Prosecution Register Currently 1 record HTML (needs browser UA β€” WebFetch 403s) None Low (near-empty) βœ… Tested
ACT Food Offences Register 0 current records HTML None Low βœ… Tested (empty)
ABS suburb demographics Population, dwellings per suburb (context enrichment) Free API, SDMX-JSON Generous High Reference-verified Jan 2026

Data Acquisition Notes

Enrichment Source Map (from Phase 4h)

PRIMARY SOURCE: NSW penalty register + Brisbane Eat Safe API β†’ 8-10 fields per venue
  β”œβ”€β”€ ENRICHMENT 1: VIC/WA/SA/ACT convictions registers β†’ 5-7 fields (join: business name + address)
  β”œβ”€β”€ ENRICHMENT 2: ABS demographics β†’ 3 fields per suburb (join: suburb/postcode)
  β”œβ”€β”€ ENRICHMENT 3: Cross-register repeat-offender linking β†’ offence history count (join: entity name/ABN)
  └── TOTAL: 10-13 unique data points per venue page; suburb pages aggregate 10+ venues each

Why these sources prevent thin pages: A venue page combines identity, rating, every offence with dollar amounts and dated circumstances, plus repeat-offender history β€” none of which appears together anywhere, including on the source registers themselves (which show one notice at a time with no venue rollup).

Data Coverage Gaps


3. Page Architecture

URL Patterns & Scale

Pattern Template Example URL Est. Pages
Venue (Brisbane) /venue/[slug]/ /venue/bounce-brisbane-george-st/ 8,010
Venue (NSW offenders) /venue/[slug]/ /venue/maya-da-dhaba-redfern/ ~750 rolling
Suburb (Brisbane) /eat-safe/[suburb]/ /eat-safe/fortitude-valley/ ~190
LGA hub (NSW) /fines/[council]/ /fines/city-of-sydney/ 128
State hub + registers /[state]-food-safety/ /nsw-food-safety/ 8
Weekly update /new-fines/[year]-week-[n]/ /new-fines/2026-week-32/ 52/year
Rankings /worst/[city]-[year]/ /worst/sydney-2026/ ~20

Page Template Structure

/venue/maya-da-dhaba-redfern/
β”œβ”€β”€ H1: Maya Da Dhaba β€” Food Safety Record (Redfern, NSW)
β”œβ”€β”€ Hero: current status badge, total penalties, $ total, last offence date
β”œβ”€β”€ Section 1: Offence table (date, offence, penalty $, status, source link)
β”œβ”€β”€ Section 2: What the offences mean (offence-code explainers)
β”œβ”€β”€ Section 3: Other venues in Redfern / this LGA (internal links)
β”œβ”€β”€ Sidebar: ad unit + "report an error" (links to official register correction process)
└── Footer: breadcrumbs, disclaimer ("penalty notice is not an admission of liability"), register citation + retrieval date

Sample Page with REAL Data (from Content Depth Gate 4g)

URL: /venue/chinatown-noodle-restaurant-chatswood/

Title: Chinatown Noodle Restaurant Chatswood β€” Food Safety Penalty Record | DineSafe AU

H1: Chinatown Noodle Restaurant, Chatswood: Food Safety Record

Data points displayed (all REAL, pulled from the NSW register during research):

# Data Point Value (REAL) Source
1 Trade name Chinatown Noodle Restaurant Chatswood NSW penalty register
2 Address Shop 20/427-441 Victoria Ave, Chatswood 2067 NSW register detail page
3 Council Willoughby NSW register
4 Offence date 20 May 2026 NSW register
5 Offence Fail to display potentially hazardous food under temperature control β€” previous warnings given (code 11339) NSW register
6 Penalty $1,980.00 NSW register
7 Party served Jiahe Trading Australia Pty Ltd NSW register
8 Notices on record 2 current notices NSW register (entity rollup)
9 Published / status 21 Jul 2026, current (expires ~Jul 2027) NSW register
10 Suburb context X food-safety notices in Willoughby LGA last 12 months Computed from register
11 Suburb population Chatswood β‰ˆ 24,913 ABS

Unique narrative content (~200+ words): Auto-generated but data-driven β€” e.g. "Chinatown Noodle Restaurant in Chatswood received a $1,980 penalty notice on 20 May 2026 for failing to keep potentially hazardous food under temperature control, an offence the NSW Food Authority notes came after previous warnings. It is one of two current notices against operator Jiahe Trading Australia Pty Ltd, and one of [N] current notices in the Willoughby council area…" plus offence-code explainer paragraphs (what temperature control means, typical causes) drawn from a hand-written library keyed to the ~50 distinct offence codes.

Interactive elements: - Sortable suburb/LGA league table (venues Γ— penalties Γ— $ totals) - "Check a venue" search box across all registers

Internal Links: - Same-LGA venues: 5-10 links per page - Suburb β†’ LGA β†’ state breadcrumb chain; weekly-update pages link every new venue

Worst-Case Page (Sparse Entity)

URL: /eat-safe/karana-downs/ (outer-Brisbane suburb, few venues)

# Data Point Value (REAL pattern) Source
1 Rated venues Full list of permitted venues (even 3-5 in small suburbs) Brisbane API
2 Star ratings Each venue's 0-5 rating Brisbane API
3 Category mix Permit categories (cafΓ©, takeaway, mobile) Brisbane API
4 Suburb average Mean star rating vs Brisbane-wide 3.8 Computed
5 5-star share % of venues rated 5 Computed
6 Nearby suburbs Adjacent suburb ratings Computed

Thin page strategy: Conditional generation. Brisbane suburbs always pass (every venue is rated, so even clean/small suburbs have full data tables). Outside Brisbane: venue pages ONLY for venues with register records; suburb pages ONLY where β‰₯1 current record exists, otherwise the LGA hub is the terminal page (all 128 NSW LGAs have historical data). No VIC/WA/SA/ACT suburb pages at all β€” those states get one state hub page each listing their handful of convictions.


4. Competitor Analysis

Top 5 Competitors

# Competitor Domain Monthly Traffic DR Indexed Pages
1 Got Gastro (dead) gotgastroagain.com ~0 (HTTP 522) n/a 0
2 NSW Food Authority foodauthority.nsw.gov.au High (gov authority) 70+ (gov) Register pages only
3 Brisbane CC Eat Safe search brisbane.qld.gov.au Medium (gov) 80+ (gov) Search widget, no browse pages
4 Hospitality trade press hospitalitydirectory.com.au etc. Episodic spikes 40-60 Story-by-story
5 AI-content blogs accio.com et al. Low (unverified) Low Thin summaries

Traffic estimated via: SERP observation + SimilarWeb lookups + direct fetch (Got Gastro dead).

Detailed Competitor Breakdown

Got Gastro

NSW Food Authority register (the real incumbent)

Gap Analysis Summary

Gap Type What's Missing Your Solution
Data Venue-level history + cross-state view Entity resolution across registers, offence rollups
Coverage Browsable suburb/LGA pages 190 Brisbane suburb + 128 NSW LGA hubs
UX Register pagination hell Search + sortable league tables
Features Weekly "new fines" digest Auto-generated weekly pages + email digest

5. Your Unique Positioning

The Angle

The consumer-friendly front-end for Australia's food-safety enforcement data: check any Sydney/NSW venue's penalty history and any Brisbane venue's hygiene star rating in one place, browse suburb league tables, and see this week's new fines β€” with every record cited to, and expiring with, the official government registers.

Competitive Moat

Weak-to-moderate: the scrapers are replicable, but the compounding assets are entity resolution across registers (repeat-offender histories), the accumulated weekly-digest archive, and news-jacking authority (journalists citing the site's league tables = backlinks). First-mover in a niche whose only player died eight years ago.

Positioning Statement

For diners and local-news readers in NSW and Brisbane who want to know a venue's food-safety record, DineSafe AU is the hygiene-record aggregator that shows penalty histories, star ratings and suburb rankings in one place, unlike the official registers which show one disconnected notice at a time and delete them after a year.


6. Monetization Strategy

Channel How It Works Revenue/Unit Est. Monthly
Display ads AdSense β†’ Mediavine Journey at 1K sessions $8–25 AUD RPM blended $600
Food handler course affiliates AIFS/CFT/EOT certificates ($33–$179) β€” programs UNVERIFIED, direct partnerships likely needed ~10-15% est. $150
B2B side door Pest control / food-safety consultant leads; data feed for hospitality insurers Speculative $50

Revenue Assumptions

Affiliate/Partner Opportunities

Licensing & Regulatory Check


7. Technical Implementation

Key Technical Decisions

  1. Static vs Dynamic: SSG rebuilt daily (Brisbane API is daily; NSW weekly) β€” cron-triggered CI build.
  2. Data refresh: Daily Brisbane sync; weekly NSW scrape via /week page (18-row incremental, tested); monthly full reconcile + expiry sweep (delete/archive-noindex records the registers removed β€” legally required behaviour).
  3. Search/filtering: Client-side index (Pagefind) β€” 10K pages is comfortably within range.

API/Data Integration

1. Daily: GET Brisbane Opendatasoft API (paginated) β†’ upsert venues + ratings
2. Weekly: scrape NSW /offences/penalty-notices/week β†’ fetch new detail pages β†’ upsert
3. Weekly: diff NSW corrections page β†’ apply corrections/removals
4. Monthly: scrape VIC/WA/SA/ACT registers (tiny) β†’ upsert
5. Entity resolution: match on (normalised trade name + address); manual review queue for fuzzy matches
6. Expiry sweep: any record no longer on its source register β†’ mark expired β†’ page shows "no current notices" or 410s
7. Astro build β†’ Cloudflare Pages deploy

Indexing Strategy


8. Launch Checklist

Week 1: Foundation

Week 2: Scale

Week 3: Polish & Launch


9. Risks & Mitigations

Risk Likelihood Impact Mitigation
Defamation claim from stale/incorrect record Medium High Strict expiry sync with source registers; "alleged / not admission of liability" wording; correction flow; never archive expired notices publicly
NSW blocks scraping or restructures site Medium High Low-volume weekly scrape; VIC site just migrated (URL churn precedent) β€” monitor with schema tests; Brisbane API is the stable backbone
Thin national coverage disappoints users High Medium Position explicitly as NSW + Brisbane; add states only when registers fill
Google favours .gov.au for head terms High Medium Target venue/suburb long-tail + weekly news content, not head terms

Data Source Risks

Competitive Risks

Google Algorithm Risks

Thin Content Risk Assessment

Metric This Site Safe Threshold Status
Data points per page (best case) 11 β‰₯ 8 βœ…
Data points per page (worst indexed case) 6 β‰₯ 5 βœ… (conditional generation)
Unique words per page (avg) 250 β‰₯ 200 βœ…
Data sources combined 4 β‰₯ 2 βœ…
Pages below threshold (est. %) ~0% (below-threshold pages are never generated) < 20% βœ…
Thin page strategy Conditional generation + LGA aggregation Must have one βœ…

Area Requirement Action
Defamation Truth + fair-report defences strongest while records are live and verbatim Verbatim republication, source citation + retrieval date on every record, statutory expiry honoured
ACCC / ACL Must not mislead about current hygiene status "Alleged" wording; penalty β‰  admission of liability disclaimer; show record status
Privacy Registers name individuals (sole traders) Republish only what the register publishes; remove when source removes
Copyright Brisbane CC BY 4.0 βœ…; NSW/VIC/WA Crown copyright, no explicit bulk licence Attribute everything; legal review pre-launch; facts themselves aren't copyrightable
Affiliate disclosure Required Site-wide disclosure component

Domain Name Suggestions (with availability check)

Domain Status Notes
dinesafe.com.au Likely Available Brandable; "DineSafe" is the proven Toronto model name
kitchenscore.com.au Likely Available Works if ratings expand nationally
cleanplates.com.au Likely Available Consumer-friendly, positive framing
foodfines.com.au Likely Available Exact-intent for the penalty angle
safeplates.com.au Likely Available Neutral alternative
hygienecheck.com.au Likely Available Generic but descriptive
scoresondoors.com.au Likely Available Matches NSW program name (check trademark before use)
foodsafescores.com.au Likely Available Fallback

Availability checked via DNS (NS/SOA) on 2026-08-10. Confirm at registrar before purchasing.


11. Post-Launch Strategy (Months 2-12)

Content Maintenance

Monitoring

Expansion Playbook


12. Success Metrics

Timeframe Traffic Goal Revenue Goal Key Milestone
Month 3 8K visits $80 80% of pages indexed; first press citation
Month 6 25K visits $350 Mediavine Journey accepted; weekly digest habit formed
Month 12 50K visits $800 Rank top 3 for 60% of tracked venue/suburb terms

Leading Indicators


Sources & References