My name is Angad Tendulkar. At the time of writing, I am a junior at Shaker High School.

Things I’ve Done, Separated by Year

Grade 4

  • I start learning Python using CodeCombat because it was engaging to my 10-year-old brain, I guess

Grade 5

  • My dad buys me a book titled How to Code Games in Python and I immediately pick up pgzero on the old family computer
  • Somewhere around this time, I also learn HTML, CSS, and start Javascript

Grade 6

  • Make an unblocked games website using my knowledge about embedding iframes
  • Got my first phone during the lockdown, familiarized myself with android-development-related-tools (i.e. ADB and fastboot)
  • Make a GitHub account (sometime during pandemic)
  • Finally made the switch from Windows to Linux Mint

Grade 7

Android

  • My phone eventually runs out of software updates (it was cheap, ~$200 I paid for myself)
  • I get familiar with booting Android GSIs
  • I meet the few people who care enough about these $200 phones to attempt to make ROMs for them. (Thank you so much Electimon!)
  • Turns out the lead developer bricked their phone while working on the ROM, I continue development (device, kernel, vendor), learning stuff along the way.
  • I cannot do justice to all the people who helped me along this period, it was honestly amazing the support I got for developing the ROM

Other

  • Find alloy in the wild and make frontend for their webproxy (lost to time)
  • Switch from Linux Mint to kUbuntu

Grade 8

Web Proxy

  • Once titaniumnetwork released ultraviolet I ended up developing a new frontend for it, learning react along the way. Called it Inertia, and had a friend help with icons and frontend design
  • Ended up getting GeForce Now running on it — there were literally kids at lunch playing Apex Legends on school Chromebooks. Wild times.
  • Through this project, I learned a lot about networking and VPNs. I even created my own StrongSwan server on an old laptop running at home. Worked like a charm.

Linux

  • Distro-hopped a couple of times, ended up settling on daily driving Arch Linux

Discord

  • Made and maintained a discord bot, NCI Bot (preceded by Smarty, though both were still used at the time), written in Typescript, for the discord server me and my friends were using at the time.

Misc

  • Purchased onlycs.net (no longer live, superseded by angad.page).

Grade 9

School’s CS Classes

  • For our second semester of CS classes, I wrote a wrapper for Applets called Lightweight Java Applet Interface (aka. LWJAI, a parody of LWJGL)
  • This made animations, positioning, etc, so much easier to write and modify
  • For my final project, I wrote both a game of chess and tictactoe (in the same repo).

FIRST

Rust

  • Learned a new programming language, Rust, in two weeks
  • Made a card game and a chess game to learn.
  • Rust is still my primary programming language to date.

Chess

  • Made a chessboard that could move pieces under it using an electromagnet (source)
  • GRBL was running on an Arduino microcontroller.
  • Under the board was a linear rail system (repurposed from a sand table), powered by two stepper motors

Discord

  • Migrated from NCI Bot to oreobot, written in Rust.

Web Proxy

  • Wrote atom to learn Vue.

Linux

  • Switched from GNOME DE to the Hyprland WM.

Grade 10

Jasmine

  • Made my own programming language, Jasmine, a Rust1 → Java compiler.
  • Written using the Pest parser

FIRST

  • Worked on April Tag following with our new swerve chassis, using PhotonVision and pain
  • Made the arm stay in place instead of falling due to gravity
  • Tried and failed to make Rust bindings to the C++ WPILib
  • Probably some other stuff I’m forgetting

Chess

  • Made a bitboard-based chess game in Rust. Learned about the internals of how memory was stored and a lot of bit manipulation operations

Radha’s Kitchen

  • Produce waste management app for a friend
  • Learned gRPC for the API
  • The app is finished, but it didn’t really go anywhere unfortunately

Framework

Grade 11

FIRST Offseason

  • Programming team lead (!!!)
  • Rewrote the entire 2024 robot code for the offseason because periodics were running over the 0.02s barrier, causing problems
  • Learned Kotlin for robot, I used it instead of Java because I had to make stuff work quickly™
  • For NERD, we reached 2nd place overall.
  • I couldn’t find records of it, but we went to Robot Rumble in Ballston Spa. Our Junk Drawer2 ended up doing really well though.

Attendance

  • Made an attendance system (live website) for our team to keep track of hours
  • Got away with not storing any student data, just the sha256 hashes of their IDs

Fluid Simulation

Blog

FIRST Dive3

  • Brought AdvantageKit to our team. Level 3 logging and simulations are so cool.
  • We’re doing actual simulations now!
  • Finalists at Tech Valley Regional (!!)

Elastic Dashboard

  • Added dynamic struct parsing to the Elastic Dashboard for FRC
  • To be merged in 2026!!

Operating System

  • Currently working on an (emulated) RISC-V Operating System
  • See Part 1 of how I made it if you’re curious.

What I’m Good At

  • I am a talented Rust developer, and I am best with literally anything other than writing UIs4
  • I also know Dart, Kotlin, Java, Javascript and Typescript, Python, Lua5, C#6, Bash and Shell Scripting, React/NextJS, Vue/Nuxt, a little Go, HTML and CSS, C7, and a little C++.
  • I am very good with Linux8
  • I also know Docker and containerization basics
  • I can make websites, but they don’t look too great, usually

Footnotes

  1. It wasn’t actual rust, just a language that resembled it in syntax and semantics

  2. The robot we scrapped together in like, two weeks, using spare parts

  3. Events are currently unfolding. May not be up to date by the time you read it

  4. I kid you not, I cannot write a good UI to save my life

  5. I worked with neovim for a while

  6. I made a small game in unity, circa pandemic

  7. Did a small card game in C at some point, it annoyed me

  8. Mandatory “I use arch, btw” incoming