Sky Explorer – Flight Booking App
Frontend implementation · State management
A bootcamp flight-booking project built with React, TypeScript, and Recoil.
A little context
Sky Explorer is a flight-booking application built as a bootcamp final project.
My part: Frontend implementation in a two-person frontend team, including multi-step forms, state management, and responsive interfaces.
Status: Original React version completed; a planned Next.js iteration is paused.
What needed attention
Passengers should be able to go back and change a booking detail without re-entering the rest of the form.
Core Workflow
- Search flights
- Select flight
- Passenger details
- Cabin selection
- Confirmation
The choices behind the screens
Status visibility
Visible progress
Use step indicators and clear loading and confirmation states.
Progressive disclosure
Focused steps
Reveal details and forms when they become relevant.
Error prevention
Inline validation
Flag missing fields and invalid dates before the form is submitted.
User control
Keep previous entries
Keep previous entries when navigating back through the booking flow.
State clarity
Loading, empty, and error states
Distinguish pending requests, empty search results, and errors.
Frontend Structure
- React views and forms
- Shared Recoil state
- Reusable hooks and components
Implementation Focus
Reusable components, code splitting, and lazy loading supported the multi-step experience. Validation and feedback were handled consistently across search, passenger, and confirmation screens.
What I built
We completed the responsive booking flow for the bootcamp final project. It was a project build, not a commercial booking service.
What stayed with me
In our two-person frontend team, we had to agree on where booking data lived and how each step used it. Keeping earlier form entries available was a central part of that work.
What I’d explore next
A Next.js iteration is planned but paused due to work commitments. It has not shipped.
Related Skills:
Tools I worked with
Frontend Development
State Management & Performance
UI & Interaction
Motion & Data Integration
Team & Delivery Context
Portfolio of

Riani BM
UX Engineer
from Indonesia