The Isle of Man's business directory

Free to list, maintained by the owners themselves, and live within a month of the first commit.

Visit the live site (opens in a new tab)

Launched

17 August 2026

Status

Live

Last updated September 2026 About a ten minute read

How it started

This project started with me trying to advertise OLXR locally and getting nowhere. I only take on a handful of clients a year, and the relatively few people who need what I do are not searching for me by name, because they have never heard of it.

The obvious first move was to get the business listed somewhere. There are existing local directories, so I tried a few: one never replied, one told me it was not adding companies, and one had no obvious way to get listed at all. Not one of them let me simply add the business myself, which was the only thing I wanted to do.

The longer I thought about it, the more it seemed like there were two halves to the same problem. A lot of business on the Isle of Man comes by recommendation: word of mouth, or a name in a Facebook comment.

Most firms have neither the time nor the people to run social media channels on top of the work itself.

  • Businesses cannot easily be found.
  • People cannot easily search for a local supplier.

The business you want usually exists here. You just have no way of getting to it.

So I decided to build a way: manx.directory.

Two halves of the same problem: local businesses that are hard to find, and people searching who cannot find them.

Some early questions

Before any of it was built, a handful of questions shaped everything that followed.

How do we populate a directory starting from nothing?

I could have pulled from the companies registry, open data and a few other sources, and had thousands of listings in an afternoon. Scraped data is wrong almost immediately though - old numbers, closed businesses, addresses from two moves ago - and nobody has any reason to fix it. So I decided that businesses should add themselves. It grows slower, but every listing is there because someone put it there.

Scraped listings go out of date; listings added by the businesses themselves stay accurate.

How does a listing stay right after that?

Either I keep it right, or the business does. Doing it myself does not scale past the first hundred listings and makes me the bottleneck for a change of phone number. So every business gets an account and changes its own details, hours and photographs whenever it needs to. Reminders go out on a schedule as well, because nobody thinks to update a listing until something has already changed - and anyone using the directory can report something that looks wrong, which goes back to the business to correct.

A listing kept right by scheduled reminders, the owner updating it, and visitors reporting problems.

How does it pay for itself?

There were three options.

  • A listing fee. Charge to be listed and you end up with an empty directory, which is no use to anyone.
  • Advertising space. Generic adverts are rarely relevant to the island, let alone to what someone is searching for at that moment, so they only get in the way.
  • Paid prominence. A business paying to appear higher when someone is already searching for what it does.

The third is the one that actually fits: it is the same thing the directory is for, rather than something bolted onto it. Listing stays free for everyone. I am not looking to make a profit from this. Covering the hosting and paying for the next round of work is really the goal.

How do we protect what people put in?

Businesses hand over contact details on the understanding they will be used to find them, not harvested. The obvious risk is someone taking the lot in one go - the same scrape I decided against doing myself. Sign-ups and forms sit behind automated bot protection, requests are rate limited, and contact details are not printed on the page at all - you click to reveal them, and that click is checked too. That will not stop someone determined, but it stops the automated sweep that would otherwise empty the directory in an afternoon, and it keeps sign-ups free of spam without me approving each one by hand.

A listing with the phone number hidden until clicked, protected forms, and automated bulk requests blocked.

Working out what it had to do

An idea is not a plan, so I wrote the specification first: every user story sorted into must, should and could, the way I would on a client project. The first version was scoped as two weeks of work, and this is what went into it.

Must

No product without these

  • Browse by category and by town
  • Keyword search, filters and "open now"
  • Register a business and verify the email
  • Edit details, hours, and unpublish
  • Premium subscription and payments
  • Moderation, removals and duplicates
  • Search pages for every category and town

Should

Wanted, and made the sprint

  • A dashboard for the owner
  • Map and directions on a listing
  • Report a problem with a listing
  • More than one listing per account
  • Basic analytics for premium listings
  • Invoices and receipts

Could, and still may

Not built yet, and here is why

Reviews and ratings

Every review has to be moderated, and a bad one has to be defended. That is a real job, and a directory this size cannot do it properly yet.

Menus, booking links and richer listings

Worth having, but only once businesses are using the basic listing enough to want more from it.

None of these are off the table. They were written down, costed, and then left alone until the directory is big enough to need them - and if there is something you think it should do, tell me. The best suggestions so far have come from people using it rather than from me.

Drawn before it was built

Every screen was wireframed first, with the decision behind it written underneath. Not to make it look considered - to force the awkward questions out before they cost anything. Whether a village gets its own page or folds into its region is a five minute conversation on paper and a fortnight of rework in code.

Wireframe: the home page
Home. Search first: one keyword box and one location picker, because people think in places.
Wireframe: search results
Search results. The same layout serves free-text search and every category and town page.
Wireframe: a business profile
A listing. Website, directions and call are the point - the moment the directory sends someone to a business.

Tap a sheet to read it at full size

The technical decisions

With the specification settled, the technical choices followed from it. A two-week sprint, a directory that has to be found in search, and running costs that had to stay near nothing while there was nobody using it.

Server-rendered pages
A directory is worth nothing if search engines cannot read it. Every category, town and listing is a real page rendered on the server, with its own metadata and structured data, rather than something assembled in the browser after the fact.
Serverless on AWS
Aurora Serverless and Lambda, defined in code with CDK. Both scale with whatever is being asked of them, so a directory nobody has found yet costs close to nothing to run, and a busy week costs what that week is worth. No server sitting there billing me for capacity I am not using.
A side project is where you try things
No client attached means it is the right place to run a technology in production and find out what it is like to live with. Anything that earns its place goes on to client work; anything that does not, I have learned at my own expense rather than yours.

All of it on AWS

Lambda and CloudFront
The application itself, served from the edge.
Aurora Serverless
The database, scaling down to nothing when nobody is using it.
S3
Photographs, static files and logs.
SES
Email - confirmations, reminders and the rest.
EventBridge
The scheduled jobs, including the reminders to check a listing.
CloudWatch
Monitoring and alarms, so I hear about a problem before anyone reports it.

The name, the logo and the colours

The branding is mine as well as the build, and none of it is decorative. The palette comes from the Manx national tartan, where every colour stands for part of the island: dark blue for the sea, green for the hills, purple for the heather, gold for the gorse, white for the cottages. Building from those gives the brand a story I can tell rather than a palette I invented.

The Manx national tartan, drawn from its recorded thread count in the brand palette.

The mark takes the same route. It is the Three Legs of Man, reworked into three bent legs around a gold hub, each one ending in a location point. The hub is the person searching; the three legs are the businesses around them - so it reads as a directory as well as an emblem. It is a stylised interpretation rather than a copy of the coat of arms, and the gold of the hub is echoed by the full stop in the name.

The mark. Three legs, three colours from the palette, a gold hub at the centre.
Reversed. White legs and gold hub, for sea and other dark backgrounds.
  • Sea Primary #2C3F9C
  • Gorse Accent #E8B62C
  • Hills Secondary #2C7D43
  • Heather Support #7F57A4
  • Sky Support #6BA1B0
  • Cottages Surface #EFEEE6

There is no official hex specification for the tartan - it is defined by thread colour and varies between weavers - so these were sampled from the Scottish Register of Tartans swatch. They are manx.directory's own reference rather than a claim to a national standard. Type is Inter throughout, with the wordmark supplied outlined so the logo never depends on a font being installed.

Building it in four weeks

The specification meant nothing had to be decided twice, but a project with no client is not really about being efficient. It is the one place you can use something you have not used before, in production, where it has to actually work.

Fathom for analytics

Fathom does not use cookies, so the directory has no cookie banner and nothing following anyone around. A business owner sending customers to their listing is not handing them over to be tracked - and I still get to see what the directory is doing.

Paddle for payments

Paddle was the one that would work with an Isle of Man company, which rules out a surprising number of providers. It also acts as the seller, so the tax on a subscription is handled rather than being something I have to work out.

Four weeks from the first commit to going live, which was always the point: a side project has to be small enough to actually finish. Client work came first throughout, so it was built in the gaps around it - and it is still being improved the same way.

Getting it in front of people

Building it was the part with an end date. Getting businesses onto it is the part that does not finish - an empty directory is no use to anyone, so the work after launch is the same problem as the work before it. Two things are running.

The front of the manx.directory business card: the mark and the name, reversed out of the blue. The back of the card: add your business free, the web address and a QR code.
Cards to hand over, with the QR going straight to the add-your-business form. Easier than spelling out a web address to somebody in the middle of their working day.
A manx.directory advert reading "List your business free. Join 100+ Manx businesses already listed."
Paid advertising on Facebook and Instagram aimed at the island, alongside posts from the directory's own accounts.

Neither is clever. Both are cheap, and both put the same sentence in front of a business owner: listing is free and takes a few minutes.

Other products