Overview
Overview
Design and development of a web application that helps students—from middle school to higher education—search, book, and manage internship opportunities.
The goal was to transform a complex administrative process into a simple, intuitive experience by guiding users through each step while ensuring data integrity and accessibility across all devices.
Objectives
Simplify a complex booking workflow.
Reduce form abandonment with a guided multi-step experience.
Deliver a seamless experience on both desktop and mobile.
Allow users to save their progress and resume the process at any time.
My Role
UX design and user flow optimization
Front-end development
Component architecture
State management
Performance optimization
Responsive implementation
UX Challenges
The biggest challenge was turning a large, information-heavy form into a user-friendly experience.
To achieve this, I designed a guided multi-step workflow featuring:
Clear progress indicators
Step-by-step validation
Contextual error handling
Automatic progress saving
The ability to pause and resume the application without losing data
This approach significantly reduced cognitive load and made the booking process feel approachable despite its complexity.
Technical Challenges
The application is built around a large multi-step form with complex business logic and interconnected data.
Key technical challenges included:
Persistent form state across sessions
Automatic draft saving
Managing parent–child relationships between entities (student, legal guardian, school, internship, etc.)
Conditional validation based on user profiles and previous answers
Synchronizing data between multiple steps
Preserving state while navigating forward and backward
Building a scalable architecture for future feature development
Architecture
The project was built using a modular, component-driven architecture focused on maintainability and scalability.
Key architectural principles include:
Reusable UI components
Clean and maintainable layouts
Separation of business logic from presentation
Centralized state management
Scalable codebase designed for long-term evolution
Tech Stack
Nuxt
Vue.js
TypeScript
Scss
Component-based architecture
State Management
Responsive Design
Form Validation
Outcome
The result is a fast, responsive web application that successfully simplifies a highly complex booking process.
Users are guided through every stage with a clear interface, automatic progress saving, and a seamless experience across devices, while the underlying architecture remains flexible and easy to maintain.
What This Project Demonstrates
Designing complex business applications
Building large multi-step forms
Advanced state management
Managing parent–child data relationships
Scalable front-end architecture
UX optimization for conversion and usability
Responsive interface development
Reusable component design
Performance-focused development










