> ## Documentation Index
> Fetch the complete documentation index at: https://teralis.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Just the right amount of tech.

> For safer, smoother, leaner operations.

We work with organisations and projects wherever a computer is, or should be, part of how the
work gets done — high tech when that's needed, low tech when that's what's right.

Sometimes that means building something that isn't there yet. More often it's getting more out
of what you already run.

## What that looks like

Some of what we've built, from two-day jobs to systems running for years:

* Giving project managers their own cost and revenue numbers, live, out of an accounting system
  that had no way to share them safely.
* Posting supplier invoices straight into the ERP, so nobody keys them through a portal first.
* Working out which project a machine was on from where it actually was, rather than from a
  form filled in afterwards.
* Reading every note from a week of field inspections, and emailing management what mattered.
* Getting machine telemetry and GPS into the system crews already have open, instead of a
  portal only head office logs into.
* Texting someone the moment their timesheet looks wrong, while they can still remember the
  shift.
* Building a sales pipeline dashboard the CRM wanted a plan upgrade for, without standing up a
  database to do it.
* Letting payroll and project costing read the same timesheet, instead of asking staff to file
  two.
* Putting QR tags on physical assets so the code still resolves after the systems behind it
  change.

[Tell us what could run better →](/contact)

## How we work

> "Simplicity — the art of maximizing the amount of work not done — is essential."
> — Principle 10, Agile Manifesto

<Columns cols={2}>
  <Card title="Right-sized, not one-size">
    Sometimes the answer is a process change, a spreadsheet, or not automating at all. And
    keeping card numbers and personal details outside what we build means the rest doesn't need
    fort-knox security.
  </Card>

  <Card title="The best software isn’t always the best fit">
    Best-in-class doesn't help if the pricing breaks as you add people, or your own data sits
    behind an upgrade. We push what you already run to its limits before buying anything new.
  </Card>

  <Card title="No two setups are the same">
    We arrive with no preferred stack and no fixed way of working. Some clients have an in-house
    tech team, some a data office, some neither. We'll work with yours, bring our own developers,
    or use a shared setup we run ourselves.
  </Card>

  <Card title="Organised data pays for itself">
    Getting data out of the systems holding it and into one real database is where the leverage
    is. It turns a report someone has to remember to open into an alert that finds them — and
    it's what anything later builds on, AI included.
  </Card>
</Columns>

## How we use AI

We build with AI every day. Given the choice between organised data with no AI, and AI on top of
a mess, we'd take the organised data every time.

<Columns cols={2}>
  <Card title="AI for the exceptions, not the norm">
    The standard path should be plain deterministic code. AI earns its place on the cases that
    don't fit the pattern — cheaper to run, and more predictable.
  </Card>

  <Card title="Tokens to build, not to run">
    We'll spend tokens writing software; we'd rather not spend them every time it runs. Building
    this way is cheap enough that small automations clear the bar — and once written, they're
    ordinary code.
  </Card>
</Columns>

Alongside IoT, comms, databases, data visualisation and advanced analytics.

## Clients

<div className="logo-grid">
  <a href="https://www.smcmarine.com.au" target="_blank" rel="noopener noreferrer" className="logo-tile">
    <img src="https://mintcdn.com/teralis/Dzbag_FrFHXJaAvN/images/clients/smc-marine.png?fit=max&auto=format&n=Dzbag_FrFHXJaAvN&q=85&s=0442480d3c4a981f44a6960f87423e01" alt="SMC Marine" width="363" height="150" data-path="images/clients/smc-marine.png" />
  </a>

  <a href="https://www.anewx.com.au" target="_blank" rel="noopener noreferrer" className="logo-tile">
    <img src="https://mintcdn.com/teralis/Dzbag_FrFHXJaAvN/images/clients/anewx.svg?fit=max&auto=format&n=Dzbag_FrFHXJaAvN&q=85&s=0931290930a42e18e919a4c9429bf5e9" alt="AnewX" width="413" height="87" data-path="images/clients/anewx.svg" />
  </a>

  <a href="https://www.lendlease.com" target="_blank" rel="noopener noreferrer" className="logo-tile">
    <img src="https://mintcdn.com/teralis/Dzbag_FrFHXJaAvN/images/clients/lendlease.svg?fit=max&auto=format&n=Dzbag_FrFHXJaAvN&q=85&s=51384589bd67bebc0a4099a1a0fff782" alt="Lendlease" width="641" height="181" data-path="images/clients/lendlease.svg" />
  </a>

  <div className="logo-tile">
    <img src="https://mintcdn.com/teralis/Dzbag_FrFHXJaAvN/images/clients/silcar.png?fit=max&auto=format&n=Dzbag_FrFHXJaAvN&q=85&s=490530e5597f0cbd2dd4d015a540ae92" alt="Silcar" width="198" height="37" data-path="images/clients/silcar.png" />
  </div>

  <a href="https://taronga.org.au" target="_blank" rel="noopener noreferrer" className="logo-tile">
    <img src="https://mintcdn.com/teralis/Dzbag_FrFHXJaAvN/images/clients/taronga.png?fit=max&auto=format&n=Dzbag_FrFHXJaAvN&q=85&s=85eff693d564d136708b0824156cdd62" alt="Taronga Conservation Society Australia" width="2000" height="668" data-path="images/clients/taronga.png" />
  </a>

  <a href="https://www.seao2.com.au" target="_blank" rel="noopener noreferrer" className="logo-tile">
    <img src="https://mintcdn.com/teralis/Dzbag_FrFHXJaAvN/images/clients/seao2.png?fit=max&auto=format&n=Dzbag_FrFHXJaAvN&q=85&s=87c6e195673dfb2cd4f52ebf6d0cec79" alt="SeaO2" width="400" height="136" data-path="images/clients/seao2.png" />
  </a>

  <a href="https://www.nbnco.com.au" target="_blank" rel="noopener noreferrer" className="logo-tile">
    <img src="https://mintcdn.com/teralis/Dzbag_FrFHXJaAvN/images/clients/nbn-co.svg?fit=max&auto=format&n=Dzbag_FrFHXJaAvN&q=85&s=ba50e8776487ea771d17d1a3ddc64b40" alt="nbn co" width="120" height="50" data-path="images/clients/nbn-co.svg" />
  </a>

  <a href="https://arena.gov.au" target="_blank" rel="noopener noreferrer" className="logo-tile">
    <img src="https://mintcdn.com/teralis/Dzbag_FrFHXJaAvN/images/clients/arena.svg?fit=max&auto=format&n=Dzbag_FrFHXJaAvN&q=85&s=5710ad873dabe6892f4300e2cd00b51f" alt="ARENA" width="243" height="42" data-path="images/clients/arena.svg" />
  </a>

  <a href="https://www.transport.nsw.gov.au" target="_blank" rel="noopener noreferrer" className="logo-tile">
    <img src="https://mintcdn.com/teralis/Dzbag_FrFHXJaAvN/images/clients/tfnsw.png?fit=max&auto=format&n=Dzbag_FrFHXJaAvN&q=85&s=801abc227ab0f5740c5504ca4dd8fbe7" alt="Transport for NSW" width="645" height="160" data-path="images/clients/tfnsw.png" />
  </a>

  <a href="https://junttan.com" target="_blank" rel="noopener noreferrer" className="logo-tile">
    <img src="https://mintcdn.com/teralis/Dzbag_FrFHXJaAvN/images/clients/junttan.png?fit=max&auto=format&n=Dzbag_FrFHXJaAvN&q=85&s=5a075af3e627071dda1d1bcde6167773" alt="Junttan" width="986" height="154" data-path="images/clients/junttan.png" />
  </a>
</div>

## We built one ourselves

<Card title="QRtub" href="https://qrtub.com">
  <img src="https://mintcdn.com/teralis/q22BCrKf3KrtXh1W/images/qrtub-logo-light.svg?fit=max&auto=format&n=q22BCrKf3KrtXh1W&q=85&s=2eb218fe21d87ef17802ef02826dc03e" alt="QRtub" height="20" className="qrtub-card-logo qrtub-logo-light" data-path="images/qrtub-logo-light.svg" />

  <img src="https://mintcdn.com/teralis/q22BCrKf3KrtXh1W/images/qrtub-logo-dark.svg?fit=max&auto=format&n=q22BCrKf3KrtXh1W&q=85&s=27bc308d86280ff04b1138570f4ea6b6" alt="QRtub" height="20" className="qrtub-card-logo qrtub-logo-dark" data-path="images/qrtub-logo-dark.svg" />

  Most QR tools bake a URL into a sticker and hope nothing changes. We needed one that didn't, so
  we built it. If you're rolling out QR codes, use it — it works with the systems you already run
  rather than replacing them.
</Card>
