
Writing a 512-Byte Boot Sector OS in x86 Assembly from Scratch
In Week 12 of Project52, I challenged myself to build an operating system from the most fundamental entry point possible: the boot sector. This 512-byte region at the start of a disk is the first code executed by the CPU after power-on, loaded directly into memory by the BIOS. Without relying on GRUB, Linux, or even a file system, I wrote hand-crafted x86 Assembly that runs in 16-bit real mode, interacts with BIOS interrupts, and produces output directly to the screen. This project was an exercise in minimalism, precision, and understanding the bare-metal mechanics of how all modern computing systems begin.

Building an End-to-End Frontend System for Color Creation: Palette Town
Palette Town is a frontend-only platform designed to generate, manage, visualize, and export color palettes with a strong emphasis on integrating user interface design and user experience architecture. Built entirely with HTML, CSS, and JavaScript, the project explores both color theory-driven generation (analogous, complementary, monochromatic, pastel, dark tones, gradients) and the creation of interactive experiences such as dynamic mosaics, dark mode persistence, and real-time export options for developers.
Built an Emergence Simulator Using Conway’s Game of Life
For Week 10 of Project52, I built an interactive simulator based on Conway’s Game of Life, designed as a six-chapter experience to showcase how structured behaviors — like motion, repetition, reproduction, and even computation — can emerge from simple, rule-based systems. Instead of a freeform sandbox, this project guides users through curated scenarios that reveal key properties of emergent complexity, making it both a technical build and a visual storytelling tool for understanding how logic can evolve into lifelike behavior.
I Built QuickType — A Real-Time Typing Game That Lets You Race a Bot
Quicktype is a real-time typing game that lets users race against a simulated bot while tracking their typing speed and accuracy live. Designed with clean UI, responsive animations, and a lightweight stack (HTML, CSS, and vanilla JavaScript), it features dynamic prompts, error tracking with visual indicators, and a local leaderboard that records your top performances.
DQN vs PPO: Which Reinforcement Learning Algorithm Lands Better?
Using OpenAI Gym’s LunarLander-v3 environment, I trained two AI agents from scratch: one using Deep Q-Networks (DQN), a value-based method that learns which actions lead to maximum reward, and the other using Proximal Policy Optimization (PPO), a policy-gradient method that directly learns optimal behaviors. I tracked their learning curves, reward scores, fuel usage, and even visual behaviors to determine which agent could not only land but do so gracefully, efficiently, and reliably.
Archive

Writing a Minimal OS Loader That Boots into 32-Bit Mode
In this week’s Project52 build, I wrote a 512-byte boot sector that does far more than just boot — it switches the CPU into 32-bit Protected Mode, clears the screen, and prints a message without relying on BIOS or any operating system. This project builds directly on last week’s real-mode bootloader by going deeper into how modern systems actually start up. Instead of using BIOS interrupts like int 0x10, it sets up its own Global Descriptor Table (GDT), flips the protection bit in the CPU’s control register, and writes directly to VGA memory at 0xB8000. It’s a foundational leap from "printing in real mode" to "owning the machine in protected mode."


Writing a 512-Byte Boot Sector OS in x86 Assembly from Scratch
In Week 12 of Project52, I challenged myself to build an operating system from the most fundamental entry point possible: the boot sector. This 512-byte region at the start of a disk is the first code executed by the CPU after power-on, loaded directly into memory by the BIOS. Without relying on GRUB, Linux, or even a file system, I wrote hand-crafted x86 Assembly that runs in 16-bit real mode, interacts with BIOS interrupts, and produces output directly to the screen. This project was an exercise in minimalism, precision, and understanding the bare-metal mechanics of how all modern computing systems begin.


Building an End-to-End Frontend System for Color Creation: Palette Town
Palette Town is a frontend-only platform designed to generate, manage, visualize, and export color palettes with a strong emphasis on integrating user interface design and user experience architecture. Built entirely with HTML, CSS, and JavaScript, the project explores both color theory-driven generation (analogous, complementary, monochromatic, pastel, dark tones, gradients) and the creation of interactive experiences such as dynamic mosaics, dark mode persistence, and real-time export options for developers.


Built an Emergence Simulator Using Conway’s Game of Life
For Week 10 of Project52, I built an interactive simulator based on Conway’s Game of Life, designed as a six-chapter experience to showcase how structured behaviors — like motion, repetition, reproduction, and even computation — can emerge from simple, rule-based systems. Instead of a freeform sandbox, this project guides users through curated scenarios that reveal key properties of emergent complexity, making it both a technical build and a visual storytelling tool for understanding how logic can evolve into lifelike behavior.


I Built QuickType — A Real-Time Typing Game That Lets You Race a Bot
Quicktype is a real-time typing game that lets users race against a simulated bot while tracking their typing speed and accuracy live. Designed with clean UI, responsive animations, and a lightweight stack (HTML, CSS, and vanilla JavaScript), it features dynamic prompts, error tracking with visual indicators, and a local leaderboard that records your top performances.


DQN vs PPO: Which Reinforcement Learning Algorithm Lands Better?
Using OpenAI Gym’s LunarLander-v3 environment, I trained two AI agents from scratch: one using Deep Q-Networks (DQN), a value-based method that learns which actions lead to maximum reward, and the other using Proximal Policy Optimization (PPO), a policy-gradient method that directly learns optimal behaviors. I tracked their learning curves, reward scores, fuel usage, and even visual behaviors to determine which agent could not only land but do so gracefully, efficiently, and reliably.


Building a Scalable Memory Game with Vanilla JavaScript
This week, I built a fully interactive Memory Game using only HTML, CSS, and Vanilla JavaScript — no libraries, no frameworks. Inspired by the classic card-matching game, the project features animated cards, themed levels, timed challenges, and a real-time scoring system.


Building a Real-Time Visualization of Births & Deaths for all Countries
This project is a real-time visualization of global births and deaths, dynamically flashing countries on a Leaflet.js-powered interactive map as events occur. Built using HTML, CSS, Javascript, Pandas, and real-world data from WHO, UN, and World Bank, this tool transforms raw statistics into an emotional and immersive experience, reminding us that behind every number is a human story unfolding in real time.


Stepping into the Cosmos: Building an N-Body Gravity Simulator
The N-Body Gravity Simulator is a real-time, high-performance physics simulation built using C, OpenGL, and GLFW, designed to visualize and interact with celestial motion under Newtonian gravity. This system models gravitational forces using pairwise force calculations and updates motion through Euler integration, allowing me to dynamically spawn, manipulate, and observe planetary-like systems in action.



From AI to Religion: Analyzing ~300,000 Reddit Comments to See What the World’s Talking About 🌎
I analyzed Reddit comments from country-specific subreddits to uncover global discussions on AI, Religion, and Politics. By scraping, translating non-English content, and matching keywords, I explored what citizens from various countries are talking about.


How Long Would It Take You to Earn as much as a Billionaire?💰
Built with HTML, JavaScript & Canvas API. Instead of relying on external libraries, I used Vanilla JavaScript to control every element, from capturing user input to generating the dynamic output, making this a great learning experience in pure front-end web development.
