Alright, so today I’m spilling the beans on a project I’ve been tinkering with: a React Native app focused on psychology and mental health. I’m calling it “rn psychology/mental health ngn” – super creative, I know! Don’t judge the name, judge the results, haha!

Where I Started
So, initially, the idea was pretty simple: build something that helps people access basic mental health resources and maybe track their moods or something. I jumped straight into React Native ’cause I’m comfy with JavaScript and wanted something cross-platform. Plus, I’d heard good things about Expo making the setup process easier.
The Nitty-Gritty – Building It Out
-
Setting Up the Project: First things first, I ran
expo init rn-psychology
. Expo walked me through the options, and I picked the “blank” template to keep things clean. Thencd rn-psychology
andexpo start
to get the development server running. -
UI Framework: I spent some time debating whether to use a component library. Eventually landed on React Native Paper. Seemed like a good balance of pre-built components and customizability. I installed it with
npm install react-native-paper
. -
Navigation: Navigation was the next hurdle. I opted for React Navigation. I followed their installation guide, which involved installing several packages (
@react-navigation/native
,@react-navigation/stack
, and their dependencies). Got a basic stack navigator set up for switching between screens. -
Components:
This is where I started building out the actual app. I created components like:
HomeScreen
: A landing page with links to other sections.MoodTracker
: A simple screen with a slider to log your mood for the day. I used React Native Slider for this.Resources
: A list of mental health resources (crisis hotlines, websites, etc.). For this, I just used a flat list and hardcoded some data to begin with.BreathingExercise
: A guided breathing exercise. This one was a bit trickier; I useduseState
anduseEffect
to create a timer-based animation.
- Data Storage: I needed a way to store the user’s mood logs. At first, I thought about using AsyncStorage, but then I heard about Realm. It looked pretty cool, so I gave it a shot. Integration wasn’t too bad; I followed the Realm React Native documentation.
The Pain Points
Of course, it wasn’t all sunshine and rainbows. I ran into some snags along the way:
- Styling: React Native styling can be a pain! I messed around with Flexbox for way too long trying to get things aligned properly. I’m still not 100% happy with the layout.
- Realm Quirks: Realm was a bit of a learning curve. I had some issues with object schemas and figuring out how to query data correctly.
- Animations: The breathing exercise animation was more complicated than I initially thought. I ended up using React Native’s Animated API, which is powerful but can be verbose.
What I Learned
This project was a good learning experience. I got more comfortable with:
- React Native Paper.
- React Navigation.
- Realm database in React Native.
- React Native animations.
The Next Steps
The app is still pretty basic, but I’ve got a bunch of ideas for improvements:
- Add more features to the mood tracker (e.g., journaling, identifying triggers).
- Implement user authentication.
- Expand the resource list and maybe even create a directory of local therapists.
- Refine the UI and make it more user-friendly.
Wrapping Up

So, that’s the story of my “rn psychology/mental health ngn” project so far. It’s a work in progress, but I’m having fun building it. Hopefully, it can actually help people out there when it’s in a more complete form.
I’ll keep y’all updated on my progress!