Mar 26, 2024

Hello world, again

It’s been about 1.5 years since I’ve built a full stack app. It was at the hackathon conducted by iNeuron and GitHub where I built a resume builder in 24 hrs. You can read about that hackathon here. After that I entered the next few grinding-heavy-months where I had to do the most intense hardwork in my life preparing for competitive exam - jee advanced. This exam’s score decides our college.

Although IITs are considered the best colleges in the country, I felt that choosing to get into iit would not fit me. I did not prefer the highly competitive environment and especially the 75-85% attendance policy. I then decided to get into BITS Pilani for it’s zero percent attendance policy, and the freedom that it provides. I got into BITS Pilani, Goa campus. It’s been about 7 months on this beautiful campus while I’m writing this post. I’m pursuing computer science engineering here. Here are some pictures that I took on the campus.

D spineFootball groundView from main building

In all these months since my last hackathon, I’ve come to realize a lot of things, and my opinions have changed regarding current situation of education in India(I do not want to rant about it in this post), what computer science actually is and many more other things.

I went through the projects page of Linus Lee (@thesephist). That is when I realized, what tinkering and experimenting and building actually means. I fell in love with his projects. I loved the way he built everything from scratch, including his own programming language. His projects are diverse - from compilers to personal google drive, etc..

All these days I was just following javascript frameworks especially next.js - a new version would come out with new apis and I would just learn that and build web-apps using them. I wasn’t thinking beyond what framework provides as it was enough for me to build the app. I wasn’t thinking a lot about how things work under the hood. Although I did try building apps that I had not seen before and that solved particular problems. Such as an app that could easily password protect static websites, a different way to build out documentation sites, a website builder that could build websites from notion pages & json-file, etc..

This pushed me to build my first project outside web development: Dot - A simple interpreted programming language written in go. It was inspired by Ink - a programming language written by Linus Lee. Also, now that I’m learning C for my college’s first-year computer programming course, I’m thinking of building projects with it instead of just learning the syntax and a few algorithms for the exams.

After coming to college, I see most of them running behind dsa just to get jobs. I wish more college students in India viewed coding as a means to build things and not just a mere path to get a job. This is the primary reason why most students in India do not prefer electrical engineering or mechanical engineering over computer science.

While almost the entire college is running behind leetcode and codeforce problems, I don’t want to run the rat race. I don’t want to spend my time solely practicing algorithms and data structure problems without any context. I want to tinker. I want to build. I want to experiment.

I want to build as many projects and learn as much as possible over the next 4 years in college.

This is probably my 5th version of my personal website. I’ve never launched one. I’ve always been building and rebuilding it. The previous version was the one with which I stuck the longest. This is my latest version. I’ve built it using Astro, React and Tailwindcss now. This is the most simplest version of my website.

This site is open source and you can find the source code here.

The previous version built with Next.js used a lot of code to just render a page in mdx. This version is much simpler and easier to maintain with Astro.

Also, I’m slowly moving away from Next.js to Astro and Remix for all the web projects that I build. I feel that the pages router in next.js was pretty flexible and easy to use and I wonder how much impact did removing the few kb of js code have on the end-user experience. I plan to use Astro for all static websites and the main application with Remix with a focus on local-first approach.

Along with the new website, I also used my basic figma skills to design a new profile picture for myself. This logo has my iniital V and my first letter of my name L in it. This also has my iniital letters in my language tamil - வ(v), ல(l) and க(k).

Logo outlineV in tamilL in tamilK in tamil

And for the open graph images, I initially went with generating them on the fly with satori. But I did not want all of them to be the same. So I decided to design them manually in figma. Here are some of the og images that I designed. Creating a new og image is pretty easy - just duplicate a previous one and change the text and I can also customize if I wanted to like I did for the og image for / route.

I hope to write more blog posts in the future and avoid being the site that has a blog section with just one post. Most of my previous posts were just about the projects that I built for hackathons. I hope to write more about my thoughts and experiences in the future.