A Practical Approach to Designing Complex Systems
Manage a complex design project into phases, and get things done.
2025, Japan
Background
This project involves the development of a new online speaking lesson and teacher management system for EdulinX, designed to accommodate a range of course types and requirements.
In my previous experience designing a complex system, when the request didn’t work out, I emphasized the importance of validating the underlying hypothesis: whether end users actually needed the feature in the first place.
However, in this case, such validation was unnecessary. It's already evident that our end users, students in Japan, need to practice English speaking skills through online lessons with human instructors. As a result, I chose to skip certain user research phases and began by defining the project scope directly.
Diverse Course Offerings:
We plan to launch a wide variety of courses that differ in structure, learning approach, and content.Multiple Types of Teachers:
The system must support both external teacher vendors and internally employed teachers (full-time and part-time). This creates nuanced requirements for teacher management and operational policies. Additionally, we must protect student personal data, limiting access for external teachers and non-internal managers.System Integration:
We also provide self-study online lessons, and this speaking lesson management system must integrate seamlessly with our existing self-study platform. This will allow students to access both types of lessons in a unified interface and enable managers to monitor student progress from a single dashboard.
My responsibilities
As both the Product Manager and UX Designer, I oversee the system's direction from high-level vision down to execution and daily operational details.
Vision & System Strategy
Define the long-term vision and development roadmap for the system by synthesizing diverse inputs from C-level executives, engineers, and business operations teams.Stakeholder Alignment
Conduct interviews with internal operations staff and external educators to gather real-world requirements and uncover pain points across user roles.Roadmap Planning
Break down the product roadmap into clearly phased releases. Each phase is scoped to deliver practical, usable functionality for real-time speaking lessons and to meet pressing operational needs.UX & Feature Design
Design user-centered functionality and interfaces tailored to each user role. Balance usability with technical feasibility, especially under tight engineering constraints.Improvement Prioritization
Continuously manage and prioritize incoming feature requests and improvements, ensuring alignment with user needs, business goals, and available resources.
INDEX
Phase 1
MVP Launch for Speaking Lessons
Built a minimal viable system to support core speaking lessons with essential user roles and operations.
Phase 2
Flexibility for 1:1 Lessons
Added individual lesson options and booking flexibility to support diverse student needs and scale operations.
Phase 3
Customization & Premium Courses
Preparing for premium offerings by hiring in-house teachers and supporting tailored student experiences.
Phase 1
Defining the Minimal Viable Product Scope
One of the most common challenges in large-scale product development is balancing ambitious stakeholder expectations with limited engineering resources. Business teams often request a wide range of features as quickly as possible. To manage this, it’s essential to define a clear long-term vision and break it down into phased goals, identifying what’s essential now and what can be validated or built later.
Objective
To design and deliver a minimal viable system that supports teacher and lesson management, while laying the foundation for scalable future improvements.
Strategic Approach
After several rounds of discussions on the desired lesson structure, content, and operations, we concluded that:
The system should be highly flexible in the long term to accommodate varying teaching policies and lesson types.
For the MVP, operational complexity would be minimized by hardcoding many of the rules and handling edge cases manually, until the scale justifies automation.
Defined Scope of MVP
1. User Roles & Permissions
Define core user roles and permission levels:
Students
Student Managers
Teachers
Teacher Leaders
Teacher Managers
Admin (Operators)
2. User Goals & Tasks
Outline the core goals, workflows, and required interfaces for each role:
Students: Book and attend lessons; view lesson history.
Student Managers: Track student progress and engagement via integration with the existing LMS.
Teachers: Access teaching schedules, lesson content, and mark attendance or comments.
Teacher Managers/Leaders: Manage teacher schedules, substitutions, and availability.
Admins (Operators): Configure lessons, manage teacher/student accounts, and monitor operational metrics.
3. Lesson Format & Data Model
Design a configurable lesson structure that supports various future formats but is constrained to a fixed flow for MVP implementation.
4. Teacher Management Operations
After the operational team finalized the flow, I designed the following features:
Teacher account management and profile control via permission-based roles.
Role-based interfaces for different teacher management levels.
Teacher availability and substitution management.
Clock-in functionality and real-time teaching status monitoring.
Cancellation policies and fallback logic for both student and teacher no-shows or emergencies.
Student guidance UX to help them navigate booking, joining, and emergency contact processes.
Summary
This phase delivered a lean but functional foundation for the teacher-student lesson experience. It was carefully scoped to ensure:
All critical roles could perform their responsibilities.
Operational teams could execute lessons with minimal support.
The system could be extended later with modular improvements.
User flows of the students booking/joining lessons.
Student interface for booking lessons.
Admins (operators) set up a new lesson.
Product Decision: Group Lesson or 1:1 Lesson?
One of the key discussions during the early product planning phase was determining the lesson format:
Should we launch with group lessons or 1:1 lessons?
Group lessons offer opportunities for multiple students to learn the same topic and interact with one another, which can encourage peer learning and active communication.
1:1 lessons, on the other hand, are more suitable for beginners who may feel nervous or lack confidence when speaking in front of others. They allow for a more personalized and psychologically safe learning environment.
Design Solution
To support both possibilities and give the operations team flexibility in testing, I proposed a "Max Students" configuration in the lesson setup.
If the value is set to "1", the lesson automatically becomes a 1:1 private session.
If set to a higher number (e.g., "4" or "6"), it becomes a group session, allowing multiple students to attend.
This approach allowed us to:
Keep the system structure simple while supporting different lesson formats.
Give operations the ability to test which format works better for different student demographics or lesson types.
Avoid hardcoding a lesson type, making the product more flexible and scalable in the long term.
Phase 2
Expanding Lesson Flexibility and Business Scalability
After launching the MVP in Phase 1, the system successfully supported core lesson operations with a limited configuration. However, usage revealed limitations:
Lesson types were too rigid (mostly pre-set by the operator).
Students had limited freedom in choosing lesson topics, teachers, and timeslots.
Many operational tasks remained manual.
Business stakeholders had new ideas for scalable, flexible offerings to meet diverse student needs.
Objective
Expand the system’s flexibility to support more dynamic lesson types and deepen integration with the existing self-study course platform — enabling greater business growth.
Strategic Approach
To meet the new requirements, I introduced and designed support for a new “individual” lesson type optimized for 1:1 speaking practice.
Key Upgrades:
Individual Lesson Type: Students can freely choose from available teachers and timeslots after selecting a predefined lesson topic.
Flexible Booking Interface: A redesigned UI flow allows students to:
Browse available teachers (with profile previews)
Choose preferred time slots
Understand each teacher’s availability and lesson suitability
Feedback System: After the lesson, the teacher provides individualized feedback for the student to support learning retention and progress tracking.
Updated Help and Guidance: A new help page and in-system instructions were introduced to support the expanded booking model.
Technical and Design Challenges
1. Lesson Data Structure Complexity
Individual and group lessons share a core structure but diverge in operational logic.
Example:
If a student misses an individual lesson, the status is marked as "Uncompleted."
If one student misses a group lesson, the lesson still proceeds and is marked as "Completed", with only the absent student marked as "Absent."
This required:
Updating the lesson schema
Refactoring logic in all components depending on lesson status, such as:
Dashboards
Study progress tracking
Admin reporting tools
2. Cancellation Policy Differences
Cancellation rules differ for individual vs. group lessons.
The new booking UI reflects these rules clearly, helping students understand cancellation windows and avoid confusion.
3. Operational Efficiency
Previously manual configurations (topics, schedules, seat limits) are now partially automated or dynamically managed through the new interface.
This reduces operator workload and improves scalability.
Outcome
Enabled the business to launch more flexible speaking lessons without overhauling the foundational system.
Improved student autonomy and satisfaction through the redesigned booking interface.
Created a framework to support long-term growth, balancing user needs with business scalability and operational feasibility.
Students can freely choose from available teachers and timeslots after selecting a predefined lesson topic.
Teacher’s calendar view to check lessons.
Teacher managers monitor teacher availabilities.
Phase 3
Customization, Premium Course Models, and System Scalability
Phase 3 focuses on preparing the system for more diverse educational offerings, including premium, customized speaking courses taught by in-house teachers. This phase also enhances the student experience and increases operational efficiency to support scalable, flexible business models.
Strategic Goals
Introduce premium course offerings by hiring and managing our own team of teachers. This allows us to ensure higher teaching quality and offer more tailored educational experiences.
Deliver customized student interfaces to match the structure and learning flow of specific course types. For example, some students will see unique dashboards, booking flows, or feedback systems, depending on the course.
Expand course flexibility to support a wider range of lesson types, including non-English topics, specialized programs for corporate clients, and modular content structures.
Strengthen the operational backend to automate complex workflows, including teacher assignment, availability control, course configuration, and performance tracking.
Key Initiatives (in progress)
Design configurable course templates that define lesson structures, learning goals, booking logic, and teacher requirements per course.
Implement personalized student UIs, dynamically rendered based on the enrolled course and learner type.
Optimize scalability to support new verticals and educational domains beyond English learning, while maintaining the platform's efficiency and maintainability.
I’m currently working on the design and implementation details of this phase, including collaboration with content teams, operations, and engineering. More details to follow as implementation progresses.