Store your collection of plants in Urban Jungle, along with care instructions, photos and, of course, their names.
Got a new plant? Snap a picture of it and Urban Jungle will fill in the rest using snazzy image recognition.
Save reminders for your care instructions. Urban Jungle will ping you when you need to care for your plants.
Make a household and invite others to care for your plants too. Sharing is caring.
Hate passwords? Me too. Urban Jungle lets you sign in using your phone number (or e-mail address & password if you'd rather).
Because, why not?
TypeScript
Expo / React Native
Firebase auth
Firebase cloud firestore
Firebase storage
Expo push service
Global state management is managed using Stately, a state management library I wrote to provide simple fully-typesafe state management for React.
Forms are managed using a custom hook specific for this library. You can read all about it if you want.
Styled components
The path through the sign up flow is managed by Machi, a state machine library I wrote to manage complex data-driven flows through UI. It's perfect for sign-up / onboarding journeys like Urban Jungles.
A graphical representation of the sign up flow can be generated by running:
yarn generate-sign-up-flow-chart
Which outputs:
Urban Jungle has support for adding / removing and changing multiple auth providers (phone and email). To support these complex flows, Machi is used.
A graphical representation of the manage auth flow can be generated by running:
yarn "generate-manage-auth-flow-chart
Which outputs: