Introduction
Project Name
Pulse
An open-source, mobile-first FHIR health data vault utilizing Sia’s indexd packing engine.
Name of the organization or individual submitting the proposal:
Vaibhav Vemula @vaibhavv
Github - vaibhav-vemula (Vaibhav Vemula) · GitHub
Linkedin - https://www.linkedin.com/in/vaibhavvemula
Describe your project.
Pulse is a health data tracking app. The main problem with present wearables is vendor lock in. Big tech companies intentionally trap your fitness metrics inside their own apps to keep you in their ecosystem. They store your sleep and workout history on their corporate cloud servers so you are forced to keep buying their hardware and subscriptions.
Because they hold your history hostage, you lose everything when you switch to a new brand. Your past data is completely gone, forcing you to start over with a blank slate. This makes it almost impossible to monitor your long term health trends over several years.
You can use Pulse to solve this problem. The app fetches your fitness metrics directly from Android Health Connect and Apple HealthKit. It stores the information in a local cache and then sends it straight to the Sia decentralized network. If you switch off the native cloud sync in your phone settings, your data is not stored in the corporate cloud anymore and your personal information stays entirely safe.
When you decide to change your wearable watch in the future, there is no data loss. This works perfectly because all of these apps store and organize the data in the standardized FHIR (Fast Healthcare Interoperability Resources) format under the hood. Pulse brings all your history together so you truly own your health records.
How does the projected outcome serve the Foundation’s mission of user-owned data? What problem does your project solve?
Pulse serves the Sia Foundation mission of user owned data by turning a standard mobile phone into an independent storage client. It directly aligns with the committee funding priorities by targeting the specific SDK use case for small files with constant changes.The project solves two main problems.
First, it eliminates wearable vendor lock in. Right now, fitness trackers trap your private biometric history inside their corporate cloud databases. When you change your watch to a new brand, your years of historical sleep and heart rate tracking are completely lost because you cannot easily take the data with you. Pulse lets users sync this data directly from their phone local portals and move it onto the Sia network instead of a corporate cloud. Because all wearables format this data into the standardized FHIR format under the hood, your history is kept safe and continuous without any data loss.
Second, it solves the file fragmentation and repacking issue for mobile applications using the Sia SDK. Biometric data is noisy and creates thousands of tiny data points every single day. If an app tries to sync these small files to Sia constantly, it will exhaust the phone battery and clutter the network contracts. Pulse solves this by collecting the constant stream of small data changes inside an on device SQLite cache first. An automated background worker then packs, compresses, and encrypts a full day of records into a single optimized bundle before passing it to the native Sia Mobile SDK. This demonstrates a highly efficient, production ready way for regular consumers to use decentralized storage without any technical friction.
- Are you a resident of any jurisdiction on that list? No
- Will your payment bank account be located in any jurisdiction on that list? No
Grant Specifics
Amount of money requested and justification with a reasonable breakdown of expenses:
The total requested amount is $8,400 USD, paid out across a three month development timeline. This budget is allocated to developer fees for $2,800 per month. No additional hardware, equipment, or third party infrastructure costs are requested.
| Category | Detail | Amount (USD) |
|---|---|---|
| Milestone 1 Core Ingestion | Expo UI, HealthKit integration, Health Connect integration, FHIR serializer (at ingest), SQLite staging cache, biometric gate, SecureStore seed setup | $2,800 |
| Milestone 2 Bin-Pack Worker | Local uploads directory buffer, bin-pack worker (expo-task-manager), gzip bundler, SQLite flush logic, age-based fallback trigger | $2,800 |
| Milestone 3 Sia Sync + Release | react-native-sia integration, indexd App Key auth, upload flow, CID metadata index, GitHub release + developer docs | $2,800 |
| Total Funding | Developer fees for 3 months | $8,400 |
What is the high-level architecture overview for the grant?
Component Breakdown
-
React Native Expo UI Layer delivers a cross-platform dashboard for fitness graphs and permission control while protecting data views using native biometrics via
Expo LocalAuthentication. -
Health Data Frameworks tap directly into native operating system portals using
react-native-healthandreact-native-health-connectto capture background delta metrics from Apple Watch, Wear OS, Whoop, and Garmin. -
On-Device Processing Layer instantly converts raw incoming biometrics into universal FHIR R4 JSON blobs, stages them inside an
Expo SQLitecache, and batches them into sandboxed.ndjsonfiles viaExpo FileSystem. -
Sia Processing Layer manages background automation using an
Expo TaskManagerloop to run a space-efficient bin-packing algorithm, packing local files until they approach the optimal 4 MiB sector slab size. -
Sia Decentralized Network leverages the native Rust FFI framework
react-native-siato execute zero-knowledge client-side encryption before offloading file pinning and contract management to anindexdprovider.
Data Flow Explanation
First, the user bypasses the biometric security gate using FaceID or a fingerprint scan. This verification unlocks the application runtime and releases the user’s private Sia seed from the hardware-backed Expo SecureStore vault directly to the SDK memory space.
Next, the background health modules query the device fitness registry for fresh metrics using an anchor system to capture only new data changes. The app captures these delta events, immediately standardizes them into FHIR JSON format, and inserts them directly into the local staging cache database.
Once a day, or as soon as data limits accumulate, an automated task manager routine wakes up to flush the database logs out into a local sandboxed directory. The engine counts the total file sizes and runs a bin-packing check to minimize network space waste.
Finally, when the directory collection reaches 90% of a 4 MiB sector slab or hits a 3-day maximum age limit, the files are zipped together. The react-native-sia SDK encrypts the bundle locally using the derived seed keys and uploads the package to an indexd provider, which pushes the encrypted shards to the Sia network and returns a content identifier (CID) for local metadata indexing.
What security best practices are you following?
-
Hardware-Backed Key Isolation (
Expo SecureStore&LocalAuthentication) The 12-word Sia seed is safely locked inside the phone’s physical hardware enclave (iOS Keychain / Android Keystore) and is only released to app memory after a successful biometric fingerprint or FaceID scan. -
Isolated Device Sandboxing (
Expo FileSystem&Expo SQLite) All raw health data and temporary.ndjsonfiles are kept strictly inside the operating system’s private app sandbox, preventing any third-party apps from accessing or reading local files. -
SDK-Level Native Encryption (
react-native-sia) To keep the app efficient native Sia SDK automatically handles zero-knowledge, client-side encryption using keys derived directly from the hardware-secured seed phrase before any file touches the network.
What are the goals of this small grant? Please provide a general timeline for completion.
The primary goal is to build Pulse mobile app that lets everyday users privately own and control their personal health data.
Break wearable lock-in Build a single app that pulls fitness data from any device (Apple Watch, Whoop, Fitbit, Garmin) and stores it in one place the user controls, not a corporate cloud.
Solve the small-file problem for mobile Show how a phone can continuously collect health metrics, batch them efficiently, and sync to the Sia network without draining the battery or wasting storage space.
Make decentralized storage invisible Deliver a simple, consumer-friendly interface so anyone can secure their health records on Sia without any technical knowledge, no command line, no server setup required.
Month 1: Core Ingestion Plane and SQLite Cache
-
Focus: Frontend interfaces and local operating system hooks.
-
Deliverables: Build the primary React Native Expo dashboard screens. Implement system permission handling and establish data extraction pipelines from native iOS HealthKit and Android Health Connect modules. Configure the internal Expo SQLite staging cache to store raw streaming metrics locally on the device partition.
Month 2: Compaction Worker and Local Encryption
-
Focus: Data optimization and on-device cryptographic security.
-
Deliverables: Write the local data mapping scripts to translate incoming raw fitness metrics into universal FHIR JSON files. Build an automated file-bundling routine that compresses a full day’s worth of database tracking logs into single zipped packages. Integrate Expo SecureStore and hardware enclaves to securely manage private keys locally.
Month 3: Packed indexd Sync and Public Validation
-
Focus: Network integration, automation, and open-source release.
-
Deliverables: Integrate the official
react-native-sialibrary into the Expo build pipeline. Configure background workers to automatically encrypt and upload the bundled daily data packages using an App Key pointing to an indexd provider. Deliver comprehensive developer setup documentation and open-source the entire codebase on GitHub for public community audit and maintenance.
Who is the target user for your project?
-
People who want privacy: They want to track their health without big tech companies seeing, selling, or using their personal data.
-
People who change watches: They want to switch fitness tracker brands freely without losing years of past health records.
-
People avoiding monthly fees: They want to look at their long-term fitness trends without paying a subscription just to see old data.
-
People with health conditions: They need a safe, permanent record of their daily body trends without trusting a corporate cloud server.
-
People who want raw data: They want to keep and download their actual health files directly on their phone to use however they want.
What are your plans for this project following the grant?
Following the grant, Pulse will remain open source and freely available with no plans for monetization. The repository will be actively maintained on GitHub, welcoming community contributions and staying current with any changes to the Sia network or mobile health platform APIs.
Potential risks that will affect the outcome of the project
-
FHIR Schema Volatility
Health data structures shift across device manufacturers and OS versions. Rather than parsing records against a strict schema, the app stores payloads as raw JSON blobs and only indexes basic root-level fields. This means schema changes in HealthKit or Health Connect do not break the ingestion pipeline. -
Battery and Thread Exhaustion
Continuous background health updates from the OS can lock application threads and drain battery if handled naively. Ingestion and network sync are kept completely separate. The app writes incoming records to a local queue immediately and the upload worker runs independently on its own schedule, so neither operation blocks the other. -
Distributed Network Latency
Uploading to a decentralized host network introduces unpredictable timing. The app never waits on the network before confirming success to the user. Records are committed to the local cache first and the indexd upload runs asynchronously in the background, so a slow host or contract delay is invisible to the user.
Development Information
- Will all of your project’s code be open-source? Yes.
- Leave a link where code will be accessible for review: GitHub - vaibhav-vemula/pulse · GitHub
- Do you agree to submit monthly progress reports? Yes.
Contact Info
- Email: [email protected]
- Discord: @vaibhaaaavvv
- GitHub: vaibhav-vemula (Vaibhav Vemula) · GitHub
