Jamorham
Nightscout용 xDrip+ 버전
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A voice appointment line for a hospital outpatient desk. The patient says what's wrong out loud; CareLine asks a few short questions, fills in an appointment card, routes them to one of 12 departments at the right urgency, and books a free slot once they say yes. It never diagnoses or gives medical advice.
Emergency checks are code, not AI. Fixed rules read every reply before anything else. If a caller mentions chest pain, a stroke sign or suicidal thoughts, CareLine stops, shows "call 108" and never books.
Built at the London Voice AI Meetup: Build your own voice app, an AssemblyAI × Encode Club build night in London on 1 October 2026, on AssemblyAI's Dictation API.
Try it live (Chrome, with a microphone. The first load can take up to a minute while the free server wakes up.)
Watch the full demo video (28 s, with sound)
"Do you need an ambulance?" → problem → body part → how long → how bad (1-10) / getting worse?
→ name → age → phone (read back to check) → offers one free slot → "yes" books it
On every reply, before anything else:
red-flag rules run on the caller's exact words AND on the model's JSON
→ any match shows the 108 screen, asks about an ambulance, and never books
Staff open #staff (the Staff tab) to see every call, spot emergencies, and correct the
department or urgency.
Each patient reply is one request to AssemblyAI's Dictation API. That single request returns the verbatim transcript and an LLM rewrite, so there is no second model call:
llm_instruction turns free speech ("my right knee's been hurting for about a week") into compact JSON:
symptoms, body part, department, urgency.stt_prompt carries the question CareLine just asked, which helps the transcription of short answers.Short answers such as a name, an age or a phone number are parsed in plain code
(shared/careline-conversation.js), not by the model. "Something in the
evening" or "Monday" picks a different slot.
shared/careline-redflags.js holds 14
categories of emergency (chest pain, breathing, stroke signs, seizures, heavy bleeding, suicidal thoughts,
poisoning and more) in English and Hindi, in both Latin and Devanagari script. I measured why this matters: a
clip about "ending my life" came back from the model with urgency routine. The rules are deliberately
over-inclusive ("no chest pain" still matches), because a false alarm costs a phone call and a missed one can
cost a life. Suicidal thoughts also show the Tele-MANAS helpline, 14416.llm_error: "truncated" on a 69-character transcript. So the model returns short keys and leaves out anything
not said, and parseIntake() in shared/careline-intake.js expands it. The
instruction is checked against the API's 2,048-character limit before every request.shared/careline-booking.js: today gets the
earliest slot today (or first thing tomorrow, flagged as priority), this_week the earliest in the next
5 days, and routine the earliest from 2 days out.server.js is a small Express proxy that adds the
key and forwards the audio.render.yaml sets everything up on Render's free plan; it asks for your AssemblyAI key during
setup. The server caps use so a public link can't run up your bill: 40 replies per visitor per hour and 500
per day in total (a full call is about 10). Change them with DEMO_IP_LIMIT and DEMO_DAILY_LIMIT.
You need Node 20 or newer and an AssemblyAI API key.
npm install
cp .env.example .env # then paste your key into .env
npm start # http://localhost:3000
Open it in Chrome, press Start call and allow the microphone. CareLine speaks, then listens until you pause.
Add #staff to the address to see the staff dashboard.
npm test # 90 tests: red flags, booking rules, intake and answer parsing
server.js Express proxy: holds the key, forwards audio, applies demo limits
render.yaml one-click Render deploy
public/
careline.html/.js/.css caller screen and staff dashboard
schedule.json mock schedule: 28 doctors, 15-minute slots over the next 5 days
shared/
careline-redflags.js emergency rules (English and Hindi)
careline-intake.js the intake instruction and its JSON parser
careline-conversation.js question order and parsers for names, ages, phone numbers, times
careline-booking.js urgency rules and slot picking
wav.js browser recording → 16 kHz mono WAV
test/ node:test suite
docs/ demo video
This is a prototype, not a medical device.
localStorage).The speech plumbing (the proxy and WAV encoding) started from AssemblyAI's Dictation-HelloWorld starter. Font: Atkinson Hyperlegible Next.