My Personal Technical Journey

Final-year student at IIT Kharagpur with a deep passion for programming, open-source, and creative technology. I love building tools that sit at the intersection of code, art, and usability; from kernel-level systems to game engines and generative art. As a Linux power user and contributor to open-source projects, I enjoy diving deep into low-level systems while also exploring the aesthetic side of tech through audio-visual experiments, UI/UX design, and side projects that blend logic with creativity.
This blog is an overview of my journey with technology. From my earliest memories of playing with computers to college projects in low-level systems and graphics programming. It’s a walkthrough of how my interests evolved, the projects I worked on, and the lessons I learned along the way. In future blogs, I’ll cover each of these phases and projects in more detail.
Years 2005 - 2010 (Age 2 - 7): Early Awe
It’s the year 2005. My dad, a software engineer (still is, but more so, a CEO), had a 2001 Toshiba laptop and a spare PC with a CRT monitor. I used to see him typing really fast on his laptop, and I used to imitate it, typing gibberish, but at lightning speeds.
At three, I begged him to create my first email ID. Soon after, I had Skype and Yahoo accounts to talk to my aunt abroad. By four, using computers was my daily routine after school because I had no friends nearby, and in fact, I talked to strangers on Skype, much to my dad’s disapproval. He taught me stuff about internet browsing ethics.
Around this time, he turned our TV into a PC, so now, I used to browse the internet on the big screen. Also, he connected the TV-PC with something known as a Dongle; voila, we had wireless internet in 2007. I was really fascinated by WIFI and dongles, because it was essentially the internet in your pocket.
At six, I discovered online gaming, namely Zapak, cartoonnetworkindia, and Miniclip. Even though I spent 4-5 hours daily on the computer all these years, I was not programming to develop a multi-billion-dollar app, per se. Still, these fundamentals were shaping me into what was coming next.
Years 2011 - 2015 (Age 8 - 12): First coding spark
In 2011, I inherited my dad’s 2007 Lenovo Core2Duo laptop since he bought a Mac for himself. On it, my technical journey truly began.
At nine, my cousin introduced me to GTA San Andreas, and I was mind-blown. I was highly intrigued by how real it felt, how the character moved and animated, how the NPCs reacted, how the “3Dness” of the game felt so lifelike, how the weather felt so real, etc. I decided then and there to join Rockstar Games when I grew up.
Around this time, my dad suggested that I install Scratch, a visual drag-and-drop programming language. This was my first experience with programming, and oh boy, the time I spent on this software was unhealthily high. I learnt about the basics of programming, developed so many little projects, like Bouncy Ball clone, Mario clone, effects creator, Quiz game, Brick Breaker clone, and many more.
(Below are my Scratch projects. Look at the “Date Modified” column for each project.)

By 2013, my curiosity led me to GameMaker Studio, my first step into typed code. I explored side-scrollers like Mario and learned basic programming concepts, though advanced topics like lighting, physics, and AI flew over my head at 10 years old. (All the folders ending with .gmx are GameMaker Studio projects. Although about half of those are not mine.)

Learning nothing from my shortcomings, I went ahead and installed Unity, the holy grail of game engines, and uninstalled it two days later. Neither my laptop nor my small brain could handle that. I tried to install Unreal Engine, too, but it required “Shader Model 3.0” back then, but all I had was a seven-year-old laptop.
Around this time, I also jailbroke my iPhone 3GS, installed the iOS 7 theme (iOS 6 was the highest official version on it), installed a File Manager (I mean, iPhones still don’t have a file manager), and changed a file that enabled accelerometer support, that allowed me to run FIFA14 on a phone that naturally couldn’t (my first taste of “true hacker” tinkering).
In 2015, I don’t know why, but I learnt Visual C++ and created a calculator app, and not just that, my friend and I even presented it during the school’s Club Culmination. (I mean seriously xD).
By then, I had developed programming fundamentals and a knack for “breaking and fixing” systems. I tinkered around way too much with the computer settings, trying every option there was, installing viruses like there’s no tomorrow, etc. My old laptop couldn’t handle Windows 7 since there was no sound driver, so I reverted to XP (I know, Windows XP in the big 2015).
Years 2016 - 2020 (Age 13 - 17): High school tinkering
My laptop finally gave up, so my dad handed me a 2010 Dell i5 1st Gen. It was slow, but I could play games like Hitman Absolution.
The bigger shift came in late 2016, when my mom gifted me a Redmi Note 3, and I went all-in on the Android open-source rabbit hole. Before this, I tried rooting my Acer Iconia tablet using one-tap root methods, but they obviously failed. Xiaomi’s open-source community was thriving back then. I tinkered so much with different custom ROMs like Cyanogenmod (now LineageOS), ResurrectionRemix, NitrogenOS, AEX, etc. I rooted the phone with SuperSU, installed Xposed Framework, and had way too much fun with it. Obviously, there were so many slip-ups, data got wiped many times, the phone bricked and stuck in a boot loop, etc. Still, it allowed me to spoof location in Pokémon GO (it was trendy back then).
In 2017, I decided to take up game development with Unity again, due to my recent brain expansion. Inspired by GTA V’s ragdoll physics, Inside’s atmosphere, and parkour mechanics from Vector, I started developing a 2.5D parkour game. I learnt about character modelling, optimization, rigging, animation, UV mapping, inverse kinematics, etc.

At the same time, I dabbled in Kali Linux. Though mostly script-kiddie experiments, it introduced me to Bash, penetration testing basics, and Linux itself.
In 2018, my friends and I worked on a web application for Fitness Enthusiasts for the school Club Culmination. This was my first experience with building full-stack web applications. The tech-stack was Flask and Python (and UI was done the old-school vanilla JS way).
That year, I also discovered deep learning through 3Blue1Brown. Though the calculus was overwhelming for a tenth grader. I was introduced to genetic algorithms and NEAT (Neuroevolution of Augmenting Topologies) through MarI/O and even started working on some projects. I tried to build NEAT from scratch using Java (don’t judge me, it was popular then), and implemented a genetic algorithm in Unity to learn more about it.
This was the last year of my experiments with programming for about the next two years, as in 2019-2020, I was fully locked in for JEE, and coding went on pause, aside from mandatory school CS projects.
Years 2021 - 2023 (Age 18 - 20): College Expansion - Part 1
April 2021, our whole family caught Covid. I was burnt out from my JEE studies. CBSE 12th Boards were cancelled, and JEE was postponed. I thought of taking up programming again. During this time, I was again getting recommended game development videos, and Dani was all over YouTube, which inspired me to fire up Unity again. Unfortunately, all the Unity project files from 2017-18 were deleted, so I thought of restarting the 2.5D parkour side-scroller project from scratch. This time, I solely focused on the movement mechanics, character controller, parkour accuracy, seamless animation transitions, and realistic active ragdolls. I worked on it for 2-3 months before returning to the JEE grind, for one final lap.

October 2021, JEE cleared, I had time. I was inspired by my friend, who used Linux as his daily driver (he was distrohopping non-stop), and I decided to do the same for myself. That was the beginning of my getting sucked into the Linux rabbit hole. I was fascinated by Arch Linux, so I installed it and got it working on the second try. For the next few months, I was watching Linux ricing videos, open-source talks, and learning about advanced distros like NixOS and Gentoo. I uploaded my first Linux rice on r/unixporn, and it did alright.

December 2022, this time, I was entirely on board with the Unix philosophy and decided to customize and own my Arch Linux system fully. I decided to cut down bloat and only use Suckless Software (these are written in C, and the base application is less than 2000 lines of code. You have to patch it as per your needs to add functionality; this way, the application only has the functionality that you require). I created my own theme, customized DWM, dmenu, slock, dwmblocks, Neovim, and wrote my own scripts. All this was to streamline productivity and cut down the excess bloat. I uploaded a second rice on r/unixporn and it did very well.

Fast forward to the summer of 2023, I was fascinated by graphics programming, and thought of building a raytracer from scratch in Rust. Rust was definitely not for the weak-willed, and I learnt it the hard way. Anyway, I built a brute-force raytracer on CPU. It only rendered static images, but I learned a lot about memory lifetimes and Rust’s ownership model.
This led me to self-hosting. Inspired by Luke Smith, Bugswriter, and Wolfgang’s Channel, LandChad, I set up a Raspberry Pi 4 home server with an Argon case and SSD. I configured Nginx, SSH, Wireguard VPN, GPG password manager, Nextcloud (Google Drive alternative), Jellyfin (media server), SearX (search engine), and more. It was empowering to own my data, my server, and my privacy. I learnt a lot about server administration and management through this process, and it felt good to own a server that physically sits in my home, and to own my data and focus on privacy and security.
Years 2024 - 2025 (Age 21 - 22): College expansion - Part 2
I learnt MERN stack in college, and thought of applying to Google Summer of Code. I have already elaborated on my GSoC’24 journey in this blog so that I won’t go into much detail. Anyway, I got rejected for GSoC’24, and during the summers, instead of doing an internship, I decided to do my own projects. I developed Dropifi, an open-source file-hosting program that you can self-host on your server or PC, similar to 0x0.st.
After developing Dropifi, I learned graphics programming, and it was definitely a ride. OpenGL has way too much of a learning curve, and most of the code is there to get it to render a triangle. Channels like Sebastian Lague, SimonDev, kishimisu, Inigo Quilez, Vercidium, Freya Holmér, AngeTheGreat, Low Level Game Dev, and many more greatly inspired me. I watched videos about building shaders, graphics engines, physics engines, fluid simulations, etc. I thought of creating a raytracer from scratch, but this time, I am using OpenGL, which will run on the GPU, and the user can run it in real-time and interact with it. I built it in about two months, then hopped back into the GSoC grind, which I’ve discussed here.

I learnt about OS, processes, scheduling, threads, kernel development, low-level memory management, and concurrency handling in C. The GSoC’25 journey was incredible.
Now, it is October 2025, as I am writing this article. I am currently working on a project related to a system call visualization using ptrace. I am simultaneously working on a unique portfolio website. Stay tuned for it.
Conclusion
This has been my journey so far, from typing gibberish on a CRT monitor to tinkering with graphics engines and low-level systems. Along the way, I learned that curiosity matters more than perfection. Every failed attempt, bricked phone, or abandoned project added something to my growth.
I owe much to my father, who gave me the privilege of early access to technology, encouraged me, and never stopped me from exploring.



