Alright, so today I’m gonna walk you through this little project I was messing around with called “en la mano.” Basically, it’s Spanish for “in the hand,” and the idea was to build a simple app that helps you learn basic Spanish phrases – something you could just whip out on your phone when you’re traveling or trying to order tacos.

Where I Started:
- First things first, I needed a plan. I grabbed my notebook and started jotting down features. I wanted:
- A clean, easy-to-use interface.
- A bunch of common Spanish phrases categorized by topic (greetings, food, directions, etc.).
- Audio pronunciations for each phrase – gotta get that accent right!
- A quiz mode to test myself.
With a rough idea in mind, I dove into coding.
The Nitty-Gritty (aka, the coding part):
I decided to use React Native because I wanted it to work on both iOS and Android without having to write two separate apps. Plus, I had some experience with React already, so it felt like a natural fit.

Here’s the breakdown:
- Set up the project: I used Expo to get the React Native project up and running quickly. Expo handles a lot of the configuration stuff for you, which is a lifesaver.
- Designed the UI: I used React Native’s built-in components like View, Text, Button, and ScrollView to create the layout. I kept it super simple – no fancy animations or anything. Just clean and functional.
- Gathered the data: This was the most time-consuming part. I had to compile a list of Spanish phrases, translate them, and find audio recordings. I ended up using a combination of online dictionaries, translation websites, and some recordings I made myself (my Spanish is… passable). I stored the data in a JSON file.
- Implemented the phrase display: I wrote a React component that would read the JSON data and display the phrases in a categorized list. Each phrase had a button to play the audio pronunciation.
- Added the quiz mode: This was a bit trickier. I created another component that would randomly select phrases from the JSON data and present them as multiple-choice questions. I kept track of the score and provided feedback after each question.
Challenges and Headaches:
Of course, things didn’t go perfectly. I ran into a few snags along the way:
- Audio playback: Getting the audio to play consistently across different devices was a pain. I had to experiment with different audio formats and playback libraries to find something that worked reliably.
- Layout issues: React Native’s layout system can be a bit finicky. I spent a lot of time tweaking the styles to get everything to look right on different screen sizes.
- Data management: I realized that storing all the data in a single JSON file wasn’t ideal. If I wanted to add more phrases or features, the file would become too large and unwieldy. I started thinking about using a database or a content management system.
The End Result (for now):
After a few weeks of hacking away, I had a working prototype of “en la mano.” It’s not perfect, but it does what I set out to do: it lets you browse common Spanish phrases, hear how they’re pronounced, and test yourself with a simple quiz.

What I Learned:
This project was a great learning experience. I got more comfortable with React Native, learned a bit about audio processing, and got a refresher on my Spanish (which was sorely needed!).
Next Steps:
If I were to continue working on this project, here’s what I’d do:
- Improve the data management: Switch to a database or a CMS to make it easier to add and manage content.
- Add more features: Include things like flashcards, spaced repetition, and more advanced grammar lessons.
- Polish the UI: Make the app look more polished and professional.
- Get feedback: Get some native Spanish speakers to review the content and provide feedback on the pronunciations.
Overall, “en la mano” was a fun and challenging project. It’s a reminder that you don’t need to build the next Facebook to learn something new. Sometimes, the best way to learn is to just dive in and start building something, even if it’s just a simple phrasebook app.
