The challenge
Contribute across a distributed, cloud-native platform while keeping service contracts reliable and ensuring that content-rich learning experiences remained clear, responsive, and touch-friendly on mobile devices.
A subscription-based educational platform for Sri Lankan students in Grades 1–11 and O/L and A/L programmes, powered by Go microservices, a React and TypeScript frontend, and GraphQL and gRPC APIs.



Contribute across a distributed, cloud-native platform while keeping service contracts reliable and ensuring that content-rich learning experiences remained clear, responsive, and touch-friendly on mobile devices.
Across 23 commits, I expanded the Course Service and its gateway integration, improved enrollment and error-state handling, delivered mobile navigation and safe-area-aware layouts, and optimized interactive learning tools across the public and authenticated experiences.
github.comStudEdA subscription-based educational platform for Sri Lankan students in Grades 1–11 and O/L and A/L programmes, powered by Go microservices, a React and TypeScript frontend, and GraphQL and gRPC APIs.View live demoStudEd is a subscription-based educational platform designed for Sri Lankan students from Grades 1–11 through O/L and A/L. Its architecture supports a modern learning experience while keeping the system maintainable, independently deployable, and ready to scale as its content and user base grow.
The backend is divided into focused Go services rather than a single monolith. An API Gateway exposes the primary GraphQL interface, while dedicated Auth, Course, Progress, Gamification, AI, Payment, Notification, and Upload services own their respective domains and communicate through clearly defined contracts.
My backend contribution focused on core Course Service components, including database migrations, lesson and wave data models, and repository access layers. I also updated the course-domain Protobuf and gRPC contracts, integrated the Course Service client into the API Gateway, and connected its operations to GraphQL schemas and resolvers.
On the React, TypeScript, and TanStack Router frontend, I built the mobile navigation drawer and safe-area-aware layout chrome for educator and student shells. I optimized the Wave Player, quizzes, code blocks, physics simulations, landing page, course catalogue, student portal, and leaderboard for smaller screens and touch interaction.
I corrected enrollment flows so unenrolled students could inspect and join courses directly, added clear error states across educator and student workflows, and configured the Math-to-Manim, 3Dmol.js, tscircuit, and Matter.js visualization submodules. I also applied consistent formatting standards across the codebase.
The wider platform combines Kubernetes orchestration, OpenTofu infrastructure definitions, GitOps delivery, observability, cloud security, and local cloud emulation. Together, these practices support an environment that is easier to develop, deploy, monitor, and evolve as independent services grow.
StudEd became a practical lesson in building a product across service boundaries rather than treating the backend and frontend as separate concerns. Delivering reliable course data, gateway contracts, mobile navigation, interactive learning tools, and cloud-native infrastructure required each layer to evolve as part of one coherent platform.
How to design and extend Go microservices through explicit domain models, repository layers, Protobuf contracts, and gateway integrations.
How to adapt complex learning interfaces and interactive visualizations for touch input, safe areas, and constrained mobile screens.
How Kubernetes, infrastructure as code, GitOps, observability, and local cloud emulation support dependable cloud-native development.