ClearPath
AI triage that tells rural Australians how urgent a symptom is, even offline.
- Role
- Lead Engineer, team of three
- Year
- 2026
- Status
- Hackathon demo
- Stack
- React · Spring Boot · Claude API · Twilio · Railway

Impact
The results, in brief.
- Triage works with no internet, over plain SMS.
- Urgency shows first, so no one who needs 000 waits on a map.
- Led a team of three from idea to working demo in 3 weeks, writing 73% of the commits.
My role
As lead engineer on a team of three, I built most of the app, connected it to the backend, and built the SMS channel end to end.
Worked with Arun Marx Manoharan (Java backend) and Karthikeyan Sundaresan (deployment and pitch)
What I owned
- React PWA, from the chat to the result card
- SMS channel on Twilio, end to end
- Java API endpoint splitting triage from care options
Calls I made
- Urgency first, care options loaded after
- Texts acknowledged instantly, the answer sent after
- Prompt design: Claude asks one question a turn
How it’s built
The main parts of the system, in the order work flows through them.
Two ways in
An installable React PWA and a plain SMS number both reach one Spring Boot API on Railway. When the browser goes offline, the app offers a text with the symptoms already filled in.
A two-agent triage
Claude asks one question at a time, up to five, then gives a verdict. A second agent checks it against Australasian Triage Scale red flags and can only raise the urgency.
Care options, loaded after
Nearby EDs, GPs, ACCHOs, pharmacies and telehealth come from a separate call. A background lookup starts while Claude thinks, so the data is usually ready when the result lands.
Searches that fit the distance
In cities the search starts at 1 km and widens to 5 km. In rural areas it covers 50 to 75 km. Either way it stops once it finds three open EDs and three open GPs, and rural results also include the Royal Flying Doctor Service, reached through 000.
Live data, curated fallback
Services come live from OpenStreetMap, the NSW pharmacy register and AIHW wait times. A hand-built directory of 15 rural regions answers when those are slow or empty.
SMS within Twilio's limits
Twilio gives a webhook 15 seconds, but a full triage takes longer. The API acknowledges at once, then sends the answer as short messages through Twilio's API.
Nothing stored
No health data is saved. The web conversation stays in the browser, and SMS conversations are held in memory for 30 minutes.
Built with Claude Code
The team wrote the app with Claude Code, going from idea to a working demo in three weeks.
Why it’s built this way
The choices that shaped it, and the reason behind each one.
A second agent as a safety net
A second AI agent checks every result against the Australasian Triage Scale's red flags. It can only raise the urgency, never lower it, and if it fails, the first answer still stands.
Navigation, not diagnosis
The prompts never diagnose. They offer several ranked options instead of one instruction, put a disclaimer on every result, and always send life-threatening signs to 000.
The result first, care options after
Rural clinics are far apart, so outside the cities the app searches 50 to 75 km out and allows up to 30 seconds for results. That is why it shows how urgent the symptom is first. If it's an emergency, the person is told to call 000, Australia's emergency number, straight away instead of waiting for the clinic list.
SMS for black spots
Around 680,000 Australians live in mobile black spots. A text needs no data, so the people who most need triage can still reach it.
Stateless by design
Keeping no health data keeps the app inside the Privacy Act and leaves nothing sensitive to secure.
Let’s connect
I am always open to discussing new projects, creative ideas, or opportunities to be part of your visions. Just reach out!