Warning
This template is a work in progress, and not yet stable for production use. Please use SpeziTemplateApplication instead.
SpeziVibe is a React Native + Expo template for building cross-platform digital health applications. Inspired by the Stanford Spezi framework, it provides essential patterns for onboarding, task scheduling, questionnaires, and user engagement—optimized for rapid prototyping and AI-assisted development.
- 📋 Onboarding Flow - Multi-step onboarding with feature highlights and informed consent
- 📅 Task Scheduler - Flexible scheduling with daily, weekly, monthly recurrence patterns and completion policies
- 📝 Questionnaires - Dynamic forms built with Formik and Yup validation (text, scale, multiple choice, boolean)
- 👥 Contact Management - Built-in support team and emergency contact templates
- 🎨 Theme Support - Full light and dark theme support
- 💾 Local Persistence - AsyncStorage for offline-first data storage
- 🚀 Vibe Code Friendly - Clean, well-structured codebase designed for AI-assisted development
- Node.js 18+
- npm or yarn
- Expo Go app (for mobile testing) or iOS Simulator/Android Emulator
# Clone the repository
git clone https://github.com/StanfordSpezi/SpeziVibe.git
cd SpeziVibe
# Install dependencies
npm install
# Start development server
npx expo start- Press
ifor iOS Simulator - Press
afor Android Emulator - Press
wfor Web - Scan QR code with Expo Go on your device
- Task categories: questionnaires, measurements, reminders, custom tasks
- Recurrence patterns with time windows
- Completion tracking with outcomes and timestamps
- Date-based event querying
- Multiple question types: text, scale (1-10), multiple choice, boolean
- Real-time validation with Yup schemas
- Integration with task scheduler
- Response storage in AsyncStorage
- Welcome screen with app features
- Interactive feature showcase with pagination
- Informed consent with digital signature
- Completion confirmation
- Expo - React Native development platform
- React Native - Cross-platform mobile framework
- TypeScript - Type-safe JavaScript
- Expo Router - File-based navigation
- Formik - Form state management
- Yup - Schema validation
- AsyncStorage - Local data persistence
Contributions to this project are welcome. Please make sure to read the contribution guidelines and the contributor covenant code of conduct first.
This project is licensed under the MIT License. See Licenses for more information.