Skip to content

Toronto · 1050 King Street West

We build websites and apps.

Talk to the developer
Looking west from a terrace on King Street West: a rusted-steel and mesh screen with climbing vines in the foreground, the rail corridor below, a round red-brick tower under construction with a crane above it, the CN Tower behind, and a King High Line hoarding at the right.

02What we do

What we build

02

Online stores

A shop on your own website, so people can buy from you.

See stores

04

Custom software

Software built for the way your business already works, iPhone apps included.

See iPhone apps

03Examples

Software we built and run

The TNAADO Admin editorial review screen: a review queue table of eight articles with author, status and submitted columns, statuses reading Submitted, In review, Changes requested and Approved, a Journal and Show queue below it, and an hourly time awaiting sign-off list at the foot. The Shoot's production board: filter rows for status, venue and date above four production cards (Dispatch In Queen, Dispatch Live, The Show and Neighbourhoods), each with its date, crew count and a progress bar. A Master Billing dashboard headed Financial overview across TNAADO departments, August 2026: four figure tiles for the month and a table breaking revenue and expense down by department: Labs, Media, Production and Software. A footage moderation board: submitted clips with contributor, verification state and a public column, each row offering Release, Withhold and Legal hold as decisions. An equipment manager inventory: cards for camera bodies, lenses, batteries, monitors, microphones, LED panels and stands, each showing whether it is available or reserved and which shelf it lives on. A reader portal account screen with the membership state, billing history and the controls a subscriber uses to manage or cancel their own plan.
For our staff · Editorial

Where editors check stories before they publish.

For our staff · Production

Where the camera crew plans each shoot.

For our staff · Finance

Money in, money out, and payroll.

For our staff · Moderation

Deciding which submitted clips can go public.

For our staff · Equipment

What gear is out, and what is on the shelf.

For customers · Membership

Where readers manage or cancel their subscription.

How we keep customers' data apart

Postgres select * from bookings

create policy bookings_own on bookings for select using (user_id = auth.uid() or public.is_admin());

user_idclientslotstatus

0 rows. The policy allowed none of them through.

8f2cClinic, Bloor WestTue 09:00held
8f2cClinic, Bloor WestTue 11:30paid
b104Realtor, YongeWed 14:00open
c37eStorefront, Queen WThu 10:00held
c37eStorefront, Queen WThu 16:00paid
d9a1Studio, Dundas WFri 13:00open

6 of 6 rows returned  ·  the policy decides who gets which rows

The database enforces this, not the website.

What runs while nobody is watching

Scheduled one day, start to finish

00:00 06:00 12:00 18:00 24:00
send-reminders
expire-holds
sync-availability
rebuild-sitemap
nightly-backup

24:00  ·  the day's scheduled work, start to finish

Nobody presses a button.

We build
our own apps.

On the App Store
The Dispatch running on iPhone: the Latest tab, a lead story about a Toronto collage business with a photograph, and the Live Map tab in the bar below. Mr. Indecisive running on iPhone: a vertical video feed of a restaurant dish with the place name over it.
iPhone app

The Dispatch

Toronto reporting, and a live map.

On the App Store
The rest of our apps

Book a call

Tell us what it has to do.

Thirty minutes with the developer who would build it.

After the call

What it would take, written down

The screens it needs, what it has to connect to, and which accounts are opened in your name rather than ours. Sent the same day.

Pick a time

All times Toronto

Other ways to reach us

Prefer email? Write to [email protected] and we will set a time.