Introduction

When people think of product development, they often imagine a single app. But in one of my most complex and rewarding projects, we weren’t building just one — we were building an entire ecosystem of applications designed to work together as a single, seamless EdTech platform.

This platform was created to bring interactive education to the classroom, complete with 3D visualizations, real-time chat, homework assessments, and attendance tracking. It wasn’t just about developing an app, it was about orchestrating the experience across them. The challenge wasn’t only technical, it was deeply architectural and organizational.

The Multi-App Ecosystem

The platform consisted of three interconnected applications, each with its own clearly defined function:
Class Presentation App: Designed for real-time teaching, this app includes 3D subject visualizations (biology, history, and more) and live chat features.
Homework App: Students could complete and submit assignments, and teachers could review and assess them.
Attendance App: Used to track classroom attendance, synced with live sessions and student profiles.

Each app served a different purpose but had to feel like one unified product — visually, technically, and experientially.

Architectural Strategy & Integration

We used a microservices architecture to ensure scalability and fault isolation. Each app was a separate microservice, maintained independently, and connected via APIs. The backend was built using Node.js with Express.js, providing clean routing and business logic.

To maintain platform consistency, we used Flutter for all frontends, ensuring feature parity and a shared design system across iOS and Android with a single codebase.

We implemented a centralized authentication system via AWS Cognito, which allowed users to log in once and maintain their session seamlessly across all three apps.

For data access and integration:
– GraphQL enabled efficient querying and reduced payload sizes.
– AWS SQS handled asynchronous communication between microservices.
– WebSockets powered live data sync and real-time chat in the classroom presentation app.

Scalability & Performance

To support scalability and performance, especially for 3D visualization, we leaned heavily on AWS:
– AWS RDS (PostgreSQL) for structured data.
– S3 for storing static assets like 3D models.
– CloudFront for fast content delivery.
– Lambda for handling lightweight backend tasks (e.g., automated reporting).

For rendering 3D content inside mobile apps, we used WebGL and Three.js within Flutter. This created beautiful, interactive visuals, but came with performance challenges on older devices.

We implemented:
– Level of Detail (LOD) techniques to simplify distant 3D objects.
– Texture optimization for faster load times.
– GPU acceleration where available.
– And even custom Flutter shaders to offload rendering from the CPU.

Team Coordination & Workflow

We worked with multiple teams: mobile developers, backend engineers, UI designers, and 3D artists. Coordination was key.

We used:
– Agile methodology with weekly sprints and daily standups.
– Jira for planning and tracking tasks.
– Git for clean code collaboration.
– And Confluence for documentation.

Prioritization played a big role: Given its central importance to live teaching, we tackled the presentation app first. Homework and attendance followed in separate release cycles.

UX Consistency Across Apps

Using Flutter helped with consistency, but we still had to maintain a cohesive design and UX across all apps. We developed:
– A shared design system and reusable UI components.
– Custom widgets to ensure the same behavior and feel across all platforms.

We encountered some platform-specific quirks — especially in handling notifications or permissions — but handled these with native code bridges where needed.

My Role as Engineering Manager

As the Engineering Manager, I wasn’t just overseeing timelines or tracking progress — I was actively shaping the technical vision, development process, and team culture behind the platform.

Technical Direction & Architecture

– Led key architectural decisions including microservices, Flutter, GraphQL/WebSockets.
– Worked closely with frontend/backend developers on scalable, maintainable solutions.

Team Leadership, Collaboration & Mentorship

– Facilitated cross-functional standups, sprint planning, and collaborative workflows.
– Conducted code reviews, paired with engineers, and fostered technical ownership.
– Mentored junior developers — one even led a refactoring initiative after learning architectural patterns with me.
– Cultivated a team culture where questions, ideas, and ownership were encouraged

Product & Stakeholder Communication

– Acted as the tech-business bridge, aligning goals and defining realistic MVPs.
– Example: When stakeholders requested a gamified biology module, I negotiated scope, used existing assets creatively, and delivered a high-impact feature on time, without burning out the team.

Crisis Handling & Adaptability

– Tackled mobile rendering issues, live sync bugs, and infrastructure bottlenecks head-on.
– Stayed hands-on and calm in pressure moments, prioritizing stability, delivery, and team morale.

Lessons Learned

– Unifying multiple apps takes more than shared branding. It’s about strategic technical architecture and precise coordination.
– Early planning around authentication, data flows, and team responsibilities avoids huge rework later.
– Async communication patterns (like message brokers) are critical for modularity and scale.
– Real user feedback and MVP cycles help align stakeholders, especially in an educational context where needs evolve quickly.

Conclusion

Leading this EdTech project taught me how to think across boundaries, between teams, tech stacks, and user experiences. Managing multiple apps is like conducting an orchestra: each piece must perform independently, but all must be in harmony.

Looking back, this project wasn’t just about building a product, it was about building a platform that empowered educators and students with cutting-edge tools for interactive learning. And that’s something I’ll always be proud of.


Leave a Reply

Your email address will not be published. Required fields are marked *