My Plants
- Tech Stack: Expo, TypeScript, Zustand, React Navigation, Moti, Google Fonts, Formik, Yup, Expo Notifications, NetInfo, Jest, React Test Renderer, Sentry (via sentry-expo)
- Download: Google Play
Overview:
My Plants is a React Native mobile app that helps users manage plant watering with ease. It allows adding plants, tracking watering history, setting reminders, and even collaborating with others by importing shared plant collections. No cloud — just privacy-first local data.
My Role:
As the dedicated React Native developer, I engineered the entire
mobile experience using TypeScript and
Expo. I focused on creating a performant,
responsive, and user-friendly interface, complete with
internationalization, offline-first capabilities, and
collaborative features.
Key Highlights:
-
Plant Management: Users can add, edit, or
remove plants with images, assign watering schedules, and
track watering history locally with
AsyncStorage. -
Reminders & Notifications: Implemented custom
push notifications using
expo-notificationsto remind users when it's time to water. - Collaboration: Enabled importing other users’ plant data using JSON files, supporting collaborative watering routines.
-
UI & Animations: Used
styled-components,Moti, andGoogle Fontsto create a soft, plant-themed interface. -
Localization & Offline Mode: Added
multi-language support using
i18n-js, and ensured the app runs without an internet connection usingZustandfor state andNetInfochecks. -
Testing & Monitoring: Integrated
JestandReact Test Rendererfor unit testing andSentryfor error tracking.