Overview
sWeight is a comprehensive weight tracking mobile application built with Flutter. The app offers users a clean, intuitive interface to record, visualize, and analyze their weight over time, supporting various weight management goals.
Challenge
The main challenge was to create a weight tracking app that balanced powerful features with simplicity of use. Most existing solutions either offer too few features or overwhelm users with complex interfaces and unnecessary metrics. Additionally, the app needed to accommodate different measurement units and personal goals.
Solution
I designed sWeight with a user-centric approach, focusing on an intuitive workflow that guides users from onboarding to regular tracking. The app uses a tab-based interface that separates immediate insights (Dashboard), historical data (History), and deeper analysis (Statistics), allowing users to engage with their data at different levels of complexity.
Key Features
- Customizable weight tracking with support for notes and timestamps
- Interactive weight charts with zoom and filtering capabilities
- BMI calculation and categorization based on user's height
- Goal-oriented progress tracking (weight loss, maintenance, or gain)
- Multiple measurement unit support (kg/lbs, cm/ft-in)
- Comprehensive statistics and trend analysis
- Dark/light mode with system theme integration
- Multilingual support with 15 languages
- Data export for backup and external analysis
Technology
The app was built with a focus on performance, reliability, and maintainability:
- Framework: Flutter SDK for cross-platform development
- Language: Dart with modern patterns and null safety
- Architecture: Provider pattern for state management
- Data Persistence: SQLite database with a custom helper layer
- Data Visualization: Custom charts using fl_chart library
- Localization: Flutter's built-in i18n system with ARB files
- Theming: Dynamic theming with Material Design principles
Technical Highlights
Several aspects of the implementation showcase advanced Flutter techniques:
- State Management: Used Provider for efficient UI updates and data flow
- Database Design: Implemented a robust SQLite schema with migration support
- Custom Widgets: Created reusable, responsive chart components with interaction support
- Optimization: Ensured smooth animations and transitions, even with large datasets
- Accessibility: Designed UI with appropriate contrast ratios and semantic labels
Outcome
The finished app delivers a polished, professional experience that puts users in control of their weight management journey. User testing showed particularly positive feedback for the intuitive navigation, meaningful statistics, and the balance between simplicity and feature richness.