About the project
Petal began as a product engineering exercise. The goal was to build a complete application while prioritizing privacy, simplicity and a sustainable architecture from day one. More than a habit tracker, it represents a way of thinking about software: solving real problems with the least possible complexity.
Goals
- Demonstrate a modern mobile architecture.
- Prioritize privacy and local-first data processing.
- Build an intuitive distraction-free experience.
- Serve as a playground for continuous engineering improvements.
Architecture
Built with React Native using a modular domain-oriented architecture with clear separation between presentation, business rules and persistence. The application follows a local-first approach, minimizing external dependencies while keeping user data under the user's control.
Technologies
- React Native
- Cross-platform mobile development
- Expo
- Native tooling and distribution.
- TypeScript
- Type safety and maintainability.
- Offline-first
- User-owned local data.
- Feature Flags
- Controlled feature rollout.
Next steps
- Data import and export.
- Internationalization (i18n).
- Home Screen widgets.
- Advanced statistics.
- Optional user-controlled backups.
