Back to Blog
Career

Beyond the Finish Line: What AGOS Taught Me About Building and Reflecting

Mark Benson MatanguihanMark Benson Matanguihan
July 9, 2026
6 min read
0
0

The clock ticks down, the caffeine wears off, and the final commit is pushed. That rush, that blend of exhaustion and exhilaration, is a feeling every developer who’s been through a hackathon or an intense startup sprint knows intimately. It’s the moment you deliver, but it’s also the moment the real learning begins.

For me, one of those defining moments was the AGOS project. It wasn't just another hackathon; it was an ambitious attempt to build a real-time disaster response platform using Flutter, designed to connect citizens with emergency services and resources. The goal was audacious, the timeline brutal, and the technical challenges significant. While the immediate focus was on shipping a functional prototype, the true value, as I've learned repeatedly in my career, comes from what happens after the submission – the retrospective.


Whether it's a client project, a personal portfolio piece, or a full-blown startup idea, I've come to view the retrospective as an indispensable part of the development cycle. It's where the raw experience transforms into actionable insights, refining not just the code I write, but the way I approach problem-solving and team collaboration.

The AGOS Sprint: A Deep Dive into Rapid Prototyping

Our vision for AGOS was clear: a mobile application that could provide immediate, geo-located assistance during natural calamities. We chose Flutter for its cross-platform capabilities, allowing us to target both Android and iOS efficiently from a single codebase. The UI/UX design was critical; in high-stress situations, clarity, speed, and ease of use are paramount. We leveraged Figma extensively for rapid wireframing and prototyping, constantly iterating on user flows for reporting incidents, requesting aid, and viewing real-time updates on a map. This iterative design process, even under extreme time constraints, was crucial. We learned quickly that a visually appealing design in Figma doesn't always translate to an intuitive experience when a user is under duress, leading us to simplify interfaces even further than initially planned.


Technically, integrating real-time data and ensuring robust communication were major hurdles. Firebase served as our backend, handling user authentication, database management (Firestore for structured data, Storage for media), and real-time updates for incident reports. The challenge wasn't just making it work, but making it resilient enough to handle potential spikes in usage during an actual disaster. We had to make quick decisions on data structures, API integrations, and state management within Flutter, often sacrificing perfect architecture for functional delivery. For instance, initial attempts at complex local state management proved too time-consuming, leading us to simplify and rely more heavily on Firebase's real-time capabilities. There were moments of intense frustration, certainly, when a seemingly simple feature like location tracking or push notifications would unravel into hours of debugging, but the pressure forced us to be resourceful and pragmatic, prioritizing core functionality over advanced features. This experience solidified my understanding of mobile development constraints and the power of a well-chosen backend like Firebase.

The Power of Retrospection: Transforming Experience into Expertise

After the dust settled on AGOS, the first thing I did wasn't to celebrate, but to reflect. I believe in a structured retrospective process, whether it's a formal team meeting or a personal journaling session. For AGOS, I asked myself: What went exceptionally well? What could have gone significantly better? What did I learn about Flutter's capabilities and limitations under pressure? How did Firebase perform under simulated load? And critically, how effective was our UI/UX design in a simulated crisis scenario? We also considered the team's communication and decision-making processes.


This isn't about assigning blame; it's about objective analysis and extracting tangible lessons. I looked at our initial design principles – simplicity, accessibility, speed – and evaluated how well the final product aligned. We realized some UI elements, while aesthetically pleasing in Figma, became cumbersome or confusing in a live, stressful environment, particularly for users who might not be tech-savvy. This led to a deeper appreciation for universal design principles. We also identified areas where our state management in Flutter could have been more robust, leading to minor inconsistencies in data display, which could be critical in an emergency. These aren't failures; they're invaluable data points for improvement, informing my approach to future projects. This rigorous process is what fuels my growth, whether I'm building a complex React application with Next.js and Tailwind for a client, optimizing a Vercel deployment, or refining a personal portfolio project. It's about understanding the 'why' behind every success and every setback.

My Philosophy: Persistence, Craft, and Clarity

The AGOS experience, and countless projects since, have profoundly reinforced my core philosophy: persistence in the face of technical challenges, a relentless commitment to craft in every line of code and pixel of design, and unwavering clarity in communication and execution. Retrospectives are the crucible where these principles are forged. They teach you to truly understand your capabilities and limitations, enabling you to underpromise and consistently overdeliver. They highlight the critical importance of meticulous UI/UX design, not just for aesthetics, but for functionality, accessibility, and genuine user empathy, especially when building for diverse audiences or high-stakes scenarios.


Every bug fixed, every design iteration, every pivot in strategy is a profound lesson. By consciously reviewing these moments, documenting the insights, and integrating them into my workflow, I build a stronger, more resilient foundation for future work. This applies whether I'm optimizing a Vercel deployment for a Next.js application, architecting a new Firebase backend for a mobile app, or crafting an intuitive user interface with Tailwind CSS. It's about continuous improvement, not just in mastering tools like Flutter or React, but in refining my entire approach to software development and freelancing. My portfolio isn't just a collection of finished projects; it's a living testament to this ongoing learning journey, a chronicle of challenges overcome and wisdom gained.

So, the next time you ship a project, big or small, don't just move on to the next task. Take a moment. Reflect. Dissect your process. Because the real mastery isn't in the code you write today, but in the wisdom you gain for the code you'll write tomorrow.

Mark Benson Matanguihan

About Mark Benson Matanguihan

Developer & Content Creator

Comments (0)

Loading comments...