I like to use free time to create fun stuff or useful things, mainly for myself, but I share them too. They might not even have any practical purpose.
This page lists some of my projects, so you can get an idea of what I've been up to:
While there are a lot of websites available around to practice your typing, I wanted to build my own which is free of any ads or tracking.
It's a simple website which gives you a random paragraph to type. The timer keeps going until you enter the whole paragraph correctly. At the end you are presented your typing speed in terms of words-per-minute.
⬢ Tiling Patterns Generator
A program I made to generate wallpapers with tiling patterns on them.
So far it supports hexagons, squares and a random voronoi pattern. I might add more in the future.
🧑🎨 Voronoi Painter
A Rust program I made to convert a painting or image into a similar-looking Voronoi diagram. Even with Rust I had to use multithreading to make it run in any reasonable span of time.
🎨 Generative Art
The favorite thing I learned while making this was how to have evenly distributed random points in a plane using Poisson Disc Sampling algorithm.
🎲 Improvement Roll
🗺️ My Places
An application which helps me record locations which I want to save and keep track of.
Clue Tracking Donut Clone
I created a clone of Clue's cycle-tracking donut chart to learn/practice making performant custom-views in Android.
I made this as my Capstone Project for Udacity's Android Nanodegree. This was my chance to assimilate everything I learned during the Nanodegree and make something useful with it. During college, we found it cumbersome to track our attendance in various classes. That was the origin for this app. I made it so that there is a streamlined way for students to keep track of their attendance.
Udaan Android App
Udaan is the annual tech-fest of BVM Engineering College. The Development Team of Udaan has seen to all the IT related needs of the festival, including but no limited to making a companion website along with native apps for both Android & Windows platforms. We have been doing it every year since 2015.
Udaan-16 SMS Web App
I made this project as part of my coursework for Udacity's Android Nanodegree. This taught me the use of REST APIs, loading images from network and local data persistence in an Android application.
I made this project as part of my coursework for Udacity's Android Nanodegree. This taught me how to play videos on Android from network using a famous library named ExoPlayer.
Worked a paid internship at Crawded which was an education startup focused on building a platform where students can interact with other students and teachers but the interaction remains related only to knowledge sharing. A vast number of features in the original SchoolWeb application were made by me, and I was responsible for developing the initial "Feed" in their main application.
The company has since shut-down and there are no public links available to that work.
A stockbroking and wealth management firm required an application which helped them to provide up-to-date contact information of each of their offices and employees both to their employees and their customers. So I made a desktop application using Kotlin which would parse data provided by them in Excel files and upload it to Firebase, from where it would be pulled down by the Android application for their use.
Sadly this project never reached finishing point and was thus never published.
I got bored with seeing the same wallpaper and Gnome (the DE I was using) didn't have any inbuilt feature to cycle between wallpapers. So I decided to use this opportunity to try and dip my hands in Kotlin.
Though these days I am thinking of building versions of this in Rust that work on Mac and Windows. No reason other than just to get more experience with Rust and to have fun.
Months after that last statement, I have found out that atleast Mac has a built-in feature to cycle wallpapers. So hooray, I get more time to work on some other project.
I made this project as part of my coursework for Udacity's Android Nanodegree. This taught me to use Gradle to create separate free and paid versions of an app, and including different features based on whether the app is free or paid. It also taught me how to separate an app into different modules for better code reuse.
A friend of mine was approached for making an Android application for an already existing grocery shopping site. He built an HTTP API and called me in to develop the Android app which uses that API.
You can find all my open-source projects on my GitHub account.