Space Otaku
2024
Portfolio-listed 1st Prize

Space Otaku

Developed a Progressive Web App (PWA) for space education, listed in the published portfolio as receiving 1st Prize. Engineered a custom, performance-optimized game engine within React for the 'Space Shooter' module. Integrated a conversational AI agent powered by Dialogflow for interactive learning and implemented a rigorous reliability suite using Checkly to monitor API health and uptime.

Scroll to explore

Project Highlights

Key metrics and achievements that define this project

0+
Technologies
0
Year Released
Portfolio-listed 1st Prize
Award Status
Developer
Role

Interested in This Project?

Explore the live demo, check the code, or reach out to discuss it

Full Case Study

See the delivery timeline, architecture notes, and decision tradeoffs.

A space education build listed in the published portfolio as receiving 1st Prize, using a custom canvas game loop, an ISS tracker, Dialogflow support, and monitoring tooling to make the experience interactive without reducing it to a gimmick.

The Challenge

Building an educational platform that engages users through gamification while maintaining educational integrity. The space shooter game needed to run at 60 FPS on low-end devices without compromising learning outcomes.

The Solution

Developed a custom game engine using HTML5 Canvas with optimized rendering loops and object pooling. Implemented progressive enhancement for PWA features and used service workers for offline capability. AI chatbot provides contextual learning assistance.

Key Learnings

Deep-dived into game development principles, learned advanced PWA techniques including background sync and push notifications, and gained expertise in creating accessible interactive experiences.

Project Case Study Timeline

Delivery Decisions, Not Just Screenshots

A phase-by-phase record of how the work was scoped, built, and carried into production.

Problem / DiscoveryFeatured

Learning goals and engagement framing

Set the product direction around making space education interactive enough to retain attention without turning the platform into a game-only experience.

Technical Notes

The challenge statement in the project record already anchors the work around low-end device support and educational integrity.

ArchitectureFeatured

Custom gameplay architecture

Designed the Space Shooter module as a purpose-built rendering system inside the React application instead of relying on a heavyweight game framework.

Technical Notes

The repository record already references a custom engine, optimized rendering loops, and object pooling as the core tradeoff for control and performance.

Implementation

PWA and AI-assisted implementation

Integrated the educational UI, offline-ready PWA capabilities, and Dialogflow support into a single learning experience.

Technical Notes

Service workers, progressive enhancement, and contextual AI assistance were implemented as part of the same product narrative rather than separate demos.

Optimization60 FPS target

Performance hardening for gameplay

Tuned the gameplay path around the stated 60 FPS target on lower-end devices and kept the experience progressively enhanced where features were unsupported.

Technical Notes

Optimization focused on the rendering loop and asset behavior rather than on cosmetic metrics that the project data does not currently substantiate.

LaunchFeaturedPortfolio-listed 1st Prize

Competition delivery and ongoing support posture

Released the project as a complete educational PWA; the published portfolio lists a 1st Prize recognition claim.

Outcome

The published portfolio lists the project as receiving 1st Prize; no independently linked verification source is provided here.

Key Decisions

Engineering tradeoffs that shaped the build

A compact snapshot of the technical and product decisions that had the biggest impact on delivery.

Build the shooter as a custom canvas module

The game experience needed direct control over rendering and update cadence, but the rest of the product still lived inside a standard web application.

Decision

I built the Space Shooter around a custom canvas game loop so the most interactive feature stayed tightly scoped and performance-aware.

Use a full game frameworkAvoid a real-time module entirelyImplement a purpose-built canvas loop inside React

Impact: The game became a differentiating module without forcing the entire product into a game-engine-first architecture.

Tradeoff: A custom loop gives more control, but it also means owning more of the gameplay architecture directly.

Keep live educational data in the product flow

A static space site is less compelling when users can reasonably expect real-world context such as ISS tracking.

Decision

I added an ISS tracker flow that polls an internal API and computes user distance in the interface layer.

Ship only static educational contentEmbed third-party widgetsIntegrate an internal ISS map and polling flow

Impact: The site feels closer to a living learning product than a static educational brochure.

Tradeoff: Polling adds moving parts and requires discipline around update cadence.

Treat observability as part of delivery

Interactive APIs and chatbot flows degrade trust quickly if they fail silently.

Decision

I included Checkly-based monitoring so the product had a reliability posture beyond basic deployment success.

Rely on manual checkingMonitor only the deployment platformAdd explicit synthetic monitoring for the product

Impact: The project demonstrates product stewardship, not just feature implementation.

Tradeoff: This added operational setup to what could have remained a purely feature-focused project.

Visual Showcase

A closer look at the shipped interface

This screen captures the production-facing design language, layout rhythm, and overall polish of the experience.

AssetProject Poster
Open Live Demo
Tech Stack

Built With

Scroll to explore technologies →

Next.js

SCSS

Dialogflow

PWA

Framer Motion

AnkurOS·v0.134.7ready·--:--:--

Full-stack software engineer portfolio · Initialising

-- projects · -- certificates · -- blog posts

Loading0%
Loading AnkurOS