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
iframe
s - 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 byangad.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 ofLWJGL
) - 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
- Learned Java by writing the game of chess.
- Joined the programming subteam for my school’s robotics team
- I helped transition our team from the aging pathweaver to the more modern pathplanner for autonomous paths.
- Coded LEDs
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
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
- I got a Framework Laptop 16, and will never again need to buy a new laptop
Grade 11
FIRST Offseason
- Programming team lead (!!!)
- Rewrote the entire 2024 robot code for the offseason because
periodic
s 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
- I found Sebastian Lague, and his Fluid Simulation, which I thought was really cool, so I wrote something similar in rust
- Rewrote it twice, once to make it run using a super low-level graphics library (
wgpu
) and once again to run all of it on the GPU. - Brought you the rant, The State of Shaders
Blog
- Made this blog so I can write stuff down.
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
-
It wasn’t actual rust, just a language that resembled it in syntax and semantics ↩
-
The robot we scrapped together in like, two weeks, using spare parts ↩
-
Events are currently unfolding. May not be up to date by the time you read it ↩
-
I kid you not, I cannot write a good UI to save my life ↩
-
I worked with
neovim
for a while ↩ -
I made a small game in unity, circa pandemic ↩
-
Did a small card game in C at some point, it annoyed me ↩
-
Mandatory “I use arch, btw” incoming ↩