# Mahara Labs — Complete AI & Search Dossier > Mahara Labs is an AI, software engineering and digital growth agency in Mississauga, Ontario, founded by Faiz Hashmi. Our AI/ML specialists, product managers and full-stack engineers build flagship software products — led by BayThru (dealership task, recon and follow-up platform), Operations Vault (your private AI employee), Tezline (24/7 AI voice receptionist), AskAutoDoctor and FleetsGuard — alongside custom software development, web design, technical SEO, social media marketing and paid ad management (Google, Meta, TikTok and LinkedIn) for businesses across Canada and the UAE. ## 1. Company Identity & Contact - **Name:** Mahara Labs - **Tagline:** We build the systems that last. - **Founder:** Faiz Hashmi (Founder & Principal Engineer) - **Founder LinkedIn:** https://www.linkedin.com/in/faiz-hashmi-79b522125 - **Address:** 3136 Mavis Road, Unit 210, Mississauga, ON L5C 1T9, Canada - **Phone:** +1 (647) 503-8008 - **Email:** hello@maharalabs.com - **Hours:** Mon–Fri 9:00 – 18:00 ET - **Website:** https://maharalabs.com ### About Founder Faiz Hashmi Faiz Hashmi founded Mahara Labs to put the newest AI to work where it counts: inside the businesses that keep cities moving. For more than eighteen years he has led technology and digital transformation across Canada and the Middle East, delivering platforms in AI, SaaS, logistics and e-commerce. He also works inside the automotive business itself, on the shop floor and in the service drive, which is why Mahara's products start from real operations, not slide decks. His vision is simple: every business, of any size, running with its own AI employee, software that answers, follows up, schedules and reports, so people can focus on the work only people can do. ## 2. Software Products Built & Run by Mahara Labs ### BayThru (https://maharalabs.com/work/baythru-dealership-follow-ups) - **Tagline:** Every task. Every team. One screen. - **Summary:** The task manager for the whole dealership: sales, service, parts, F&I, the BDC and the office on one list that keeps following up until the job is done. - **Product Website:** https://baythru.com - **Who It Is For:** Dealerships of every size, and every department in them — sales, service, parts, F&I, the BDC and the office. Managers assign work and see what is stuck; each person sees only what is theirs. BayThru already runs on a working Canadian dealership floor, and every dealership starts with a 30-day free trial for the whole team. - **How It Works:** 1. A request is made: a part to order, a car to wash, a customer to call back. 2. It goes to the right person on the right team, and their phone keeps reminding them. 3. It is done, and everyone who needs to know can see it. ### Operations Vault (https://maharalabs.com/products/operations-vault) - **Tagline:** Your private AI employee. - **Summary:** Your private AI employee. Operations Vault reads the mail, prepares the work and fills in the forms inside your own systems, and it asks before it acts. - **Who It Is For:** Owners and teams who want a private AI employee for the repetitive work of an office, without handing their business to a shared cloud. With Operations Vault (OPV), each business gets its own private deployment across desktop, web and phone, with its data kept apart from everyone else's. - **How It Works:** 1. Work arrives: an email, a form, a file. 2. Your private AI employee prepares it inside your own systems. 3. A person approves, and every action is on record. ### Tezline (https://maharalabs.com/work/tezline-ai-receptionist) - **Tagline:** Every call answered. - **Summary:** An AI receptionist that answers in a natural voice, books the appointment, takes the message and tells your team straight away, day or night. - **Product Website:** https://www.tezline.com - **Who It Is For:** Service desks, clinics, shops and service businesses that cannot always pick up, and cannot afford to miss the call that would have bought. - **How It Works:** 1. A call comes in, even after hours. 2. It understands the caller and answers, like a person. 3. The booking and a short summary land with your staff. ### AskAutoDoctor (https://maharalabs.com/work/automotive-advisory-platform) - **Tagline:** Your best technician, available to every bay. - **Summary:** B2B tech support and remote diagnostics for dealer groups, franchises and OEMs: live video calls between technician and expert, live diagnostics during the call, help across stores, brands and countries, and every solved case saved as searchable knowledge. - **Product Website:** https://askautodoctor.com - **Who It Is For:** Multi-rooftop dealer groups, franchise networks and OEMs who want their most experienced technicians helping every store across brands and countries, not only the bay they stand in. We start with a pilot across a few of your stores. - **How It Works:** 1. A technician starts a live video call from the bay when a hard fault holds up a repair. 2. An expert joins remotely with live diagnostics during the call, across any store, brand or country. 3. The solved case is saved as searchable knowledge, so every bay fixes the next one faster. ### FleetsGuard (https://maharalabs.com/work/fleet-safety-operations) - **Tagline:** Alerts before anything expires. - **Summary:** Every safety and compliance record for a trucking fleet in one secure place, with a warning before any date is missed. - **Product Website:** https://www.fleetsguard.com - **Who It Is For:** Ontario carriers managing drivers, vehicles, testing, insurance and regulatory records, who need audits to pass and trucks to keep moving. - **How It Works:** 1. Driver files, inspections and insurance come into one vault. 2. Every date in them is watched. 3. You are warned before anything expires, and the record shows it was handled. ### Lendtill (https://maharalabs.com/work/microfinance-operations-platform) - **Tagline:** An end of day that actually reconciles. - **Summary:** Loans, cheque cashing, gold buying and currency exchange from one system, across every branch. - **Who It Is For:** Canadian storefront lenders, from a single counter to several branches. Lendtill is in build, and is being finished carefully because it handles money in a regulated industry. - **How It Works:** 1. A transaction is made at the counter. 2. It posts to one ledger, shared by every branch. 3. The day closes balanced. ### Wealthbylife (https://maharalabs.com/work/wealth-advisory-platform) - **Tagline:** Understand clients by their life, not just their money. - **Summary:** A private client assessment for advisory firms, turned into a clear picture and a better first conversation. - **Who It Is For:** Advisory firms whose advisors want to lead with the client's life. Wealthbylife is in private beta, and the client stays in control of what the advisor sees. - **How It Works:** 1. The client completes a private assessment from a simple link. 2. Their answers become a clear picture of the life they want. 3. The advisor walks in prepared. ### Mahara Labs Platform (https://maharalabs.com/work/marketing-operations-suite) - **Tagline:** Your ads, leads and results in one place. Run by our team, or by yours. - **Summary:** Your ads, leads and results in one place. Run by our team, or by yours — with each business's data kept completely separate. - **Product Website:** https://maharalabs.com - **Who It Is For:** Businesses that want their ads, leads, pipeline and results in one place — run by our team, or by yours. We run Mahara Labs on it first, and every enquiry from this website lands in it. - **How It Works:** 1. An enquiry lands from Google, Meta, TikTok, LinkedIn or your site. 2. It is routed to the right person and followed up straight away. 3. Campaigns, attribution and results roll into one clear report. ## 3. Engineering, AI/ML & Digital Marketing Agency Services - **Core Team Capabilities:** Senior Full-Stack Engineers, Product Managers, AI/ML Specialists, UI/UX & Web Designers, SEO Specialists, Social Media Managers, and Paid Media Strategists. - **Pillar 1 — Custom Software & Web Design (https://maharalabs.com/services):** High-converting custom websites, customer portals, and production web & mobile applications built end-to-end by senior engineers, product managers, and UI/UX designers. - **Pillar 2 — AI/ML & Workflow Automation (https://maharalabs.com/services):** Dedicated AI/ML specialists who build custom machine-learning pipelines and deploy Operations Vault (your private AI employee) and Tezline (24/7 AI voice receptionist). - **Pillar 3 — SEO, Social Media Marketing & Paid Ads Agency (https://maharalabs.com/services):** Full-service technical & local SEO, social media marketing & content production, and Google, Meta, TikTok & LinkedIn ad campaigns with closed-loop lead attribution and transparent reporting. ### AI & LLM Infrastructure (https://maharalabs.com/services/ai-llm-infrastructure) - **Tagline:** Production-grade intelligence, engineered. - **Overview:** We build AI that does real work inside a business, from private assistants to phone receptionists. Every system is reliable, accountable and clear about what it can and cannot do. - **Deliverables:** Private AI assistants for your team; AI voice agents that answer your phones; AI features inside your existing product; Human approval before consequential AI actions - **Technologies:** Anthropic Claude, Groq, Private AI models, AI voice, Python, TypeScript ### Software Engineering (https://maharalabs.com/services/software-engineering) - **Tagline:** Systems that survive the second year. - **Overview:** We build software you are glad to inherit: clear, tested and documented. New products, internal platforms or rescues of stalled projects, built to last well beyond launch. - **Deliverables:** New web and mobile products, ready to launch; Customer portals, back offices and admin tools; Replacements for ageing tools and websites; Automated testing across the whole product - **Technologies:** TypeScript, Next.js, React, Flutter, NestJS, Postgres ### Cloud Architecture (https://maharalabs.com/services/cloud-architecture) - **Tagline:** Compute as a strategic asset. - **Overview:** We design infrastructure your team can actually operate, on managed platforms or on private infrastructure we run. Monitoring, backups and a calm release process come as standard. - **Deliverables:** Production hosting that is fast and dependable; Customer data kept separate on shared platforms; Monitoring that flags problems before users do; Backups and a clear recovery plan - **Technologies:** Vercel, Supabase, Postgres, Sentry, GitHub Actions ### Digital Transformation (https://maharalabs.com/services/digital-transformation) - **Tagline:** Strategy that compiles. - **Overview:** We map how the business really runs before replacing anything, then move it onto one clear system. The plan is written by the people who build it, so it holds up in practice. - **Deliverables:** A clear map of how the business runs today; A practical roadmap from current tools to target; Careful migration of existing records and links; Staff-run tools in place of manual workarounds - **Technologies:** Next.js, TypeScript, Postgres, Supabase, Playwright ### Data Engineering (https://maharalabs.com/services/data-engineering) - **Tagline:** From raw events to defensible decisions. - **Overview:** We bring scattered records into one reliable source of truth that reporting, automation and AI can all depend on. We choose tools your team can run without a dedicated data department. - **Deliverables:** One source of truth replacing duplicate records; Reliable imports from spreadsheets and existing systems; Live dashboards and scheduled reports; Audit trails on the records that matter - **Technologies:** Postgres, Supabase, Prisma, Drizzle, Stripe, Resend ### Security & Compliance (https://maharalabs.com/services/security-compliance) - **Tagline:** Trust as an engineered property. - **Overview:** We build security into everyday engineering, so the evidence an auditor needs is produced as part of normal work. We have shipped these patterns in regulated and semi-regulated industries. - **Deliverables:** Roles and permissions that match how you work; Audit trails on every important change; Signed documents and consent records; Customer data kept strictly separate - **Technologies:** Supabase Auth, Auth.js, Row-level security, Multi-factor authentication, Stripe, Sentry ## 4. Client Case Studies ### Canadian freight forwarder (https://maharalabs.com/work/freight-tms-platform) - **Sector:** Freight forwarder, Canada - **Headline:** A freight forwarder's quoting, shipping and back office on one workflow, from enquiry to closeout. - **Summary:** A shipping platform for a Canadian freight forwarder, covering public shipping tools, quoting, a customer workspace and the back office. It serves the forwarder's team and its customers. - **Challenge:** Enquiries arrived through several channels and created conflicting records of the same shipment. The team needed one dependable way to run every job. - **Outcome:** The forwarder now runs quoting, booking, documents, payment and closeout on one workflow, with every step on record. It is live with real customers and actively developed. - **Tech Stack:** Next.js, TypeScript, Postgres, AI chat assistant ### A GTA franchise dealership — online parts store (https://maharalabs.com/work/dealership-parts-store) - **Sector:** Franchise dealership, Greater Toronto Area - **Headline:** A franchise dealership's live online parts store: catalogue, fitment search and quote/order requests, mobile-first. - **Summary:** We built and run the dealership's live parts e-commerce site: full catalogue, vehicle fitment search, quote and order requests, mobile-first. - **Challenge:** Retail drivers and local shops needed a fast, mobile-first way to search genuine parts by vehicle fitment and submit quote or order requests without waiting on the parts counter phone line. - **Outcome:** The dealership runs a live online parts store where retail drivers and trade buyers search fitment and submit orders around the clock, built and operated by Mahara Labs. - **Tech Stack:** Next.js, TypeScript, Postgres, Fitment search, Mobile commerce ### GTA car rental operator (https://maharalabs.com/work/car-rental-platform) - **Sector:** Car rental operator, Greater Toronto Area - **Headline:** A rental company's booking site, reservation desk and pricing insight, working as one. - **Summary:** A public booking site and staff reservation desk for a car rental operator in the Greater Toronto Area. It serves renters, the counter team and the owner. - **Challenge:** The operator needed a modern site that reads like a rental company and never promises a car the counter cannot confirm. The owner also wanted a clearer view of pricing. - **Outcome:** The site, the reservation desk and the pricing insight are live. Card checkout is built and ready to switch on; until then, renters send a request that staff confirm. - **Tech Stack:** Next.js, TypeScript, Postgres, Scheduled reports ### Ontario group of companies (https://maharalabs.com/work/group-corporate-site) - **Sector:** Group of companies, Mississauga, Ontario - **Headline:** A group of companies presented as one institution, in a single living 3D scene. - **Summary:** The corporate site of a Mississauga-based group with companies across several sectors and countries. It is for clients, partners and job seekers meeting the group for the first time. - **Challenge:** The old site listed companies without saying what held them together. The group wanted to read as one institution, with each company in its place. - **Outcome:** The group now presents as one institution, with every company in a single scene. Its own people can keep the site current without touching the design. - **Tech Stack:** Next.js, TypeScript, WebGL, three.js, GSAP ## 5. Essays & Field Notes by Faiz Hashmi ### Who should own your ad accounts (https://maharalabs.com/insights/who-should-own-your-ad-accounts) - **Author:** Faiz Hashmi, Founder & Principal Engineer - **Published:** 2026-10-17 - **Summary:** An ad account holds years of spend, tracking and audiences. It belongs in the client's name, with the agency invited in, not the other way round. When a business hires an agency to run its ads, one early decision gets less attention than it deserves: whose name is on the ad account. It looks like paperwork. It decides what the business keeps if the relationship ends. An ad account is not just a place to spend money. It holds the history of every campaign, the conversions the tracking recorded, the audiences built from the business's own customers, and everything the platforms' bidding has learned along the way. Starting over without it costs months. Our position is simple: the client owns the accounts, and the agency is invited in. On Google Ads, the business holds its own account and links it to the agency's manager account. Google is clear that even a manager account that owns a client account does not take the data with it: "The client account still owns its data and has the ability to remove ownership access by unlinking." On Meta, the business's own portfolio holds the ad account, the Page and the pixel, and the agency is added as a partner with the access it needs. The reverse arrangement is the one to avoid. An ad account created inside an agency's business portfolio stays in that portfolio; Meta does not let it be moved out later. If an agency offers to "just set it up on our side", that is the moment to say no. Ownership also settles the money question. Google's transparency rules for agencies and other third parties require them to give customers their account IDs on request, to disclose management fees on every invoice, and to "report the exact amount charged by Google, exclusive of any fees that you charge." We think that is the right standard on every platform, not just on Google. Four questions any business can ask its agency today: Are the ad accounts, the Page and the tracking in our business's name? Is your access something we granted, and could remove? Do our reports show the exact platform spend, separately from your fee? If we asked for our account IDs today, would we get them today? If every answer is yes, the business can change agencies without losing a single campaign's history. That is not a risk to a good agency. It is the reason a client can trust one. ### The first hour of a lead (https://maharalabs.com/insights/the-first-hour-of-a-lead) - **Author:** Faiz Hashmi, Founder & Principal Engineer - **Published:** 2026-10-17 - **Summary:** A lead is worth the most the moment it arrives. The research has been public since 2011, and most businesses still answer too late. Most businesses put far more work into getting a lead than into answering one. The ad is tested, the landing page is tuned, the form is cut to three fields. Then the inquiry lands in an inbox and waits for someone to notice it. In 2011, Harvard Business Review published a study of 2,241 firms and how quickly they answered online leads. Firms that contacted a lead within an hour were 7 times as likely to qualify it as firms that took longer, and 60 times as likely as firms that waited 24 hours. The authors' summary was blunt: "Our research shows that most companies are not responding nearly fast enough." The reason is not mysterious. A person who fills in a form is interested now, and has probably filled in a few others. The first business that calls back gets the conversation; the rest get voicemail. The delay is rarely about effort. It is about plumbing. Leads arrive in too many places: a Google lead form, a Facebook form, the website, a missed call to the office line. Each lands somewhere different, and nobody sees them all. Nobody owns the first response. When a lead belongs to everyone, it belongs to no one, especially at twenty to seven on a Friday evening. Nobody knows when one slips. A lead that was never called does not complain. It quietly becomes someone else's customer. The fixes are just as unglamorous: Bring every lead source into one list, the moment it arrives. Alert a named person on the phone they carry, not an inbox they check at night. Text back a missed call straight away, so the caller knows they were heard. Flag any new lead still untouched after an hour, while it can still be saved. Record what happened to each lead, so next month's report says which ads brought customers, not just form fills. None of this needs a bigger budget. Before spending more to get leads, find out how long the ones you already have are waiting. For most businesses, closing that gap is the cheapest growth on offer. ### Tell the ad platforms who became a customer (https://maharalabs.com/insights/tell-the-ad-platforms-who-became-a-customer) - **Author:** Faiz Hashmi, Founder & Principal Engineer - **Published:** 2026-10-17 - **Summary:** Google and Meta learn from whatever you report as a result. If all they ever hear about is form fills, they will find you more form fills. Ad platforms are very good at finding more of whatever you count as a result. Most accounts count a form submission or a phone call. So the bidding learns to find people who fill in forms, including the ones who never pick up, were only browsing, or typed a fake number. The fix is to tell the platforms what happened next: which leads turned into a quote, which became paying customers, and what they were worth. It is called closing the loop, and Google and Meta both have a supported way to do it. On Google, it is enhanced conversions for leads. The email or phone number from the lead form is kept with the lead. When the sale closes, that detail is hashed (scrambled one way, before it leaves the business's systems) and sent to Google with the outcome, together with the ad's click ID when one was recorded. Google matches it to the click that started it. Timing matters: Google will not import an enhanced-conversions-for-leads outcome uploaded more than 63 days after the last click, or a standard offline conversion after 90 days. On Meta, it is the Conversions API, which connects a business's own records to Meta directly from its server or CRM. The window is tighter. Meta rejects any event whose time is more than 7 days before it is sent, so a monthly spreadsheet will not do. Outcomes need to flow every day. Three habits make it work. Capture the identifiers at the start. Keep the click ID from the landing page address and the contact details from the form with the lead, from the first second. They cannot be recovered later. Record outcomes where people already are. If marking a lead as won takes a login and five clicks, it will not happen. One tap from the alert that announced the lead will. Send only what is needed, scrambled, and say so. The privacy policy on the site should tell visitors that their details may be used to measure advertising, and the client agreement should cover it too. The payoff is a different kind of report. Instead of cost per form fill, the numbers become cost per paying customer and revenue per ad dollar, the figures an owner actually decides on. And the platforms learn from the leads that mattered, not just the ones that were easiest to get. ### An AI employee that asks first (https://maharalabs.com/insights/an-ai-employee-that-asks-first) - **Author:** Faiz Hashmi, Founder & Principal Engineer - **Published:** 2026-10-02 - **Summary:** Autonomy is easy to demo and dangerous to run. The design decision that matters most in an AI employee is where it stops and asks. Every demo of an AI assistant shows the same thing: fluent, tireless, doing. It drafts the email, sends the reply, updates the file, books the meeting. The audience leans in. Then someone in operations asks the only question that matters: what happens when it is wrong? We build AI employees for small businesses, and the design problem is not making the AI capable. The models are capable. The problem is drawing the line between what the system may do on its own and what it must ask about first — and making that line visible to a person who does not read changelogs. The rule we ship with is simple to state: the AI acts freely where a mistake is recoverable, and asks before anything consequential. Consequential means it leaves the business, spends its money, or changes its records. Sending mail. Moving files. Anything a customer would notice. Inside that boundary the AI works unsupervised; at the boundary it stops, states what it is about to do and why, and waits. That pause is not a limitation bolted on for safety theatre. It is the feature. An assistant you have to watch is not an assistant; an assistant that never asks is a liability wearing a friendly voice. The pause is what lets an owner hand over the inbox at all. Two details do most of the work in practice. First, the ask has to be small. If the approval prompt reads like a contract, people approve without reading, and the gate is decorative. We hold it to a sentence of intent — what the system is about to do, to whom, and what made it decide — because that is the amount of context a busy person will actually weigh. Second, every action gets an audit record, whether it was approved or done freely. Not a log file somebody might grep one day: a readable trail of what the system did, when, and on whose say-so. When something looks wrong next Tuesday, the question "what did the assistant touch?" has to take ten seconds to answer. The trail is also how trust compounds — the second month of running an AI employee is calmer than the first, because the record was there when something needed checking. The same discipline shows up where AI answers the phone. Our receptionist product answers every call in a natural voice, and its greeting says plainly that the call is answered by an AI. That sentence costs nothing in fluency and buys the one thing a caller owed: the truth about who they are talking to. If you are thinking about putting an AI to work inside a business, resist asking how much it can do. Ask where it stops. The answer to that question is the product. ### Boring on purpose (https://maharalabs.com/insights/boring-on-purpose) - **Author:** Faiz Hashmi, Founder & Principal Engineer - **Published:** 2026-09-25 - **Summary:** Most software does not fail at launch. It fails in the second year, when the interesting people have left and the unglamorous stack has to be run by everyone else. A prospective client once asked, half-joking, whether we felt behind for building on Next.js and Postgres while others were busy with something more exotic. The question deserves a serious answer, because it is really asking what you are paying for when you buy software. You are not buying the build. You are buying the second year. At launch, every stack works. The demo does not care what it is written in. The second year is when the consultancy has moved on, the framework's maintainers have started a new project, and the person who inherits the system is your operations lead, reading the docs on a Friday afternoon because something stopped syncing. That moment — not the launch — is the one we build for. So we are deliberate about boring. TypeScript end to end, because types are a coworker that never gets tired. Postgres, because thirty years of pressure makes a database trustworthy and because it is one your future hires will already know. A managed platform rather than a bespoke cluster, because "we could run this ourselves" is a cost that only shows up later, in pager duty and patch Tuesdays. Automated tests across the whole product, because they are how a nervous team becomes a confident one. The boring stack is also the honest one. When we hand over a system, we hand over runbooks and decision records, and the stack is part of that honesty: we can say "your team can run this" and mean it, because nothing in it requires a specialist on retainer. Novelty cannot make that promise. Novelty bills overtime. None of this means nothing changes. We rewrite when the work shows a better shape, and we adopt a new tool when it stops being new and starts being dependable — the same test the old tools once passed. The pattern we keep seeing in rescue work is the opposite of this: an exciting first year, a stack nobody wants to touch, and a business quietly running on a system everyone is afraid of. The escape from that is not more engineering talent. It is less excitement, chosen early, on purpose. Boring scales. We recommend it. ### Your data, kept apart (https://maharalabs.com/insights/your-data-kept-apart) - **Author:** Faiz Hashmi, Founder & Principal Engineer - **Published:** 2026-09-18 - **Summary:** Multi-tenancy is not a feature you can add later. It is a property of the database, and either it is true where the query runs or it is not true at all. The first question a careful buyer asks about shared software is some version of: who else can see my stuff? The honest answer is decided long before anyone writes a settings page. It is decided by where in the system the promise of separation lives. We run our own business on the marketing and operations platform we built, alongside the tenants who use it. That is the most demanding arrangement we could choose: we are the co-tenant whose data has to stay put like everyone else's. Here is what running that has taught us. Separation enforced by discipline is not separation. If every query has to remember to filter by workspace — if correctness depends on each developer being careful, every time, forever — then the system's isolation is a hope, not a property. People get tired, code gets copied at midnight, and a missing clause in one query is a leak. The only separation worth trusting is the kind the database itself refuses to break. In our platform, every query runs through a scoped client, and row-level security enforces the tenant boundary underneath it. A query that forgets its place does not return a neighbour's rows. It returns nothing, loudly. The same shape shows up in our fleet compliance product, where each carrier's safety records live behind the same wall. A compliance officer's trust is not won on the marketing page; it is won when they ask "how do I know another fleet can't see our audits?" and the answer is a mechanism, not a promise. Two corollaries follow. First, the audit trail matters as much as the wall. Isolation says who could not see your data; the audit says who did see it, and what they changed. Operators that change records leave a trail, and that trail is what makes the system usable by real organisations, where "who approved this?" is a weekly question. Second, test the wall like an attacker. Our tests include the queries a tired developer would write — the ones missing their scope — and they assert failure. A security property that is never exercised negatively is a slogan. If you are buying shared software, ask the vendor where isolation lives. "Our team is careful" is not an answer. "The database enforces it, and we test that it does" is. If you are building shared software, put the boundary where no individual query can route around it, on day one. Retrofitting separation onto a live multi-tenant system is the most expensive migration there is — more expensive than the one you were trying to avoid.