- TNAADO
- Technology
- The stack
S.00 Technology · The stack
The tools we build with.
Every tool your software runs on, in plain English.
Yours to keep, in your own accounts Calculators at tools.tnaado.ca Toronto · 1050 King Street West
S.01 What we build on
A small set of well-understood tools.
Grouped by what each one does once your product is live.
01
Where your product lives
These accounts are in your name from day one.
Supabase
The database and the logins behind every product.
PostgreSQL
The database itself. It decides who may see which records.
Vercel
Hosting, a link to see changes before they go live, and work that runs on a timer.
Cloudflare
Domains, page speed and live video.
GitHub
Where the code is kept, and where it gets checked.
02
What it is written in
You can hire for any of these in Toronto.
Next.js
What our websites and web apps are built with.
TypeScript
The language it is written in. Every file is checked before release.
Tailwind CSS
The styling, from one set of colours, sizes and spacing.
GSAP
The scroll and motion on our own sites.
Swift
Our iPhone apps, including the sensor and camera work.
Apple platforms
Where our iPhone apps are built and released.
Expo
One set of code when an app has to run on iPhone and Android.
Deno
Runs the code behind the booking form on this site.
03
What it connects to
Outside services, each doing one job.
Stripe
Card payments, subscriptions, invoices and payouts.
Cloudflare Turnstile
The bot check on every booking form.
Google Calendar API
Reads the open slots and writes the booking in.
Gmail API
Sends the confirmation and the calendar invite.
Anthropic
The AI models behind our features and products.
Google Cloud
Sign-in, the accounts our servers use, Drive and Wallet passes.
Google Maps
Place search and venue details inside the apps.
Google Ads
Campaigns we set up and manage for clients.
Google Search Console
Which of your pages Google has found.
S.02 Running
See them working.
Open one and it runs.
01 Who is allowed to see which records
Postgres select * from bookings
create policy bookings_own on bookings for select using (user_id = auth.uid() or public.is_admin());
0 rows. The policy denied every row to this caller.
6 of 6 rows returned · every row is in the table; the policy decides which of them a user gets
The rule runs inside the database, not in the app.
02 A payment, including the one that fails
Stripe PaymentIntent
attached
action
- payment_intent.created: created
- payment_method.attached: requires_confirmation
- payment_intent.requires_action: 3-D Secure
- payment_intent.payment_failed: card_declined
- payment_method.attached: retry
- charge.pending: processing
- payment_intent.succeeded: succeeded
- event
- payment_intent.succeeded
- CAD
- status
- succeeded
- live
Every third run declines, and retries.
03 Changing the database without losing what is in it
Postgres supabase migration list
- 0001_init.sql
- 0002_profiles.sql
- 0003_bookings.sql
- 0004_indexes.sql
- 0005_rls.sql
- 0006_audit_log.sql
In order, one at a time, on every copy.
04 Work that runs with nobody there
Vercel one day
24:00 · scheduled work, one full day
Reminders, payouts, feeds and backups, on a clock.
S.03 In the open
The calculators we publish.
Built with the same tools as the list above.
For business owners
- Break-even
- Valuation
- Cash flow
- Margin
For the trades
- Concrete
- Lumber
- Roofing
- Drywall
- Paint
S.04 Why this set
Boring on purpose.
What a tool has to pass before we build with it.
Portable
It runs anywhere
Postgres works the same wherever it runs, so you can move it.
Proven here first
We run it ourselves
Every tool on this list runs our own products too.
What we have built with it is in the technology portfolio. Our own apps, Mr. Indecisive and The Dispatch, are on the App Store.
S.05 Work with us
Got something to build?
If it needs tools we do not use, we will say so.
Bring
How many pages you need, what it has to connect to, and anything else it has to do.
When
Weekdays, 2pm to 6pm Toronto, in 30-minute slots.
You keep it
Database, code and domain in your own accounts.
S.06 · Book the call
Tell us what you are building, and we will tell you what it needs.
Thirty minutes with the engineer who would run the build. The job is written down and sent the same day, with the tools it needs.