Tejas Mahajan

CS Student & Builder · Open for Opportunities

Hey there! I'm Tejas, 21, final year CS student who spends way too much time in front of a screen. (Hence the username.)

Started programming in 11th grade when everyone around me already seemed to know what they were doing. But that late start made me curious about everything. Why does this work? What happens if I change this? Can I make it faster?

Turns out being the guy who asks "but why?" leads to interesting places.

How I Think About Code

I'm not the smartest person in the room, but I'm the one who'll stay up until 3 AM trying to understand why something works. I build things from scratch because that's when you really get it.

Take my Arch Linux setup with Hyprland — not to be that guy (okay, maybe a little), but because I wanted to understand every piece of my environment. When your window manager crashes and you have to fix it yourself, you learn about process management real quick.

I've been diving into competitive programming lately. There's something satisfying about solving a problem in 20 lines that would take 200 the obvious way. Currently Specialist on Codeforces — not amazing, but at least I'm not stuck in Pupil hell.

What I'm Building

I build things that probably already exist, but I want to understand how they work. Built a search engine for research papers to understand indexing. Made a P2P chat app to understand networking.

Created tools that use LLMs because it's 2025 and they're everywhere. Still waiting for ChatGPT to debug my code without making it worse. We're not there yet.

Most projects start with "I wonder if I can..." and end with "oh, that's how that works." Sometimes they end with "why did I think this was a good idea at 1 AM?"

I'm that person who reads documentation for fun and gets excited about database optimizations. There's something beautiful about making something run 10x faster just by thinking about the problem differently. It's like solving a puzzle, except the puzzle can crash your server.

The Real Stuff

Pretty introverted, so I spend a lot of time just figuring things out. I like the quiet focus of debugging a tricky problem or implementing an algorithm from first principles. Plus, my friends are tired of me explaining why their O(n²) solution could be O(n log n).

Currently working through my final year of B.Tech, balancing academics and placements with all the side projects that keep popping into my head. Also trying to get better at explaining complex things simply — turns out that's harder than the actual coding sometimes.

I write about what I learn because teaching forces you to actually understand something. Plus, future me always forgets how current me solved that weird concurrency bug.

Random Tech Thoughts

  • Hyrum's Law is basically Murphy's Law for APIs
  • The best debugging tool is still printf() (fight me)
  • There are two types of people: those who understand recursion, and those who understand recursion
  • If your code works on the first try, you're either lucky or you didn't test it properly
  • "It works on my machine" is not a deployment strategy (learned this the hard way)

Late Night Realizations

  • Writing comments is like writing love letters to your future self (who will hate past you anyway)
  • Git commit messages are modern poetry: "fix bug", "another fix", "please work", "WHY"
  • The rubber duck method has solved more problems than Stack Overflow
  • 90% of programming is googling error messages, 10% is pretending you knew what you were doing
  • Naming variables is harder than naming your children (at least kids don't throw NullPointerExceptions)

Things That Keep Me Awake

  • Why do we say "turn off the computer" when we press the power button?
  • Is HTML a programming language? (Asking for the 1000th time)
  • If you fix a bug and no one tests it, was it really fixed?
  • Somewhere out there, someone is still using Internet Explorer by choice
  • That one semicolon missing somewhere in 200 lines of code

Developer Survival Kit

  • Energy source: It's personal (won't share)
  • Debug companion: Rubber duck (not really, anything that works)
  • Stress relief: Mechanical keyboard sounds (don't have one yet)
  • Problem solver: Go on a walk (seriously, try it)
  • Last resort: "Have you tried turning it off and on again?"

The Stuff I Actually Use

No one asks about my setup, so here's the honest breakdown:

Operating System & Environment

  • OS: Arch Linux (yeah, I'm that guy) via HyDE Project
  • Window Manager: Hyprland on Wayland (X11 is so 2010)
  • Terminal: Kitty — GPU-accelerated, handles my terrible typing speed
  • Shell: zsh with Oh My Zsh (because I like my terminal pretty)
  • Browser: Zen Browser for daily use, Firefox when Zen breaks, Brave for extra privacy

Code & Text

  • Editor: VS Code for most things, Zed when I'm feeling fancy
  • Backup editor: Neovim (when I want to feel like a real programmer)
  • Fonts: JetBrains Mono / FiraCode / CaskaydiaCove — nerd fonts because ligatures are pretty

Languages & Frameworks

  • Go-to languages: Python (for everything AI/backend), C++ (when speed matters), TypeScript (web stuff)
  • Web stack: Next.js + TailwindCSS (this site is built with it)
  • Backend: FastAPI when I need something that actually works, or Node.js things for when I need to throw something together quickly
  • Database: PostgreSQL for serious stuff, SQLite for experiments
  • ML/AI: PyTorch (TensorFlow users, we can still be friends)

Competitive Programming Arsenal

  • Platforms: Codeforces (@screenager), LeetCode (when I can wake up), AtCoder (for the good problems)
  • Language: C++ because template libraries go brrrr
  • IDE: VS Code with competitive programming extensions (don't @ me, vim users)

Tools That Keep Me Sane

  • Package Manager: pacman + yay (AUR is life)
  • File Manager: nnn in terminal, Thunar for GUI
  • Clipboard: cliphist + wofi for clipboard history
  • Music: YouTube Music (student life)

Philosophy: If it doesn't make me faster or isn't fun to use, it gets uninstalled. Life's too short for bad software.

What's Next

Just trying to build cool stuff and learn as much as I can. Maybe work on systems that matter, write code that doesn't make people cry, and figure out what I want to do after graduation.

Planning to contribute more to open source. Because nothing says "I'm a real developer" like having your first PR rejected for not following the coding standards. Character building.

If you're into similar stuff or want to chat about code, algorithms, or why your terminal theme matters more than it should, feel free to reach out. I won't judge your choice of IDE. Much.


Find me: @screenager (or @the_screenager) on most platforms. Always up for technical discussions, meme sharing, or helping debug something weird. Warning: May respond with way too much enthusiasm about CS.

Where to Find Me

GitHubGitHubLinkedinLinkedInXTwitter

More to Explore