My Journey with Findit: Building Experiences, Fixing Foundations – A Flutter Developer’s Tale
When I joined Vivasoft Limited as a Software Engineer L-II (Flutter Developer) on November 11, 2024, I was stepping into an exciting, yet challenging project: Findit — a marketplace platform designed to help people list, find, and sell items. The app was already live, but the codebase had room for significant improvement. The codebase wasn't fully adhering to best practices like clean architecture, and many areas needed refactoring. As part of the app development team, I was determined to take on these challenges and contribute to improving the app’s performance, user experience, and architecture. With the help of Omar Faruk, the App Lead for Findit, and my amazing teammates Fahim Islam, Arafat Rohan, and Shadman Sakib, we made substantial progress over the past few months. These senior mobile app developers guided me, supported the refactoring process, and helped us work towards building a cleaner and more maintainable codebase. Refactoring the App: Collaboration at Its Best One of the most significant changes we made involved the refactoring of the app's core architecture. Initially, the app wasn’t following a clean architecture approach, which meant we had a lot of tightly coupled code and performance bottlenecks. We knew we needed to separate the business logic, UI, and data layers to make the app more modular and maintainable. This is where Arafat Rohan and Shadman Sakib played a pivotal role. As senior mobile app developers, they brought their expertise to the table, guiding us through refactoring efforts that improved scalability, performance, and testability. Their support allowed us to clean up legacy code and implement modern, maintainable design patterns. Together, we refactored key modules, introduced state management improvements, and isolated the business logic, which set us on a path to building a more robust application. While the journey isn’t over and more refactoring is still in progress, the work we’ve done so far has laid the foundation for a cleaner and more scalable architecture moving forward. Enhancing the Search Experience with BLoC and Debounce One of the most important features I worked on was the search functionality. Originally, every keystroke triggered an API call, which was inefficient and caused unnecessary load on the server. By integrating debouncing with BLoC state management, I was able to improve the search performance. This allowed the app to wait until the user stopped typing before making an API call, resulting in fewer calls and faster response times. This wasn't just about optimizing performance. It was about enhancing the user experience—making sure that users could search seamlessly without experiencing lag or waiting for long periods. Improving OTP UX for a Smooth Sign-In Another area that needed attention was the OTP input screen. While functional, the original design didn’t provide a smooth and intuitive experience. I worked on implementing automatic cursor transitions between fields and improving the layout. These small changes made a big difference—users could now fill out the OTP more quickly without feeling frustrated or needing to manually navigate between fields. Adding Shimmer UI for Better Visual Feedback During the development process, I noticed that loading states could be improved. Users would often see blank screens while content was being loaded, which created uncertainty. To improve this, I added shimmer loading effects to the app’s UI. Instead of users staring at empty screens, they now saw a subtle shimmer effect while waiting for data to load. This small yet powerful visual cue kept users engaged, providing real-time feedback and making the app feel more polished. Introducing the Star Seller System One of the most impactful features I worked on was the Star Seller system. The goal was to help top-performing sellers stand out and build trust with buyers. By introducing a badge system based on sales performance and customer feedback, we empowered sellers to take pride in their achievements and attracted more buyers. This feature not only improved seller visibility but also boosted trust in the marketplace, which had a positive impact on sales. Fixing Bugs and Improving Filters In addition to adding new features, I worked on bug fixes and improving existing functionality. One area that required attention was the filtering system, which had some inconsistencies in how it handled various product categories. After refining the filter logic, we were able to provide users with more accurate results, making it easier for them to find what they were looking for. Small bug fixes, along with these improvements, contributed to a more stable app, and users could now browse products more efficiently. The Ongoing Journey: Building a Better App Together Working on Findit has been an incredible journey, not just as an individual, but as part of a dedicated team. As a F

When I joined Vivasoft Limited as a Software Engineer L-II (Flutter Developer) on November 11, 2024, I was stepping into an exciting, yet challenging project: Findit — a marketplace platform designed to help people list, find, and sell items. The app was already live, but the codebase had room for significant improvement.
The codebase wasn't fully adhering to best practices like clean architecture, and many areas needed refactoring. As part of the app development team, I was determined to take on these challenges and contribute to improving the app’s performance, user experience, and architecture.
With the help of Omar Faruk, the App Lead for Findit, and my amazing teammates Fahim Islam, Arafat Rohan, and Shadman Sakib, we made substantial progress over the past few months. These senior mobile app developers guided me, supported the refactoring process, and helped us work towards building a cleaner and more maintainable codebase.
Refactoring the App: Collaboration at Its Best
One of the most significant changes we made involved the refactoring of the app's core architecture. Initially, the app wasn’t following a clean architecture approach, which meant we had a lot of tightly coupled code and performance bottlenecks. We knew we needed to separate the business logic, UI, and data layers to make the app more modular and maintainable.
This is where Arafat Rohan and Shadman Sakib played a pivotal role. As senior mobile app developers, they brought their expertise to the table, guiding us through refactoring efforts that improved scalability, performance, and testability. Their support allowed us to clean up legacy code and implement modern, maintainable design patterns. Together, we refactored key modules, introduced state management improvements, and isolated the business logic, which set us on a path to building a more robust application.
While the journey isn’t over and more refactoring is still in progress, the work we’ve done so far has laid the foundation for a cleaner and more scalable architecture moving forward.
Enhancing the Search Experience with BLoC and Debounce
One of the most important features I worked on was the search functionality. Originally, every keystroke triggered an API call, which was inefficient and caused unnecessary load on the server. By integrating debouncing with BLoC state management, I was able to improve the search performance. This allowed the app to wait until the user stopped typing before making an API call, resulting in fewer calls and faster response times.
This wasn't just about optimizing performance. It was about enhancing the user experience—making sure that users could search seamlessly without experiencing lag or waiting for long periods.
Improving OTP UX for a Smooth Sign-In
Another area that needed attention was the OTP input screen. While functional, the original design didn’t provide a smooth and intuitive experience. I worked on implementing automatic cursor transitions between fields and improving the layout.
These small changes made a big difference—users could now fill out the OTP more quickly without feeling frustrated or needing to manually navigate between fields.
Adding Shimmer UI for Better Visual Feedback
During the development process, I noticed that loading states could be improved. Users would often see blank screens while content was being loaded, which created uncertainty. To improve this, I added shimmer loading effects to the app’s UI. Instead of users staring at empty screens, they now saw a subtle shimmer effect while waiting for data to load.
This small yet powerful visual cue kept users engaged, providing real-time feedback and making the app feel more polished.
Introducing the Star Seller System
One of the most impactful features I worked on was the Star Seller system. The goal was to help top-performing sellers stand out and build trust with buyers. By introducing a badge system based on sales performance and customer feedback, we empowered sellers to take pride in their achievements and attracted more buyers.
This feature not only improved seller visibility but also boosted trust in the marketplace, which had a positive impact on sales.
Fixing Bugs and Improving Filters
In addition to adding new features, I worked on bug fixes and improving existing functionality. One area that required attention was the filtering system, which had some inconsistencies in how it handled various product categories. After refining the filter logic, we were able to provide users with more accurate results, making it easier for them to find what they were looking for.
Small bug fixes, along with these improvements, contributed to a more stable app, and users could now browse products more efficiently.
The Ongoing Journey: Building a Better App Together
Working on Findit has been an incredible journey, not just as an individual, but as part of a dedicated team. As a Flutter Developer, I contributed by implementing features, refactoring parts of the codebase, and continuously improving the app's performance and user experience.
But it’s important to note that this isn’t a one-person effort. The team—Omar Faruk, Fahim Islam, Arafat Rohan, and Shadman Sakib—has been a driving force behind this project’s success. Each of us brought our expertise to the table, working collaboratively to overcome challenges and drive progress. Arafat and Shadman played a crucial role in the refactoring efforts, while Omar provided leadership and direction throughout the process.
Looking Ahead: The Future of Findit
The work we’ve done so far has set a strong foundation for the future. However, there’s still much more to do. We are continuously refining the app, improving the architecture, and looking for new ways to enhance the user experience.
The road to building a perfect app is a continuous process, and we are committed to evolving Findit to meet the needs of our users. Our focus is on creating a fast, reliable, and enjoyable experience for all users, and we’ll continue to push forward, improving one feature at a time.
Final Thoughts
Reflecting on my journey so far, I feel proud of what we’ve achieved with Findit. The project started with challenges and room for improvement, but through hard work, collaboration, and dedication, we’ve turned it into something that’s better, faster, and more user-friendly.
It’s been a journey of learning and growth, and the best part is—it’s far from over.