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-notifications to 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, and Google Fonts to 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 using Zustand for state and NetInfo checks.
  • Testing & Monitoring: Integrated Jest and React Test Renderer for unit testing and Sentry for error tracking.