A responsive homepage UI built as part of my Web Development Internship assignment.
This project focuses on clean structure, responsive layouts, and modern frontend design principles using HTML, CSS, and Bootstrap.
Full Page View of the UI design implementation
This project is a frontend implementation of a homepage design provided as a visual reference.
The main goal was to convert a static UI design into a fully responsive web page using clean, maintainable code and modern frontend practices.
The past few days have mostly been about making the game feel better rather than adding flashy features.
One of the biggest changes is that the haptic system is no longer just individual vibration events. It’s starting to behave more like a layer of feedback that reacts to what’s happening while you drive.
Instead of only vibrating during crashes, different driving situations now have their own distinct feel. High speed, drifting, braking, and impacts each produce different patterns, making the car feel more connected to the road.
I’ve also been tuning the driving physics. Small adjustments to steering, grip, and drift transitions have made the car much more predictable without removing the challenge. It’s surprising how much difference tiny changes can make.
Performance has been another focus. Since the game runs entirely in the browser, keeping everything smooth on mobile devices is just as important as adding new mechanics. I’ve been cleaning up the update loop and reducing unnecessary work each frame.
I’m still collecting feedback from different devices because browser support for haptics is anything but consistent. Android has been working well, but I’m especially interested in hearing from iPhone users to see how the experience compares.
The project is slowly becoming the racing experience I originally imagined. There are still plenty of rough edges, but each update makes the game feel less like a prototype and more like an actual game.
Devlog 3 will probably be where the visuals start catching up with the gameplay.
I wanted to experiment with something different: a browser racing game that uses haptics to make the gameplay physically feel alive on your phone.
The entire game is currently built using HTML, CSS, and JavaScript.
So far it includes:
The interesting part is the haptics.
On Android devices, vibrations are currently working and are triggered by gameplay events like crashes, drifting, braking, nitro boosts, and speed changes.
I haven’t properly tested iOS yet, so feedback from iPhone users would be really helpful since browser haptic support behaves differently across devices.
This is also my first time building a game around haptics instead of treating vibration as an afterthought.
The goal isn’t to make another simple browser game, but to see how immersive a racing experience can become using only code.
It’s still early and there’s still a lot to improve, but the foundation is finally there.
If you test it, I’d love some feedback:
This is only Devlog 1. There’s still a long road ahead.
AstraOS has evolved into a browser-based operating system simulation that recreates a modern desktop experience with modular applications, persistent storage, and interactive system components.
Desktop Environment
Window Management
Dock & Menu Bar
Applications
Persistence Layer
Design System
Architecture Improvements
AstraOS is now a fully interactive browser-based desktop environment that combines operating system concepts, application lifecycle management, persistent data handling, and modern UI engineering into a cohesive web platform.
DEV LOG 01 - ASTRAOS INITIAL SYSTEM ARCHITECTURE BOOTSTRAP
Overview
AstraOS is a browser-based desktop operating system simulation inspired by macOS interaction patterns. This initial phase focuses on establishing core UI infrastructure, deterministic window management, and modular application containers inside a single-page web runtime.
The primary goal is to create a stable foundation for a scalable OS-like environment with persistent state handling and structured UI orchestration.
Core System Architecture
Desktop Shell Layer
Window Management System
Dock System
Menu Bar System
Implemented persistent top-level system bar
Added basic clock display module (initial implementation)
Reserved integration points for system indicators:
Application Layer
Initial applications implemented as isolated UI modules:
These apps currently function as independent UI shells awaiting central state integration.
Persistence Layer
Implemented localStorage-based persistence strategy
Defined early schema for:
Initial groundwork for virtual filesystem simulation
Design System
System Limitations
Next Objectives
Summary
This phase establishes the foundational UI and interaction architecture of AstraOS. The system is currently a structured desktop shell with modular applications and persistent state groundwork. Future development will transition toward full OS-like behavior with real-time system integration and improved runtime consistency.
DEV LOG 01 - ASTRAOS INITIAL SYSTEM ARCHITECTURE BOOTSTRAP
Overview
AstraOS is a browser-based desktop operating system simulation inspired by macOS interaction patterns. This initial phase focuses on establishing core UI infrastructure, deterministic window management, and modular application containers inside a single-page web runtime.
The primary goal is to create a stable foundation for a scalable OS-like environment with persistent state handling and structured UI orchestration.
Core System Architecture
Desktop Shell Layer
Window Management System
Dock System
Menu Bar System
Implemented persistent top-level system bar
Added basic clock display module (initial implementation)
Reserved integration points for system indicators:
Application Layer
Initial applications implemented as isolated UI modules:
These apps currently function as independent UI shells awaiting central state integration.
Persistence Layer
Implemented localStorage-based persistence strategy
Defined early schema for:
Initial groundwork for virtual filesystem simulation
Design System
System Limitations
Next Objectives
Summary
This phase establishes the foundational UI and interaction architecture of AstraOS. The system is currently a structured desktop shell with modular applications and persistent state groundwork. Future development will transition toward full OS-like behavior with real-time system integration and improved runtime consistency.