Using Dynamic Data Generators to Build User-Held Data Apps

How to build decentralized data apps, where the data stays with the user?

Markus Lampinen
Prifina
3 min readAug 10, 2022

--

Image Credit: Freepik, Prifina.

When building an application that uses data, you will need to simulate the app’s behavior and test it out before you hand it over to your users. For the building process, there is no substitute for real data, or is there?

The availability of relevant data for the application is a bottleneck and common problem for app developers. It is highlighted in data-heavy applications and in particular when dealing with personal data sets; such data is not readily available to app developers. Not to mention that data is sensitive and private.

For apps built on user-held data, this required a solution. For this reason, we created Prifina’s open-source Dynamic Data Libraries to be used in product development and data engineering.

Ecosystem Collaboration Drives Value

The value of using these libraries extends beyond our own needs for anyone creating apps on personal data, including the creators of the original data source apps, their developer communities, and even our future competitors.

The more collaboration we have around data models and dynamic data, the faster these and the overall field of personal data applications will develop. Same with the quality of this artificial data and its usefulness for various development needs — from simple technical testing, to UI and user testing, to training ML models.

The libraries include data models and dynamic data generators for popular data sources, including 23andme, ancestry.com, Foursquare, Fitbit, Garmin, Google, iOS, Lyft, Ōura, Peloton, Runkeeper, Strava, Twitch, Uber, Whoop, and Withings.

These data sources generate hundreds of different types of data objects, with an incredible amount of cross combinations. Data objects include genetics, location, activities, sleep, stress, rest, recovery, travel, allergens, pollution, noise, weather and inside atmosphere.

How do you use these Dynamic Data generators?

The dynamic data library includes the data model and example artificial data. To utilize the data model you can generate artificial data using the libraries engine (e.g., generating 24 hours of time series data from the heartRate object from a popular device such as Fitbit).

The dynamic data libraries are natively integrated into the Prifina platform’s App Studio, the developer and the app builder console. From there, you can render a remote dynamic app component from any arbitrary third party public storage and plug in the dynamic data libraries to see how the app behaves when populated with dynamic data.

For example, suppose you are building an app that gives your users feedback on their sleep quality. In that case, the dynamic data libraries can simulate different parameters of sleep from different data sources, for example, from the Ōura smart ring, parameters like sleep duration, HRV, resting heart rate, body temperature, readiness scores, and more.

You can find and utilize the libraries on npmjs here.

The Dynamic Data library is also available on Github, where we encourage community collaboration to both:
1) improve the current libraries quality and
2) increase the availability of popular data sources, models and dynamic data generators.

Given the popularity and utility of other data libraries, we can’t wait to see what the community utilizes these for and what they build.

Additional Resources:

Connect with us and stay in touch

Prifina is building resources for developers to help create new apps that run on top of user-held data. No back-end is needed. Individual users can connect their data sources to their personal data cloud and get everyday value from their data.

--

--

Markus Lampinen
Prifina

Entrepreneur in data, fintech. Likes puzzles. Passionate about personal freedom. Building separation of data from apps.