Curaeon is practice management software for Australian general practice, built in Sydney — with an on-premises AI scribe that drafts the clinical note without any consult audio, transcript or clinical content ever leaving the practice. Data sovereignty isn't a feature of the product; it is the product. You'd join before the first paying clinic — the interesting part, and the honest risk.
Curaeon handles the whole clinical day: the appointment book, the patient record, prescribing, pathology and imaging results, referrals and secure messaging, recalls, care plans, immunisations and billing.
The part that makes it different is the scribe. Curaeon listens to the consultation, with the patient's recorded consent, and drafts the clinical note for the doctor to review and sign — and it does that on a GPU appliance sitting in the practice's own comms cupboard. No consult audio, no transcript and no clinical content is sent to any cloud AI service. Every architectural decision we make gets tested against that.
The product is built and working. We begin trials in general practices in December 2026 and launch in March 2027.
Every meaningful change gets an entry in an engineering diary explaining the reasoning — including the things we tried that were wrong. It's the most useful document in the repository, and you'll add to it.
That sentence has cost us real bugs and is now a house rule. We prove things fail before we trust that they pass. If you've ever reverted your own fix to watch the test go red, you'll fit here.
A few invariants are enforced in code and in CI because getting them wrong hurts a patient or a doctor. You don't have to agree on day one — but you argue with them in the design review, not around them in the code.
Each role below opens to the full description — including the honest "this is not the job if". Built in Sydney.
Five full-time engineering roles, based in Norwest, Sydney.
You own the appliance: the ASR and the drafting model that turn a consultation into a clinical note, running on hardware in a doctor's office.
Everything a scribe normally does easily, we do the hard way on purpose. We can't call a frontier API. We can't ship audio to a datacentre for batch processing. We have one GPU box per practice, a doctor waiting at the end of a consult, and a note that has to be good enough for a clinician to sign their name to.
Today the pipeline is faster-whisper for transcription and a local LLM for drafting, wired through a Python worker that pulls audio from an on-LAN object store and posts partial transcripts back over SSE. It works. It is nowhere near as good as it needs to be, and there is no one whose job it is to make it better. That is this job.
You want to train foundation models, or to build on the newest hosted API. Neither happens here, and the constraint is permanent — it's what we sell.
You would build Curaeon's first mobile app, from nothing.
There is no mobile code today. There is a web application that works on a phone, and a patient booking site. That is the whole of it.
We know two mobile products want to exist. Patients want to book, see what they're due for, and get their results without a phone call. Doctors want the appointment book, their results inbox and their messages when they're not at the desk — the two phrases we hear most are "check on the way in" and "sign off from home".
What we have not decided is which comes first, or whether it's native or React Native. We would rather hire the person who's going to live with that decision than make it in their absence. If you have strong views, bring them to the interview — that conversation is part of how we'll assess you, and it's a real decision, not an exercise.
You want a defined roadmap on day one. The first month is deciding what to build, and you'll be arguing for it, not receiving it.
You own the screens a doctor uses six hours a day.
There are around 60 screens in Curaeon and they're not a dashboard. They're the appointment book, the consultation, the prescribing flow, the results inbox — the software that stands between a doctor and their patient, all day. Speed and clarity here aren't polish. A consultation is fifteen minutes, and every second the interface wastes is taken from the person in the chair.
The stack is Next.js 15, React 19 and TypeScript, deliberately light on dependencies. Design tokens are shared with our design system and enforced in CI — a hand-written hex code fails the build.
You're happiest building marketing sites or reaching for the newest framework. This is dense, long-lived application software, and we're conservative about dependencies on purpose.
You own the API, the data model, and the integrations that make Curaeon a real clinical system rather than a demo.
The backend is a Go modular monolith — chi and pgx over Postgres, with numbered SQL migrations embedded in the binary and applied on boot. Around 282 endpoints across the clinical record, scheduling, prescribing, billing, messaging and the scribe.
It is deliberately not a distributed system. We're a small team building software that has to be maintainable for a decade, and a monolith we understand completely beats microservices we half-understand.
The hard part isn't the CRUD. It's that the domain is unforgiving: correctness has a patient at the end of it, deletes aren't allowed, money is never a float, and half the systems you integrate with were specified in the 1990s.
Reading a specification PDF to find out what a field means sounds like a bad week. There's a lot of that, and it is the job.
You take a clinical problem from the doctor's description to the thing running in their practice.
Most of what a practice asks us for doesn't fit one side of the stack. "I need to see which of my diabetic patients are overdue for a review" is a database question, an API question, a screen, and — most of all — a question about what a doctor means by overdue. Handing that across three people loses the part that mattered.
This role is for someone who can hold the whole line: talk to a GP, design the data model, write the Go, build the screen, and watch someone use it. We're explicit that this is a different skill from being a backend engineer who can also write React. The value is in the seams.
Whole features, owned end to end. Recent examples of the shape:
You want deep specialisation. This role rewards breadth and ownership — if you want to go very deep on one layer, one of the four roles above is a better fit and we'd rather you took it.
Every hour a GP spends fighting their software is an hour not spent with patients. And every record sent offshore is a risk no clinic should have to take. Australian general practice deserves better on both counts — and healthcare is a real domain you'll be expected to learn: MBS, PBS, HL7, AIR, Medicare. Nobody arrives knowing this. Everybody here ends up knowing it.
We aim to go from first contact to offer in two weeks, and we tell you where you stand at every step. If we say no, we tell you why.
About what you've built and what you'd want to build here. No whiteboard.
Scoped to about four hours, on a real problem we've actually faced. We pay for it — your time is worth money.
We extend your take-home together, the way we would in a normal week.
A conversation about the company, the risk, and the money.
Tell us what you've built and which role fits. We read every application, and we'll tell you where you stand.
Or browse the five open roles above.