Show HN: DNS-powered website with no back end
All of the contact data on this website is fetched from DNS TXT records. It&#x27;s an example of how NUM [0] data can be used.<p>A small team and I have created NUM because we believe that paid, restricted, rate-limited APIs provided by the giants of the web are holding back developers and we want to change that.<p>NUM provides: a simple way for businesses to provide machine-readable data direct to their users, bypassing data hoarding web giants; a forever free, unlimited and unrestricted source of data to developers.<p>The general-purpose semantic web has failed because the standards (microdata, JSON-LD, Open Graph) are too complicated and difficult for small businesses to adopt and often forgotten about by marketing teams in large businesses because data is too difficult to edit.<p>NUM is different because it can be adopted by any business using a simple online form. The protocol includes two DNS queries – the first to the authoritative DNS zone; the second failover query to our NUM Server, any business can claim their domain on NUM Server using a simple online process.<p>The Company Directory website linked to is just one example of how NUM data can be used. The website fetches all data from DNS using client-side Cloudflare DNS-over-HTTPS calls (see Network tab in Dev Tools). Barclays, or any other company listed can update the data on this site by adopting the NUM protocol [1] independently in their own DNS – for example, to replace the data for the Barclays listing, they can create a TXT record at 1._num.barclays.co.uk or claim the record shown by visiting numserver.com&#x2F;claim&#x2F;barclays.co.uk<p>DNS-based protocols like NUM (other examples are SPF and DMARC) typically suffer from the chicken-and-egg problem where no-one looks for this data in DNS because it&#x27;s not there, and no one stores this data in DNS because no-one is looking for it.<p>To help overcome this, we&#x27;ve pre-populated the DNS with contact data for large UK companies and are in the process of automatically gathering contact data for all *.uk domain names (we expect to complete this in the next 10 days) before moving on to all other UK companies, then companies worldwide (the US, Canada, Australia next).<p>NUM can be adopted &#x2F; edited with a simple online form. Anyone can create a record for their domain, either independently in their own DNS or using our service at <a href="https:&#x2F;&#x2F;app.numserver.com&#x2F;tools&#x2F;editor&#x2F;add" rel="nofollow">https:&#x2F;&#x2F;app.numserver.com&#x2F;tools&#x2F;editor&#x2F;add</a><p>To ensure that NUM is as efficient as possible, we store all data in DNS using MODL [2] – a compact, DNS-friendly data serialisation format; we make compact DNS objects developer friendly using Unpacker [3] – we have developed both in-house. I have written a very basic Notion document to explain how all of these technologies fit together [4].<p>To simplify all of this for front-end developers (who by and large don&#x27;t care about DNS), we&#x27;ve packaged it up in a Typscript library called company-api which you can query for a domain and get a beautiful object back containing company contact data [5].<p>We are very keen for feedback, good or bad.<p>0. <a href="https:&#x2F;&#x2F;www.num.uk" rel="nofollow">https:&#x2F;&#x2F;www.num.uk</a><p>1. <a href="https:&#x2F;&#x2F;www.numprotocol.com" rel="nofollow">https:&#x2F;&#x2F;www.numprotocol.com</a><p>2. <a href="https:&#x2F;&#x2F;www.modl.uk" rel="nofollow">https:&#x2F;&#x2F;www.modl.uk</a><p>3. <a href="https:&#x2F;&#x2F;www.unpacker.uk" rel="nofollow">https:&#x2F;&#x2F;www.unpacker.uk</a><p>4. <a href="https:&#x2F;&#x2F;www.notion.so&#x2F;num&#x2F;NUM-MODL-and-Unpacker-67d7cd59548d4eafb4852d0d89ff9493" rel="nofollow">https:&#x2F;&#x2F;www.notion.so&#x2F;num&#x2F;NUM-MODL-and-Unpacker-67d7cd59548d...</a><p>5. <a href="https:&#x2F;&#x2F;www.npmjs.com&#x2F;package&#x2F;company-api" rel="nofollow">https:&#x2F;&#x2F;www.npmjs.com&#x2F;package&#x2F;company-api</a><p>Edit: to make it clearer what problem we&#x27;re trying to solve.