<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: CrecheFinder Dublin</title>
    <description>The latest articles on DEV Community by CrecheFinder Dublin (@crechefinder).</description>
    <link>https://dev.to/crechefinder</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4198063%2Fa6f71095-9125-4573-b60e-5afd024492f5.png</url>
      <title>DEV Community: CrecheFinder Dublin</title>
      <link>https://dev.to/crechefinder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/crechefinder"/>
    <language>en</language>
    <item>
      <title>Don't Invent a Star Rating: How We Linked Tusla Inspection Reports Without Misrepresenting Them</title>
      <dc:creator>CrecheFinder Dublin</dc:creator>
      <pubDate>Wed, 21 Oct 2026 10:21:45 +0000</pubDate>
      <link>https://dev.to/crechefinder/dont-invent-a-star-rating-how-we-linked-tusla-inspection-reports-without-misrepresenting-them-2f37</link>
      <guid>https://dev.to/crechefinder/dont-invent-a-star-rating-how-we-linked-tusla-inspection-reports-without-misrepresenting-them-2f37</guid>
      <description>&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; AI-assisted drafting; founder reviewed facts against live site and official sources.  &lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Parents in Dublin need childcare that is registered and inspectable — not a vibe score invented by a directory.&lt;/li&gt;
&lt;li&gt;Tusla already publishes inspection reports. The useful engineering job is reliable deep-links keyed on the official service ID, not summarising findings into stars.&lt;/li&gt;
&lt;li&gt;Structured data (&lt;code&gt;schema.org/ChildCare&lt;/code&gt;) only helps if every property matches what the page actually shows.&lt;/li&gt;
&lt;li&gt;Fees and vacancies are missing from the public register. Treating "unknown" as a first-class UI state is more honest than scraping stale prices.&lt;/li&gt;
&lt;li&gt;One brand link, at the end: crechefinder.com.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you build a consumer product on top of a regulator's data, you eventually face a temptation: turn the official record into a score. Parents already ask "is this creche good?" A five-star badge feels like product. It is also, in most cases, an interpretation dressed up as fact.&lt;/p&gt;

&lt;p&gt;This post is about the quieter choice we made while building a Dublin childcare search tool: &lt;strong&gt;link to the inspection reports, don't invent the rating&lt;/strong&gt;. It is written for builders working with government data, local directories, or any domain where a wrong number can hurt someone.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the official sources already give you
&lt;/h2&gt;

&lt;p&gt;In Ireland, early years services must register with Tusla, the Child and Family Agency. Tusla publishes a &lt;a href="https://www.tusla.ie/services/preschool-services/early-years-providers/register-of-early-years-services-by-county/" rel="noopener noreferrer"&gt;Register of Early Years Services by County&lt;/a&gt;, updated monthly. Each row includes service type, capacity, and age profile.&lt;/p&gt;

&lt;p&gt;Separately, Tusla publishes &lt;a href="https://www.tusla.ie/eyi-inspection-reports" rel="noopener noreferrer"&gt;early years inspection reports&lt;/a&gt;, searchable by service name, Tusla number, or Eircode. Inspections are carried out against the &lt;a href="https://www.irishstatutebook.ie/eli/2016/si/221/made/en/print" rel="noopener noreferrer"&gt;Child Care Act 1991 (Early Childhood Care and Education Services) Regulations 2016&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That is a strong foundation. It is also incomplete for the two questions parents ask first: &lt;strong&gt;what will it cost&lt;/strong&gt;, and &lt;strong&gt;is there a place&lt;/strong&gt;. The register does not answer either. Fees and vacancies change often and only the provider knows them.&lt;/p&gt;

&lt;p&gt;Ireland's &lt;a href="https://www.citizensinformation.ie/en/education/pre-school-education-and-childcare/national-childcare-scheme/" rel="noopener noreferrer"&gt;National Childcare Scheme (NCS)&lt;/a&gt; reduces what parents pay. Citizens Information describes a universal subsidy that is not means-tested (€2.14 per hour, up to 45 hours a week, in 2026) and an income-assessed subsidy whose hourly rate depends on family income, the child's age and stage, and the number of children. The government pays the subsidy to the provider. To take part, a provider must be registered with Tusla and have a contract with the Department of Children, Disability and Equality.&lt;/p&gt;

&lt;p&gt;None of that requires a star rating on a third-party website.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why scoring inspection findings is a product smell
&lt;/h2&gt;

&lt;p&gt;Inspection reports are regulatory documents. They record compliance against regulations at a point in time. They are not TripAdvisor reviews, and they are not a composite "quality score" that travels cleanly into a directory card.&lt;/p&gt;

&lt;p&gt;If you invent a score, you create three problems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Interpretation risk.&lt;/strong&gt; Two people can read the same finding and weight it differently. Your product would present one reading as if it were official.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Staleness.&lt;/strong&gt; A report from last year does not describe next month's room. Parents still need the source; a badge ages badly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Incentive distortion.&lt;/strong&gt; Once scores exist, providers and directories start optimising for the badge. That is the wrong game when the real job is helping a parent read the primary source.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So we treat the Tusla number as the primary key, and each listing links out to that service's reports. The parent reads Tusla. We do not summarise the report into a number.&lt;/p&gt;

&lt;p&gt;This is the same honesty rule that shows up in other open-data products: the most valuable feature is often the ability to say "here is the source" rather than "here is our grade."&lt;/p&gt;

&lt;h2&gt;
  
  
  Deep-linking is an engineering problem, not a marketing one
&lt;/h2&gt;

&lt;p&gt;"Link to the report" sounds trivial until you do it at catalogue scale.&lt;/p&gt;

&lt;p&gt;What we needed in practice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A stable key.&lt;/strong&gt; The Tusla registration number is the only field that survives renames and address tweaks cleanly. Listing URLs are keyed on it so a service that changes trading name does not orphan inbound links.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A join that can fail safely.&lt;/strong&gt; Not every registered service has a fresh report available in the search UI at the moment a parent looks. The UI must allow "no report linked yet" without inventing one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Idempotent updates.&lt;/strong&gt; Monthly register releases and report index changes should be diffs, not wipe-and-replace imports. A missing join on one run should not delete a previously good link without a human check.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The product lesson is boring and transferable: &lt;strong&gt;identity first, then presentation&lt;/strong&gt;. If your entity key is fuzzy, every enrichment (reports, maps, fees) becomes a matching research project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Structured data only for what the page shows
&lt;/h2&gt;

&lt;p&gt;schema.org defines a &lt;a href="https://schema.org/ChildCare" rel="noopener noreferrer"&gt;&lt;code&gt;ChildCare&lt;/code&gt;&lt;/a&gt; type. It is tempting to fill every property Google's docs mention. We only mark up what is visible on the page, in line with Google's &lt;a href="https://developers.google.com/search/docs/appearance/structured-data/local-business" rel="noopener noreferrer"&gt;LocalBusiness structured data guidelines&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No invented aggregate ratings.&lt;/li&gt;
&lt;li&gt;No opening hours we have not confirmed.&lt;/li&gt;
&lt;li&gt;No "available for hire" claims that are really "enquire with the provider."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Google's &lt;a href="https://developers.google.com/search/docs/essentials/spam-policies" rel="noopener noreferrer"&gt;spam policies&lt;/a&gt; are also a useful product brief here. Doorway-style city pages that funnel everyone to one generic URL are an anti-pattern. Area pages should exist where there are real services and something specific to say — not because you need a URL for every postal district.&lt;/p&gt;

&lt;h2&gt;
  
  
  Unknown is a feature
&lt;/h2&gt;

&lt;p&gt;Fees and vacancies are the hard product problem. Scraping provider websites looks clever until half of them omit fees and the other half are out of date. Showing a wrong weekly price is worse than showing none.&lt;/p&gt;

&lt;p&gt;So listings without confirmed fees say fees are on enquiry. Vacancies, when shown, carry when and by whom they were last reported. The NCS estimator on the site shows the universal-subsidy rule it used (€2.14/hour, capped hours) and points parents to the &lt;a href="https://www.citizensinformation.ie/en/education/pre-school-education-and-childcare/national-childcare-scheme/" rel="noopener noreferrer"&gt;official NCS materials and calculator pathway described by Citizens Information&lt;/a&gt; for income-assessed amounts we do not pretend to know.&lt;/p&gt;

&lt;p&gt;From an engineering view, three habits helped:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Rules as data.&lt;/strong&gt; Subsidy rates and hour caps live in config with a validity window, not as magic numbers scattered through templates. Citizens Information already flags announced future changes, so hard-coding "today" is a known future bug.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Show the working.&lt;/strong&gt; Print the rule next to the estimate. Disagreement becomes inspectable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't replace the authority.&lt;/strong&gt; The product is a better interface to official data and a clearer path to enquire — not a substitute for Tusla or NCS.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I'd tell another builder in a regulated niche
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Prefer &lt;strong&gt;deep links to the regulator&lt;/strong&gt; over composite scores you cannot defend.&lt;/li&gt;
&lt;li&gt;Spend design time on &lt;strong&gt;empty and unknown states&lt;/strong&gt;. They are the honest majority of the UI in many public-data products.&lt;/li&gt;
&lt;li&gt;Keep &lt;strong&gt;raw imports and cleaned records&lt;/strong&gt; separate so you can re-parse when you find a bug.&lt;/li&gt;
&lt;li&gt;Use structured data as a mirror of the page, not as a second marketing channel.&lt;/li&gt;
&lt;li&gt;One strong entity key beats a clever NLP matcher you will fear touching six months later.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The live tool is &lt;a href="https://crechefinder.com/" rel="noopener noreferrer"&gt;crechefinder.com&lt;/a&gt; — a free search interface for registered childcare in Dublin, built on Tusla's public register, with costs explained in plain language and inspection reports left where they belong: with the regulator.&lt;/p&gt;

&lt;p&gt;If you've shipped something similar in housing, health, or licensing data, I'd like to hear how you handled "we know the entity exists, but we refuse to invent the quality score."&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Author bio:&lt;/strong&gt; CrecheFinder is an independent search tool for registered childcare in Dublin, Ireland. Contact: &lt;a href="mailto:cs@crechefinder.com"&gt;cs@crechefinder.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>opendata</category>
      <category>webdev</category>
      <category>product</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
