1. Mobile App - Overview
Meeti was a mobile app designed to simplify the organization of events and gatherings with friends, family, or any group of people. The app provided a fast, easy, and organized way to manage events from start to finish.
2. Turning an Idea into Reality: Our Journey with TuApp-2019
This project started from a gathering with friends from my home university, where every time the party was over, we had to do the math to figure out how much each person should pay. We were all studying programming, so we asked, “Why aren’t we doing something about it?” From there, with Facundo Decena (Flutter Developer) and Margarita Maguire (UI Designer/Flutter Developer), we started this project.
After starting it, there was an opportunity to compete in a Mobile App competition called TuApp-2019, so we went for it.
We had to do everything from scratch—everything from wireframes to business models, marketing, pitch, and so on. For us, it was one of the first times doing a project where everything was involved. We also started defining workflows, how to organize the repository, features, database design to make it flexible enough while minimizing data repetition, how to hold meetings, and more. It was like a tiny experience of how to run your own mini-startup.
As time went on, we saw that we needed one more person on the team, so Maximiliano Pellegrino was introduced to help with the development side.
The end result was that we finished 5th, and one person from the team, Facundo Decena, had the opportunity to present the app during the competition in Mexico!
For us, it was a really nice and great experience, where we had fun as friends and realized that these projects are feasible, but they just take time.
In particular, I was part of a four-person team and took charge of Flutter programming for this project, where I learned about mobile app requirements, state management within Flutter, different state managers, Android and iOS platforms, and how to implement a given design for an interface.
3. Demo
4. Key Features
Event Creation:
- Name your event.
- Specify the type, location, date, and time.
- Define who will attend.
- List the items needed for the event.
Event Management:
- View and modify event details as needed.
- Mark items as unnecessary or remove them if plans change.
Item Tracking:
- Check what items are assigned to you.
- Notify others when you’ve acquired your assigned items.
Expense Management:
- Automatically calculate who owes money and who should be reimbursed.
- Keep your event finances organized and hassle-free.
Social Features:
- Review your profile and manage connections.
- Search for new friends to invite to future events.
5. Technologies Used
- Flutter: for cross-platform app development.
- Dart: programming language.
- Firebase: NoSQL Database (Firestore).
- Backend services for user and event data management.
- Integration of Firebase or similar services for real-time updates and notifications (if applicable).
6. My Role
As the Flutter developer, I focused on:
- Designing and implementing the app’s user interface.
- Creating and managing app logic for seamless event organization.
- Ensuring smooth integration with backend services for data storage and retrieval.
7. Challenges and Learnings
- Team collaboration: Working closely with team members to align on deliverables, deadlines, set the MVP, among others.
- Optimizing the user interface: Ensuring the app looked great across different devices and screen sizes, improve the re-drawing to allow a smoother experience, that the UI theme looked good in both, iOS and Android.
- Event data synchronization: Managing real-time updates for events when details changed.
- Local/Remote data synchronizaiton:: Manage local/remote data synchronization.
8. Conclusion
Meeti was an incredibly rewarding journey, not just in terms of the final product but also the lessons learned along the way. What started as a simple idea among friends turned into a mobile app with practical features. Our participation in the TuApp-2019 competition helped us refine not only the app itself but also our teamwork, project management skills, and understanding of how to approach real-world software development.
Overall was a learning opportunity that gave us hands-on experience in building a product from the ground up. The project reinforced the importance of persistence, teamwork, and time management—qualities that are essential for any successful software development project.
It was a great experience, and I’m proud of the final product we created together. It was a really nice experience!