My life goal is to become great at a few things that are fulfilling, meaningful and fun. These are some of them.

Designing (things)

Art runs in the family. Literally every painting in the home that I grew up in was either painted by my dad, crafted by my mom or penciled and watercolored by my sister and I. This exposure to creating at a young age lead me to designing things digitally since I was about 12. I mean everything from print magazines to collages, pencil art, and later, digital UIs and product experiences.

I founded a print magazine with a couple of artists and writers from around the world and ran it between highschool and university, after which my core interests moved onto programming, genetics and startups. My inner designer lives on as a foundational pillar in everything I do.

Programming

I started dabbling in basic programming shortly after I got my first computer at age 10, and I remember building little applications in visual basic; notably, a token generation and verification system that I could use to generate and verify serial keys for software I was yet to write.

I got more serious about it when I also wanted to build the things I designed. I picked up a few web languages at first, followed by python, SQL, and some self-taught C in high school to eventually getting reasonably proficient at full-stack development. My experience at this point is that picking up new programming languages becomes relatively easy once you get a hang of a few core concepts.

Bioinformatics & Data science

My love for data science sprawled in several directions. As I pursued my specialization in Bioinformatics at Western University, I became pretty good at data analysis and got involved with several exciting real-world projects; notably, for the student’s council at Western University and the Ontario Liberal Party sometime afterwards (no political affiliation in either case). To some degree, my interest in machine learning lead me to my first startup in university.

On the bioinformatics side of things, I worked on assembling and annotating the mitochondrial genome of H. Lacustris for my thesis and came up with some pretty cool ways to leverge the tech we use to deploy and scale web servers to run various searches and analysis software for my genetics research at scale.

Startups & Systems design

Much of my design and engineering output goes towards Clew, a startup I founded with my friend Haishan. So far, I’ve been the sole designer and developer for Clew and looking back to work done so far, it’s been a thrilling experience architecting the end-to-end development of Clew.

Clew might seem relatively straightforward at first, but it’s a neat piece of software that does quite a lot under-the-hood. To share a few, here’s a quick outline of the various components that make up Clew:

  • Integration service; a single abstraction for utilizing data across integrations like Google Drive, Dropbox, GitHub, Figma, etc. It’s a serverless application written in PHP that can simultaneously search across dozens of integrations in seconds, milliseconds, if you take into account the caching layer that accounts for external latencies. The API even listens for updates on any resource it has access to; these can be used for consolidating notifications on the front-end.
  • A beautiful front-end based on a blazing fast progressive web application (PWA) written in Next JS and deployed to serverless with CloudFront distributions close to all our core users. Almost all pages on Clew score a 100% performance score on Lighthouse.
  • A REST backend that serves graph-like content among other resources and can manage, authorize, tag and keep track of any content. It facilitates a central repository for all your work—data from all your tools, in one place, in one unified, consistent and reliable API.
  • All of this is continuously deployed such that I could go from saving code on my local desktop to fully deployed in a few minutes, with no human intervention. Almost all of the deployment environment is specified in code and deployed using several custom docker images.

Playing r6 Siege

Rainbow Six Siege is an online tactical shooter I’ve played for a little over 1000 hours since May 2021, starting in 2019. This averages out to about an hour a day, some weeks higher, others less.

It took my friends and me several frustrating months to get even mediocre at it. It’s been just the right kind of satisfying mental exercise we’ve looked forward to in the evenings for almost two years now. Here’s a neat little kill/death ratio vs time graph since I started. I’ve love seeing my reaction times visibly improve as I play this game!

r6stats

Sim-racing

I learned to handle most cars my Dad owned for as long as my legs could reach the pedals, mostly just racing it up and down empty roads in private property—a very sandboxed environment, but one that I enjoyed a lot never-the-less. I’ve been interested in sim-racing ever since I longed for a Genius steering wheel as a kid back in 2009. I’m urrently in the process of building and upgrading an F1-style simulator in my living room.

f1 racing sim

Given how precise and realistic force-feedback on sim-wheels are these days, it’s a fair challenge to drive these cars with no assists. I’ve loved seeing my reaction times improve over time, and the state of flow you get into midway into a race is pure meditation.