Skip to main content
Back to projects
CosmicX icon

Case Study

CosmicX

A browser-based space experience that turns the scale of the universe into something people can explore, shape, and understand.

JavaScriptThree.jsVite
Role
Product design + frontend development
Outcome
An interactive space experience with three learning modes.
Stack
JavaScript · Three.js · Vite
01

Project Overview

CosmicX banner
Project Overview
CosmicX is a browser-based space experience that turns the scale of the universe into something people can explore, shape, and understand. It brings together three connected modes: a Solar Simulator for hands-on experimentation, a Galaxy Creator for building a personal galaxy, and a Big Bang Timeline for moving through cosmic history. The product is designed for people who are curious about space, including learners, visual thinkers, and visitors who want more than a static explanation. The completed implementation combines guided entry points with open-ended interaction, so a person can follow a structured story or spend time experimenting at their own pace. This case study covers the completed journey from the title screen through each mode, including mode selection, guided tours, controls, responsive layouts, local saves, and visual scenes. It is a local-first experience with no backend, account system, or external service.

Tech Stack

JavaScriptThree.jsVite
02

Problem and Solution

Problem
Scale is hard to grasp
Numbers and diagrams alone feel distant
Need for immediacy
Large ideas must be explorable, not passive animation
Three learning modes
Discovery, creation, and narrative as one product
Controls must stay coherent
Local persistence without a server or account
Solution
Solar Simulator
Move, inspect, change time, and create events
Galaxy Creator
Choose type, shape structure, seed population, tune physics
Big Bang Timeline
Eleven stages with scrubbing, reverse, and camera control
Shared entry and saves
Guided tours, responsive panels, and local persistence
03

Role & Responsibilities

  • Defining the interaction model for the title screen, mode selection, guided tours, and in-app navigation.
  • Building the Solar, Creator, and Big Bang experiences as connected parts of one application.
  • Creating the control panels, timelines, inspectors, dossiers, settings, music controls, and responsive layouts.
  • Implementing browser-local preferences and save workflows, including scene saves, Creator save slots, JSON export/import, shareable Solar scenes, and screenshots.
  • Adding accessible names, keyboard-friendly controls, mobile panel behavior, and lifecycle cleanup as the user moves between modes.
  • Verifying the completed work with automated tests, production builds, and live browser inspection.

No claim is made about team size, formal user research, adoption, or business ownership because those details are not established by the implementation.

04

Design Process

Design Process
5 Principles
01
Principle
Establish tone before density
Shared title screen previews modes before dense controls appear
Entry
02
Principle
Introduce complexity gradually
Mode-specific tours and grouped panels reveal depth over time
Progression
03
Principle
Keep dense controls usable
Collapsible panels and disclosure keep the 3D scene visible
Layout
04
Principle
Support multiple screen sizes
Responsive behavior with accessible names and optional fullscreen
Responsive
05
Principle
Treat modes as one journey
Routing and lifecycle cleanup keep experiences connected
Cohesion
05

Key Features

01
Solar Simulator — environments and inspection
Five explorable environments including the Milky Way, Andromeda, Messier 87, Triangulum, and a fictional Wormhole Galaxy with eight modeled planets, an asteroid belt, distant galaxies, object labels, selectable targets, dossiers, and six camera styles.
02
Solar Simulator — time and experimentation
Forward and reverse time, adjustable speed, timeline scrubbing, reset and present-time controls, reversible user events, and impact warnings with spawn, impact, laser, cursor-laser, zodiac, and wormhole interactions.
03
Galaxy Creator — guided authoring
Six galaxy types and a four-step setup flow for type, structure, population, and physics with controls for galaxy name, diameter, arms, core, thickness, density, dust, clusters, mass, dark matter, rotation, and star formation.
04
Galaxy Creator — procedural universe and inspection
Procedurally generated stars, nebulae, systems, planets, moons, atmospheres, dusty orbits, events, statistics, and encyclopedia entries with a dedicated stellar-system view, simulation speeds up to one million times, and inspection controls.
05
Big Bang Timeline — chronological journey
Eleven chronological stages from the beginning of the universe through the distant future with play, pause, reverse, speed controls, direct chapter selection, timeline scrubbing, expansion-rate control, continuous camera movement, chapter dossiers, compact badges, and a hide-UI option.
06
Shared experience and persistence
Bundled scene-specific music, settings for display, graphics, camera, interface, and audio, mobile-collapsed panels, named local saves with presets, shareable Solar scene links, Creator JSON export/import with save slots, and downloadable screenshots.
06

Tech Stack

JavaScript with native modulesthe application behavior, simulation rules, navigation, and interaction logic.
HTMLsemantic structure for buttons, dialogs, tabs, sliders, labels, and information panels.
CSSthe visual system, glass panels, transitions, responsive layouts, and narrow-screen behavior.
Three.js 0.170.0 and WebGL3D scenes, cameras, lighting, particles, procedural environments, and visual effects.
Vite 8.1.5local development, module loading, asset handling, and production bundling.
Browser APIslocal storage for preferences and saves, file, Blob, URL, and canvas APIs for export and screenshots, fullscreen and device-orientation support, audio playback, and hash-based navigation.
Bundled MP3 audioscene-specific music included with the application rather than loaded from an online service.
Node.js built-in test runnerautomated checks for simulation rules, persistence, routing, accessibility contracts, responsive behavior, and shared helpers.

There is no backend, external API, online service, account system, cloud synchronization, collaboration layer, or database. Preferences and saves remain in the browser that created them, and Creator JSON export is the available portable backup path.

07

Challenges & Solutions

Keeping three demanding experiences inside one application

The shared navigation flow destroys inactive simulations, cancels their browser work, and removes their visual resources before another mode takes over. This prevents old scenes from continuing to run in the background.

Keeping controls usable while the 3D scene stays visible

Actions are grouped into focused panels with collapse and disclosure controls, and the layout adapts for narrow screens instead of shrinking every control indefinitely.

Surviving a reload without a server

The application sanitizes stored data, keeps separate onboarding completion for Solar and Creator, and degrades to safe defaults when storage is unavailable. A remaining limitation is that Creator save feedback does not yet clearly surface every storage-write failure.

Mixing established references with fictional content

The fictional Wormhole Galaxy lives inside the same visual language as ordinary black-hole behavior while remaining distinct. Scientific simplifications and speculative material should still be identified more explicitly in a future pass.

08

Final Product

  1. 01

    The finished journey begins at a title screen with a live cosmic backdrop, music, a Start action, settings, and a mode-selection path.

    Visitors can preview the other experiences and choose the level of structure they want.

  2. 02

    In Solar, a short tour explains navigation and inspection before the visitor reaches the full control surface.

    They can choose an environment, select a body or galaxy, move the camera, adjust time, open information panels, trigger experiments, and preserve a scene locally.

  3. 03

    In Creator, the visitor moves through four setup steps before entering a generated galaxy.

    From there, they can inspect statistics, place systems and objects, evolve the galaxy, read Codex entries, enter a stellar system, change visual effects, save their work, export it, or capture a cinematic image.

  4. 04

    In Big Bang, the visitor begins a guided presentation and moves through eleven cosmic stages.

    They can scrub or reverse the timeline, change the expansion rate and camera, read the current chapter details, and reach a replayable ending.

  5. 05

    The result is a single experience that can feel like a simulation, a creation tool, or an interactive lesson depending on the path a visitor chooses.

    The three modes stay connected through shared navigation and lifecycle handling that cleans up inactive scenes before switching.

09

Results / Outcome

Delivered outcomes
What the feature supports in practice
  • The current implementation passed 200 automated tests with no failures and the production build completed successfully.
  • Live browser inspection confirmed the title and mode-selection flow, the Creator setup and workspace, the Big Bang title and active timeline, and Solar controls with shared settings and narrow-screen presentation.
  • The build still reports an advisory that one generated JavaScript chunk is larger than the recommended size.
  • The inspected browser emitted a non-fatal WebGL shader warning with no application error observed during the pass.
  • Gyroscope behavior on a real phone, complete download-and-reimport round trips, browser-storage quota or write failures, and full-length sessions through every timeline ending remain not physically exercised in this review and are covered by automated tests and source inspection.
10

Lessons Learned

Lessons learned
11 takeaways
What worked
What could improve
Future considerations
What worked4
  • A visually rich experience still needs a clear first step with mode selection and short tours.
  • Keeping state local and explicit with separate saves, settings, route cleanup, and onboarding keys makes the application predictable.
  • Guided discovery first, then deeper control for visitors who want to continue exploring.
  • Automated checks protect rules and structure while real browser sessions reveal layout and lifecycle issues.
What could improve4
  • Surface Creator storage-write failures more clearly in save feedback.
  • Identify scientific simplifications and fictional content such as the Wormhole Galaxy more explicitly.
  • Reduce the large generated JavaScript chunk below the recommended size.
  • Verify gyroscope, export/import round trips, storage quota, and full timeline sessions on real devices.
Future considerations3
  • Adding explicit labels for reference material, simplified models, and speculative content to strengthen trust without removing imagination.
  • Considering truthful feedback for every persistence failure and a clearer quota strategy.
  • Exploring further responsive refinements and lifecycle cleanup as the experience grows.