Equilibrado is a comprehensive health monitoring and exercise application designed specifically for elderly users to prevent falls and cognitive decline through engaging physical and mental exercises integrated with IoT devices.
As the population ages, falls and cognitive decline become increasingly significant health concerns for the elderly. Equilibrado addresses these challenges by providing a structured, gamified platform that encourages regular physical activity and mental stimulation through the use of specialized IoT devices.
- Interactive Exercise Programs: Guided exercises using IoT devices (IMU Band, Balance Disc, Touch Pads)
- Real-time Sensor Monitoring: Track movement data with accelerometer and gyroscope readings
- Progress Tracking: Monitor exercise completion, streaks, calories burned, and activity minutes
- Gamification: Competitive leaderboard system to encourage consistent participation
- Mental Exercises: Cognitive training activities including memory, attention, reasoning, and creativity exercises
- Health Recommendations: Evidence-based tips for nutrition, sleep, and social engagement
- Personalized Dashboard: Overview of daily goals, weekly progress, and achievement streaks
- Framework: React Native with Expo (~54.0)
- Language: TypeScript
- Navigation: Expo Router (file-based routing)
- Graphics: react-native-svg for circular progress indicators
- Styling: StyleSheet API with custom theming system
- Icons: SF Symbols via IconSymbol component
-
Home (Inicio) -
app/(tabs)/index.tsx- Personalized greeting and user statistics
- Current streak tracker with fire indicator
- Quick stats: exercises completed, total minutes, calories burned
- Weekly goal progress visualization
- Activity summary cards
-
Exercises (Ejercicios) -
app/(tabs)/exercises.tsx- Daily progress overview
- Device-based exercise filtering (IMU Band, Balance Disc, Touch Pads)
- Exercise cards with duration, difficulty, and calorie information
- Completion status tracking
-
Exercise Detail -
app/exercise-detail.tsx- Circular countdown timer with SVG progress indicator
- Real-time sensor data simulation (accelerometer, gyroscope)
- Repetition counter and calorie tracker
- Play/pause/stop controls integrated into timer
- Reset functionality
-
Leaderboard (Ranking) -
app/(tabs)/leaderboard.tsx- Top 10 user rankings with medals
- Points and exercise completion tracking
- Current user position highlighting
-
Recommendations (Consejos) -
app/(tabs)/recommendations.tsx- Mental exercises (memory, attention, reasoning, creativity)
- Health tips (nutrition, sleep, social engagement)
- Evidence-based recommendations
The application is designed to work with three types of IoT devices:
- Banda IMU (IMU Band): Wearable sensor for tracking body movements and balance
- Disco de Equilibrio (Balance Disc): Platform device for balance and stability exercises
- Pads Táctiles (Touch Pads): Interactive touch-sensitive pads for reaction time and cognitive exercises
Custom color palette inspired by health and nature:
- Primary (Olive Green): #4A5F4C - Main brand color
- Secondary (Warm Beige): #F5F3ED - Background accent
- Accent (Teal): #5A8B8A - Interactive elements
- Success: #6B9F71 - Positive feedback
- Warning: #D4A574 - Moderate alerts
- Error: #C07A7A - Critical feedback
Both light and dark modes are supported throughout the application.
- Node.js (v18 or higher)
- npm or yarn
- Expo CLI
- iOS Simulator (Mac) or Android Emulator
-
Clone the repository
git clone https://github.com/Youngermaster/equilibrado.git cd equilibrado -
Install dependencies
npm install
-
Start the development server
npx expo start
-
Run the app
In the output, you'll find options to open the app in:
equilibrado/
├── app/
│ ├── (tabs)/ # Tab-based navigation screens
│ │ ├── index.tsx # Home screen
│ │ ├── exercises.tsx
│ │ ├── leaderboard.tsx
│ │ ├── recommendations.tsx
│ │ └── _layout.tsx # Tab navigation configuration
│ ├── exercise-detail.tsx
│ └── _layout.tsx # Root navigation layout
├── components/
│ ├── themed-text.tsx # Reusable text component with theming
│ ├── themed-view.tsx # Themed view wrapper
│ └── ui/
│ └── icon-symbol.tsx
├── constants/
│ └── theme.ts # Color definitions and theming system
├── hooks/
│ └── use-color-scheme.ts
└── assets/ # Images, fonts, and other static resources
All text components use optimized rendering with:
includeFontPadding: false- Prevents extra padding on Android- Proper
lineHeightvalues (typically 1.3-1.4x fontSize) - Consistent typography scale across screens
To add new exercises, update the exercises array in app/(tabs)/exercises.tsx:
{
id: number,
title: string,
description: string,
device: "Banda IMU" | "Disco de Equilibrio" | "Pads Táctiles",
duration: string,
difficulty: "Fácil" | "Moderado" | "Difícil",
calories: number,
icon: string,
completed: boolean
}The application includes realistic sensor data simulation for demonstration purposes. In production, these would be replaced with actual IoT device readings:
- Accelerometer: 3-axis acceleration data (m/s²)
- Smooth variations with realistic bounds (-3 to 3 for X/Y, 8 to 11 for Z)
- Gyroscope: 3-axis rotational data (°/s)
- Angular velocity with ±40°/s bounds
- Repetition Counting: Approximately one rep every 3 seconds
- Calorie Tracking: ~15-20 calories per minute of activity
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Designed for elderly health and wellness
- Built with React Native and Expo for cross-platform compatibility
- Integrates with IoT devices for enhanced exercise tracking
To learn more about the technologies used: