Harbor AI · Lambton Shores, Ontario

Software that runs real businesses, today

Twelve products in daily use — a taxi fleet's phone line, a contractor's receipts, a millwork supplier's catalogue. Three of them you can try right here, with the real screens and invented data. The rest are live; open any of them.

12Products live
3Try in browser
24/7Taking calls

The apps

All live. Open any of them.

Try one

Real interfaces, invented data. Nothing here touches a live system or a real customer.

🧾

Receipt Tracker Pro

Say what you bought. It files itself, with the tax worked out properly.

Live

A contractor in a truck, hands dirty, engine running. One sentence is the whole interaction — and one sentence may hold more than one receipt.

Press the button.

Two receipts out of one breath, each with its own category.

VendorHome Depot
Subtotal$41.59
HST 13% recomputed, Ontario$5.41
Total$47.00
MaterialsMiller job
VendorTim Hortons
Subtotal$7.96
HST 13%$1.04
Total$9.00
Meals50% deductible
Never trust the model's arithmetic. It reads the vendor, the total and the category. The subtotal and the tax are then derived from the province's rate — the one part of this that must be right every single time.

Out the other end, in whatever the bookkeeper actually uses.

Canadian small business, specifically. Provincial tax rates, CRA expense categories, the 50% meals rule — the details that make a generic tracker useless north of the border.
📐

SiteMeasure

Measure a suite once. Multiply it across the building. Walk it to confirm.

Live

A tower is not two hundred separate problems. It is four suite types repeated. Measure each type once, in full, and the building is mostly done.

Template 2-bed cornerType B
Entry door solid core, rated1 × 36"
Interior hollow, primed5 × 32"
Closet bifold2 × 24"
Casing210 lf
Base180 lf
Why a catalogue sits underneath it. "32 inch primed hollow core" is not a description, it is a line on a supplier's price list. The template points at the catalogue item, so a spec change reprices the whole building instead of sending someone back through their notes.
Type A · 1-bed Type B · 2-bed corner Type C · 2-bed Type D · studio

Now say how many. Change the building and watch the takeoff move — this is the arithmetic that used to be an evening with a clipboard and a calculator.

Floors 8
Suites per floor 6
Type B on every floor, to keep the demo honest about what it is showing. The real thing mixes types per floor and keeps common areas — corridors, stairwells, amenity rooms — on their own count.
Suites48
Entry doors48
Interior doors240
Closet bifolds96
Casing10,080 lf
Base8,640 lf
Door leaves to order384

Then someone walks it. The job on site is not measuring — it is confirming, and catching the one that is wrong.

Nothing walked yet
Press the button to start down the corridor.
The override is the whole point. One widened opening on one floor does not invalidate the template — it becomes an instance that differs, recorded against that unit, and the order changes by exactly one door.
🧠

Recall

Tell it things as they happen. Ask for them later in your own words.

Live

Capture is a text to a bot — no app to open, no form to fill. A voice note gets transcribed, a link gets read and summarised. Five things somebody told you this week:

Now ask in your words, not the words you stored. The note and the question often share nothing at all — which is precisely where searching for text gives up.

And once a day it arrives unasked — what is owed, who is waiting, what you said you would do.

A brief that repeats itself gets ignored. It reports what changed, and says so plainly when nothing did. The fastest way to make a daily message worth opening is to let it be short.
Shared, but only where you say so. Notes are yours by default; a circle lets a team search each other's — the same retrieval, run across several people's entries instead of one.