High-Level Requirements
Unified App Shell
- Designing a seamless experience that allows users to navigate between the main app and various
sub-games with ease. This shell will be based on the PHT Lab’s other application, NetGauge, to
ensure a consistent visual style between projects. We will be creating 3-5 specialized Twine
games inspired by workshops conducted within the community, each focused on collecting a specific
hypertension metric (such as dietary logs or blood pressure). These games will serve as examples,
providing a blueprint for how future community-generated content can utilize storytelling as a
form of medical data collection. This also includes extensive documentation and organization
within our games to ensure non-technical users are able to produce their own Twine narratives.
Flutter Platform Accommodation
- To support platform integration, Flutter serves as the central application layer that connects
Twine-based gameplay with backend health data systems. Through a custom communication bridge,
user interactions within Twine modules—such as choices, inputs, or completed tasks—are captured
and transmitted to the Playful Health Technology Lab’s Flutter framework. This ensures that
gameplay actions are not isolated experiences, but instead directly contribute to structured
health data collection, enabling real-time processing, storage, and feedback within the app.
By using Flutter as this unifying layer, we maintain consistency across platforms while ensuring
that culturally grounded gameplay remains tightly coupled with meaningful health tracking.
Firebase Storage
- CardioCare Quest requires a reliable and scalable system for storing health-related data generated
through gameplay. User interactions within Twine modules—such as dietary inputs or blood pressure
logs—must be captured, structured, and transmitted through the Flutter application to Firebase for
secure storage. This system ensures that data is consistently synchronized across sessions and
devices while remaining organized for efficient retrieval and future analysis. By leveraging
Firebase’s real-time capabilities and its integration with Flutter via FlutterFire, the platform
maintains a streamlined backend pipeline that supports accurate data collection without adding
unnecessary development complexity.
High-Fidelity Game Design
- To sustain user engagement and trust, CardioCare Quest must deliver a responsive and
high-performance gameplay experience across all supported devices. Interactions within Twine
modules should produce immediate feedback, ensuring that user inputs like selections or data
entries are reflected without noticeable delay. In addition to responsiveness, the application
must support visually dynamic and culturally grounded designs, translated from a number of workshop
game concepts without compromising performance. By utilizing Flutter’s different capabilities,
the system can maintain consistent performance and fluid interactions, creating an experience
that feels both polished and immersive while supporting the app’s health tracking objectives.
Technologies
Figma
This will be used as our primary UI/UX design tool. It will allow us to create high-fidelity
interactive prototypes and designs for our app shell and Twine games we develop.
Flutter
This will be the tool used to design the surrounding app shell of CardioCare Quest. The
platform for telemetry collection will be implemented within the Flutter shell and will be the
primary point of communication between Twine and the collection pipeline.
Twine Sugarcube
Twine is an open source narrative tool that will allow users to create and import their own
Twine projects into the CardioCare Quest application.
JavaScript
This language will be used for the process of data collection, building out hooks within the
game, and to support the architecture for the Twine to Flutter integration bridge.
Firebase
Firebase serves as the backend infrastructure for CardioCare Quest, handling the storage and synchronization
of user-generated health data. It enables real-time data updates and integrates seamlessly with Flutter
through FlutterFire, ensuring reliable and scalable data management across the application.
GitHub
Our version control system. This ensures that our codebase is properly stored and
accommodates all aspects of collaborative development throughout the project lifecycle.
Current Tech Demo
CardioCareQuestDemo Repository