Tejas Mahajan

No ideas · Open for Opportunities

I'm Tejas. 21. Final year CS student who gets unreasonably obsessed with understanding how things actually work.

When I see a piece of technology do something that feels like magic, I can't just accept it. I need to tear it apart, read the source code, rebuild it from scratch until the magic disappears and becomes logic. That's what this site is. My lab notebook.

What Drives Me

I don't trust abstractions I haven't built myself. When I wanted to understand indexing, I built a search engine for research papers. When I needed to understand networking protocols, I made a P2P chat app. I run Arch Linux with Hyprland because I wanted complete control over my environment. When your window manager crashes at 2 AM, you learn about process management whether you want to or not.

I solve problems by breaking them down to first principles. Strip away the framework magic, the library abstractions, the "it just works" mentality. What's actually happening at the system level? What are the real constraints? Where's the actual bottleneck?

Currently grinding competitive programming. Specialist on Codeforces. There's something addictive about reducing a 200-line brute force solution to 20 lines of elegant logic. It's pure pattern recognition and algorithmic thinking.

What I Build

Most projects start because I encountered something I didn't understand and refused to move on until I figured it out. I'm not building products or chasing metrics. I'm building to learn.

Working with LLMs because the technology is genuinely fascinating. Implementing algorithms from papers because reading about them isn't enough. Creating tools that expose how systems work under the hood.

I spend a lot of time alone, focused. Debugging edge cases. Implementing data structures from scratch. Reading library source code to understand why something behaves a certain way. My brain doesn't turn off until the problem is solved.

What I Write About

I document my journeys of discovery. When I encounter a piece of technology that feels magical or broken, I fall down the rabbit hole of research and experimentation until I understand it completely. Then I write about it.

Not tutorials. Not guides. Just the story of figuring something out. The confusion, the dead ends, the moment it finally clicks. If explaining something forces me to understand it at a deeper level, then it was worth writing.

Right Now

Final year of B.Tech. Figuring out what comes after graduation while balancing placements, academics, and the projects that won't leave my head.

Planning to contribute more to open source. The fastest way to level up is to read production code written by people better than you, then try to improve it without breaking everything.

My Stack

System: Arch Linux via HyDE Project, Hyprland, Kitty terminal, zsh

Code: VS Code, Zed, Neovim depending on what I'm doing

Languages: Python for AI/backend, C++ when performance matters, TypeScript for web

Web: Next.js + TailwindCSS (this site), FastAPI for backends

Database: PostgreSQL for production, SQLite for experiments

ML: PyTorch

CP: C++ on Codeforces (@screenager), LeetCode, AtCoder

If it doesn't make me faster or help me understand something better, I don't use it.

Connect

Find me at @screenager or @the_screenager on most platforms.

Up for technical discussions, debugging weird problems, or talking about why a certain approach is fundamentally broken. I won't judge your tech choices.

Fair warning: I respond with excessive enthusiasm about CS fundamentals.

Where to Find Me

GitHubGitHubLinkedinLinkedInXTwitter

More to Explore