DEV Community

Cover image for SysH1: Building a Personal Health Journal for Everyday Life
Rahul Shrivastava
Rahul Shrivastava

Posted on AI-assisted

SysH1: Building a Personal Health Journal for Everyday Life

This is a submission for the MLH x DEV Writing Challenge

What I Built

I built SysH1, a personal health system designed to bring everyday health tracking into one place while giving users a choice in how their data is stored and synchronized.

The idea started with a simple observation: maintaining personal health records is not just about tracking a number on a scale. It can involve meals, hunger, sleep, water intake, symptoms, medicines, and the everyday notes that help put those records into context.

I wanted to build a single application where these pieces could live together.

SysH1 has a dashboard and dedicated sections for weight tracking, meal logging, hunger, symptoms, sleep, water intake, medicines, insights, reports, a daily journal, and a calendar. It also includes data import and export functionality.

But the part I found especially interesting was the architecture behind the experience.

Why local-first?

I wanted local storage to be a first-class part of the application, rather than making a cloud account a prerequisite for recording everyday information.

SysH1 includes a local-only mode that stores health entries in the browser's IndexedDB database. Cloud synchronization is an optional part of the application, with a separate interface for account linking and managing connected devices.

The application also includes a local device-lock flow, configurable auto-lock behaviour, and a QR-code-based device-pairing interface.

The intention is to combine the convenience of a personal health journal with more control over where its data lives and when it is synchronized.

How I approached the implementation

The application is built with React and TypeScript. Its structure separates the different health-tracking views from shared application state, local storage services, authentication, synchronization, and device-management components.

This separation matters because a weight entry and a meal entry may look different in the interface, but they share a broader requirement: the application should be able to record, retrieve, and organize personal information consistently.

The project also includes a synchronization layer designed to support encrypted data transfer between registered devices. The application code implements AES-GCM encryption logic and QR-based pairing flows; the security of the complete system still depends on the correctness of the implementation, configuration, and deployment.

What I learned

Building SysH1 has pushed me to think beyond the interface.

A personal application must do more than look good. It needs a sensible data model, reliable persistence, thoughtful error handling, and a clear distinction between what happens locally and what requires a network connection.

I have also learned that privacy-conscious architecture requires deliberate decisions. Encryption, device pairing, authentication, and synchronization cannot be treated as interchangeable features, and adding them introduces complexity that must be tested carefully.

SysH1 is my exploration of those decisions in a practical, everyday application.

Demo

Live application: https://sysh1.orbithq.cloud

The application brings together personal health tracking, a local-only mode, and interfaces for optional cloud synchronization and device pairing.

Partner Technologies

The verified technologies in the repository include:

  • React and TypeScript for the application interface and application logic.
  • IndexedDB for local persistence of health records.
  • Cloudflare D1-related synchronization infrastructure in the project's backend architecture.
  • Web Crypto APIs for the application's encryption logic.
  • QR-code generation for the device-pairing experience.

What's Next?

I want to continue improving SysH1's reliability, usability, and synchronization experience.

Future work will focus on testing the complete data lifecycle across devices, refining the import and export experience, and reviewing the security assumptions behind local storage, authentication, encryption, and key management.

The long-term goal is to create a dependable personal health system that makes everyday tracking easier without losing sight of data ownership and privacy.

SysH1 began with the need for a more organized way to maintain personal health records. Building it has become an opportunity to explore a bigger question: how can we make useful personal software while giving people more meaningful control over their information?

Hackathon Experience

Building SysH1 has been an opportunity to turn a personal idea into a working application and explore how thoughtful engineering can solve everyday problems.

What made this project particularly interesting was going beyond the visible features. While building weight tracking, meal logging, and personal health records, I also worked on the underlying architecture, including local data storage, optional cloud synchronization, and QR-based device pairing.

One of the biggest lessons from this journey has been understanding that building an application is not just about making features work independently. It is about making different systems work together while keeping the experience simple for the user.

SysH1 challenged me to think about data ownership, application architecture, and the trade-offs involved in building a personal health system. It also reinforced the importance of testing what I build rather than assuming that an implementation is complete simply because the code is written.

The experience has motivated me to keep improving the application, refining its existing features, and exploring how local-first software can give users more control over their personal information.

mlhacks #webdev #typescript #cloudflare #buildinpublic

Top comments (0)

The discussion has been locked. New comments can't be added.