AI consultant · Calgary

I build AI
that does the work.

I'm Evan Cao. After a decade in enterprise analytics, I now build voice agents, document pipelines and agent workflows that run inside real businesses, tuned to how each one actually works.

  • PMP certified
  • BI for Finning, Air Canada, Enbridge
  • Founder, Sophon Studio
One role, run by agents
Operations Data AnalystExample role
    Data and BI
    Documents
    Research
    Writing
    Build and IT
    Evan reviews
    Delivered
    Enterprise data work for FinningAir CanadaEnbridgeCenovusConocoPhillipsAlberta Energy Regulator AI shipped on rundlebike.caapp.sophonstudio.ca
    Just over a minute

    See it instead of reading it.

    Read the transcript

    Meet Evan, an AI consultant in Calgary who builds AI that does real work, inside real businesses. It starts with a decade of enterprise analytics, for companies like Finning, Air Canada and Enbridge. That's where Evan learned what useful work looks like. Out of the box, AI does things the generic way. Evan makes it do things your way. Each company's systems, terms and rules get written down as context files and reusable skills that every agent follows. Models are tested head to head on the same tasks, and each job goes to the model that earns it on quality and cost. The result is working systems. A phone agent that answers missed calls, checks live availability, and texts a booking link. An invoice pipeline where three models read every invoice, and anything they disagree on goes to a person. A complete rental platform, from online booking to the staff counter app, running a bike shop in Canmore. Plus websites, music videos and 3D, all made with the same agent workflows. Have work that needs doing? Send Evan the role or the problem, and get back a clear plan and a fixed fee.

    Systems I've built

    Not demos. Working systems for real businesses.

    Each one started as a job someone was doing by hand.

    01 · AI voice receptionist

    A phone agent that books, texts and hands off.

    Answers missed calls, checks live availability and texts the caller a booking link.

    How it works
    • Two models, two jobs. A real-time speech model listens and talks; a cheaper reasoning model runs the tools.
    • Signed connectors. The agent calls the business's own API. It never touches their database.
    • Every call reviewed. A second model scores each call and flags anything the agent claimed but didn't confirm.
    • Guardrails in code. It admits it's an AI, never takes card numbers and keeps spam from being transferred.
    • Real-time voice
    • Twilio SIP
    • Node
    • Postgres
    app.sophonstudio.ca
    Call flow, illustrative booking callScroll to play
    Caller to business line to Twilio SIP trunk to a real-time speech model. The Sophon bridge loads the agent, a tool model calls the Rundle API, and after the call a review model notifies staff. Callerany phone Business lineforwards missed calls Twilio SIPTLS + SRTP Speech modellistens, talks, interruptible Sophon bridgeagent, facts, limits Tool modelruns the actions Rundle APIsigned connector Call reviewsummary, score Owneremail, SMS alerts
    Simulated call for illustration. Real calls follow the same path.
    02 · Accounts payable portal

    Every invoice read three times. Trusted only when the reads agree.

    For a property group's payables team. Three model reads per invoice; disagreements go to a person.

    How it works
    • Consensus reading. Three model reads run in parallel. Every money field must match to the cent. A majority isn't enough.
    • Disagreement goes to a person. The approver sees exactly which fields didn't agree.
    • Pluggable providers. OpenAI, Claude and Azure Document Intelligence behind one adapter. A misconfigured provider stops the app instead of faking data.
    • Approvals and audit. Sequential approvals with thresholds and escalation. Every status change writes an append-only audit record.
    • Next.js
    • TypeScript
    • OpenAI
    • Claude
    • Azure
    • Playwright
    Consensus read, sample invoiceScroll to play
    Vendor upload goes to three parallel model reads, then a consensus check, then human verification, sequential approvals and export. Vendor PDFscanned on upload Reader Amodel read Reader Bmodel read Reader Cmodel read Consensusunanimous or flag Verify + approvesequential, audited Export + archive
    FieldABCResult
    Invoice no.INV-20418INV 20418INV-20418Agree
    Date2026-09-142026-09-142026-09-14Agree
    Subtotal$4,180.00$4,180.00$4,180.00Agree
    GST$209.00$209.00$290.00Disputed
    Total$4,389.00$4,389.00$4,389.00Agree
    Sample data. Punctuation in invoice numbers is ignored; money must match to the cent.
    03 · Rundle Bike

    A rental shop that runs on three people and a lot of software.

    The whole operating system behind a bike rental shop in Canmore, from booking to the staff counter.

    How it works
    • Booking assistant. A chat agent with eight tools answers from live availability and hands off to staff when it should.
    • ID reading. A vision model reads the renter's name off their ID at check-in, with a prompt-injection guard.
    • Hands-off operations. Weather-aware pricing, a 14-day demand forecast, reminders, lock codes and a nightly fleet reset.
    • Express
    • Postgres
    • Stripe
    • Twilio
    • three.js
    rundlebike.ca
    One platform, eight surfacesScroll to play
    The Rundle platform core connects to guest booking, a chat assistant, e-waivers, a staff counter app, an admin command center, a hotel portal, scheduled jobs and the phone agent connector. Guest bookingStripe checkout Chat assistant8 tools, live data E-waiversper reservation Counter appcheck-in, ID read Rundle coreAPI, Postgres Command centerfleet matrix Hotel portalguest referrals Scheduled jobsreminders, lock codes Phone agentsigned connector
    Every surface reads and writes the same reservations, so nothing is keyed twice.
    04 · Sophon Studio

    An AI production line that ships client websites.

    My studio's build line: agents implement and review, I set the spec and sign off.

    How it works
    • One prompt, spec to deploy. A builder agent implements; a reviewer agent screenshots at desktop and phone widths and returns ship or fix.
    • Locked design rules. Type scale, spacing, color and banned marketing words live in each project's context file.
    • A demo factory. Over a hundred source-checked demo sites, each signed off by an independent reviewer agent.
    • Claude Code
    • Codex
    • Playwright
    • Railway
    • Cloudflare
    sophonstudio.ca
    Ship pipeline, one client pageScroll to play
    Spec goes to build, build and review loop until the reviewer passes it, then deploy. Specplanner model Buildbuilder agent Review1440px and 375px Deploygated release
    Approach

    Out-of-the-box AI does it the generic way. I make it do it yours.

    Your systems, terms and standards, written down once as context files and skills that every agent follows.

    1. Break the work into deliverables

      Each recurring output gets an owner, a cadence and a quality bar.

    2. Write your context file

      Systems, data sources, terminology and rules that every agent reads before it starts.

    3. Build a skill for each workflow

      A tested, written procedure: inputs, steps, checks and output format.

    4. Route each task to the right model

      Chosen from my own head-to-head evaluations on quality, cost and time.

    5. Review and deliver

      I check every output against the agreed bar before it reaches you.

    Run my workflowPick a task
    1. Context
    2. Skill
    3. Model
    4. Run
    5. Review
    0tokens
    0%from cache
    0:00agent time
    Illustrative runs at typical sizes, following my real routing rules.
    Model evaluations

    I test models before I trust them.

    Same tasks, several models, graders written first. Each kind of work goes to the model that earns it.

    Real-work suite, 12 frozen cases
    Top tierlargest model0/12$0.00
    Mid tierhalf the price0/12$0.00
    Small tiera few cents0/12$0.00
    Passed first try Missed Fixed by mid tier

    What came out of it

    Work typeRouted toWhy
    Writing, design, judgment callsTop tierWhere quality is the product
    Bounded build work with checksMid tierSame pass rate, about half the cost
    Extraction with full validatorsSmall tierCents per run when a grader catches misses
    Anything the small model missesMid tier repairAll five fixed in one attempt each
    Agentic workflows

    My own business already runs this way.

    Agents with defined roles and handoffs, and a review step before anything goes out.

    Agent team, one task from scope to shipped
    Lead scopes the task, research gathers facts, creative owns the copy, engineering builds, QA verifies independently, the lead accepts and Evan signs off. Leadscopes the task Researchgathers facts Creativeowns the copy Engineeringbuilds, releases QAverifies alone Leadaccepts Evanfinal sign-off
    43custom skills across Claude and Codex, each a written, tested procedure
    140+project context files holding each project's rules, accounts and quality bar
    16scheduled automations, from booking smoke tests to email triage
    2MCP servers I built: a CRM agents work in, and a DaVinci Resolve controller
    AI usage, by the numbers

    80 billion tokens. And counting.

    Real numbers from my Codex profile and my Claude Code logs. Almost all of it is context the agents re-read on every turn, which is why good context files pay off.

    80B+lifetime tokensCodex 48B · Claude Code 32B
    113day streakdays in a row
    104hlongest single taskone agent, one job
    611Claude Code sessions143,627 model responses
    97%served from cachecontext, re-read cheaply

    Models I lean on

      Tokens by model. Codex split from local logs since September.

      Where the tokens go

        Claude Code, all sessions. Output is the part the models actually wrote.

        Portfolio

        Live sites and apps, built with the same line.

        Ecommerce, booking, ticketing and marketplaces, each running for a real business.

          Creative lab

          Music, animation and 3D, made with the same agents.

          Hallucination Hits, my AI music channel: Suno songs, animated entirely in code.

          Claude vs ChatGPT: Number One (For Now)

          An AI rap battle between two assistants. My most-watched video.

          • Suno
          • Code-drawn animation
          • ffmpeg

          Canmore in 3D

          A Blender recreation of Canmore and the Bow Valley built from map data and checked against street imagery. Map data © OpenStreetMap contributors.

          • Blender
          • Geometry Nodes
          • OpenStreetMap
          All videos on the Hallucination Hits channel

          Jingle ads for local trades

          Thirty-second spots with an original jingle and a 3D marble animation, made for Sophon Studio's social channels. Around fifty produced so far.

          • Suno
          • Blender
          • Code animation
          Career, skills and builds

          Everything connects. Explore it.

          My career as one map. Pick a role to see what it led to, or switch to the timeline.

          Browse as a list
          Evan Cao in the Rundle Bike shop in Canmore
          PMPProject Management Institute
          B.CommHaskayne School of Business, University of Calgary
          BI Data Analysis and ReportingSAIT
          Microsoft certificationsPower BI Data Analyst, Querying T-SQL
          Download resume (PDF)
          Work with me

          Pay for outcomes, not hours.

          A fixed fee against agreed deliverables. You review results; I handle the agents and the fixes.

          1. 01

            Deliverables, agreed up front

            We define what done looks like: the reports, documents, systems or analyses, and the bar each has to meet.

          2. 02

            A fixed fee

            No hourly billing and no payroll. Typically around half of what you'd budget for the role.

          3. 03

            Guaranteed

            If something misses the bar we set, I keep at it until it meets it.

          4. 04

            Your systems or mine

            I can work inside your tools and access controls, or run the work on my own AI setup and hand you the output.

          Have a role in mind? See how I'd cover it.
          Stays in your browser. Nothing is sent anywhere.
          Paste a posting to see each duty matched to an agent workflow, or to me where it needs a person.
          Questions

          The fair questions.

          How can one person cover a full-time role?

          Most of a role's hours go to repeatable work: pulling data, drafting, formatting, checking, chasing. Agents do that part quickly once they have your context and skills. My time goes to the parts that need judgment: scoping, reviewing and fixing.

          What if the work doesn't get done?

          We agree on the deliverables and the quality bar before I start, and I guarantee those. If something doesn't meet the bar, I keep working on it. You're paying for the result, so the risk of it taking longer sits with me.

          Do you need access to our systems?

          Only if you want me working inside them. I can operate within your tools and permissions, including any AI platform you already use. Or you share the inputs, I run the work on my own setup and send back the finished output.

          What about confidential data?

          We decide before work starts what data can leave your environment, if any. When it can't, I work inside your systems. I follow your security and data policies, and I don't publish or reuse client material.

          What kinds of work fit?

          Knowledge work and IT work with clear outputs: data and BI, reporting, documentation, research, operations support, web and internal tools, and AI implementation itself. Work that needs someone physically on site is not a fit.

          Is this a contract or employment?

          A fixed-fee consulting engagement. I'm not on your payroll, I don't bill hourly, and you don't manage my day. You manage the deliverables.

          Have work that needs doing?

          Send me the role, the problem or the process. I'll come back with what I'd deliver, how I'd run it and a fixed fee.