Inspiration

Documentation fatigue- the phenomenon when nurses start to burnout due to overwhelming amounts of documentation- results in higher perceived workloads, and less time for patient care. In fact, a 2022 study by BMC Nursing found that nurses in the U.S can spend up to 40% of their time on documentation. Recognizing this challenge, we set out to build HealthDock - an automated check in kiosk that utilizes arduino and machine learning in order to complete intake forms, collect biometric data, automate documentation, and even prioritize walk-in patients in order to reduce documentation burnout for healthcare providers.

What it does

Kiosk:

Captures temperature, humidity, heart rate, and alcohol detection with level. Patients review their info, fill out intake forms then submit. The kiosk shows a short visit ID like patient0129.

Documentation database:

Write patient data in an easy to access online patient file.

Doctor console:

Shows a live table with name, age, visit ID, and a View Details button for vitals, insurance, symptoms, and duration.

Risk flag:

A light model labels each visit as Emergent, Review, or Normal to help staff sort quickly.

How we built it

Hardware:

Arduino with sensors for temperature and humidity, heart rate, and alcohol detection. The sensors are placed in a compartment within a custom-built wooden kiosk. Under the kiosk is a cabinet that can store hand sanitizer, face masks, and other wait-room necessities.

Kiosk app:

Next.js and TypeScript. The browser uses Web Serial to read the Arduino stream. We collect about 10 seconds of samples, drop outliers, and take the median so numbers are stable.

Doctor console:

A clean table and a details page with clear sections for patient info, vitals, insurance, and symptoms.

Live updates:

When the kiosk submits, it sends a small real-time message through Supabase Realtime broadcast so the doctor screen updates immediately.

Backend ready:

When we persist data, we use Supabase with Row Level Security so the browser can insert only and cannot read private data.

ML risk flag:

A small logistic model trained on synthetic data runs in the browser and shows Emergent, Review, or Normal. If the model is not available, simple thresholds take over.

Challenges we ran into

Using cheap, off-the shelf sensors resulted in messy data that we were able to fix through trial and error calibration and careful schematic planning. Additionally, it essential to build a vessel to house our circuitry and make a clean, user-friendly interface. Some software issues we ran into was making sure that the software fully integrated with our hardware. Having the software and hardware component was particularly troublesome when troubleshooting.

Accomplishments that we're proud of

We built a full vitals kiosk that feels clinic ready, with real sensors, a stable capture flow, short visit IDs, and a doctor console that updates in real time. We set up a safe backend pattern with insert only from the browser and clear data ownership. We added a risk flag that is easy to understand and a simple assistance pathway so teams can react quickly.

What we learned

We learned how to ship as a cross-disciplinary team. CS, CE, EE, and Aerospace backgrounds came together on circuitry, signal smoothing, Web Serial, and a UI that is easy to use. We practiced clean handoffs between hardware, frontend, and backend, wrote simple data contracts, and adopted practical security habits like RLS and strict CORS. Most of all, we learned that clear feedback and fast loops beat complex features.

What's next for HealthDock

We will run a small clinic pilot and tighten the workflow with real feedback. On the kiosk we will add QR wristband or label printing, an optional on-device camera assist, and support for common wireless medical devices. We will also add blood pressure, SpO₂, and weight to the capture flow. For integration we will export in a standard hospital format and add a small server for secure reads, audit logs, and basic analytics. In order to increase accessibility, we plan on adding voice-to-text capabilities and putting our kiosk on wheels. A camera on the kiosk, trained with ML, can also identify patients who come in too incapacitated to fill out forms and alert doctors right away. The goal stays the same: less typing, faster care.

Share this project:

Updates