For those who don't know me, I am Kavin, and I am a high schooler from Delhi, India. I have been programming for the past 2-3 years and have been in love with Web Development ever since. The past year has been a great one for me as a developer, and here's that in a nutshell. View more about me, here.
In January 2022, my school's technology club, Exun Clan had our annual symposium Exun 2021-22 from January 14-21. During that, we decided to use Laravel for our cryptic hunt, Sudocrypt v11.0. I had no experience with Laravel or even PHP, for that matter, but one of my seniors had already used Laravel on a cryptic hunt, Cryptocracy before, and since the codebase was very similar to AdonisJS, which I had some experience with, in around a couple weeks, I went through the codebase, and plucked out the parts which we to be reused and came up with a completely unstyled app which worked.
With the help of a few designers, we styled the website, created an admin portal, etc and came up with a platform which handled 1500+ participants from 10+ countries, 50k+ attempts, and 4.5k+ levels solved.
I also had hands-on experience in holding an event/hackathon for the first time.
After the event, I had to write a script which went through the participant's data and generated certificates for all the participants and emailed them. In the process, I got some experience with Pillow.
There wasn't much programming-wise, I did in February, but I tinkered around a lot with Neovim and my developer setup. I also wrote a blog post on it here.
March was a time when I got into technical writing a lot and consistently posted articles for a while. I posted articles on ExpressJS, played around with Hashnode's Custom CSS, Github Pages, React's useState and useEffect hooks, and also on Tailwind's Dark Mode.
I had my exams March end till April and given that I didn't study the whole past year, this was a time I had to get off my computer ;)
I had to learn Java, during this time to write my AP CS A, well which turned out not very tough, but still not something I'd write willingly.
In June 2022, we at Exun Clan, conducted our annual inductions for the club in our school and conducted various workshops throughout the month and then tasks for the participant to prove themselves for getting inducted. I conducted a session on ReactJS, going through the basics of React and creating a couple of basic apps on the way.
I also wrote a platform, practice.sudocrypt.com to help the students of my school get started with Cryptic Hunts, and along with the Cryptic hunt department of Exun Clan, we compiled an archive of previous year levels and uploaded them onto the site.
In July, I participated in a high school creative event (combined Designathon, Hackathon and Pitching), where we created an app which offered a way to transfer your progress across multiple metaverses by retaining common assets, thereby paving a way to connect the different metaverses.
In early August, I was appointed the President of my school's technology club. During this time, my school also had 50-year celebrations. For this, I worked on a QR Code based entry system where-in each alumnus and student who registered for the event received a QR Code from our side which when scanned upon entry by a custom app would mark them as attended in our database. We were also able to track the number of people who attended with them. The app was used to scan over 2000+ QR codes over two days.
This project allowed me to finally use Flutter in an actual app, and the fact that I had to use PHP, Typescript, Python and Dart all in one project makes it a very memorable one.
In September, I had my half-yearlies right after which a company, Speechify approached me. Unfortunately, I couldn't clear the interview, but it gave me a lot of experience and ideas on what skills to work on more.
On October 1-2, I participated in the NASA Space Apps Challenge, where my team and I built Liberty, a browser-based 3D visualisation of the International Space Station in Realtime. This project won us second place in the Regional Round among 90+ teams and qualified us for the Global Round. We were awarded the Global Finalists Honourable Mention which was awarded to the top 80 teams from around 55000+ teams from all around the world.
This project allowed me to get into 3D in the browser and read a lot about ThreeJS(which we ended up not using), and CesiumJS and even had some experience with Rust and WASM(which my teammate used in the app).
In November, we at Exun Clan conducted our annual symposium, Exun 2022, and after two years, we planned to now conduct it in a hybrid mode. The event was a success and had over 22000+ participants from around the world. Conducting an offline event and meeting so many people was a refreshing change after seeing faces across zoom meets for the past two years.
We completely revamped our website at exunclan.com using NextJS and TailwindCSS.
I also participated in Tiger Hacks 2022, where we created a product which aimed to solve the issue of over/under-inflation of tyres and hence reduce the road risks associated with them, elongating the lifetime of tyres, making car rides more enjoyable and saving fuel at the same time. We aimed to take into all the environmental factors that cause the internal pressure of the tyre to change and exceed the safety limits, quickly alert the user of the safety concerns using Twilio SMS and notification and then adapt the pressure of the tyres automatically to the conditions.
We built a software prototype for all this using Next.JS, OpenWeather API, Mapbox API, etc. and this also gave me a refreshment on my Grade 11 chemistry, having to read about Gay Lussac's Law and how pressure is affected by factors like temperature, speed of a car, etc.
I also made a self-hosting discord bot which shows your Private Advent of Code Leaderboards on your discord servers. Discord.js as handy as it is doesn't have very good documentation on its types, so writing this bot in Typescript was a little bit of a rollercoaster ride but was a very good experience. You can find more about it here.
A friend of mine, Mokshit Jain recently released Macaron, a Typesafe CSS-in-JS with zero runtime, colocation, maximum safety and productivity. Macaron is a new compile-time CSS-in-JS library with type safety. Because of this, I got an opportunity to read more about build tools like babel, vite, esbuild, etc. So, learning more about them is on my todo-list for the coming year. Helping with the docs, I found out about Code Hike which seemed very impressive. It did have a few issues for me, because of which I had to go through the source code and find out type definitions and their working to get stuff working.
A lot more to come for the rest of the month and the next year, when I'll probably be in college, excited to go more in-depth into something I love. I will keep posting articles, and get more into technical writing. Hopefully, learning Rust will get easier as I go on, and might be something I end up using more.