Swapneel has worked on research and software development for machine learning, cybersecurity, natural language processing, and computer graphics, among other areas.
Machine Learning and Natural Language Processing
DeepJet Framework: Package for training and evaluation of deep neural networks for high-energy physics.
Protobot: A model project for prototyping chatbots developed using Jack the Reader (Machine Comprehension Framework) in an attempt to offer a simple, clean interface for researchers developing solutions in this domain.
Imaginashion: Fashion Image Recognition Project built around sophomore year using the Google Vision API, Amazon Search API, and Django jQuery File Upload.
CERN Openlab - Anomaly Detection: This is a set of prototyping scripts - essentially models in scikit-learn that I used to develop an anomaly detection pipeline for data streamed in from Hadoop and Spark in the CERN IT Infrastructure.
- Particle Physics for Non-Physicists: A set of curated resources targeted at entrants to high-energy physics that don’t hail from a physics background, especially Computer Scientists. This is based on my experience working in jet physics and an understanding of the field which is arguably limited in its nature.
DJ Comps Book Exchange: This is one of my favourite web projects because it is a project built by the first team of students that I mentored for DJ Unicode. They built this awesome book-exchange webapp that aims to facilitate handing down of textbooks and study materials from seniors to juniors.
Farmeasy - Rudresh’s Wiki: A project built over the course of HackDAIICT 2017, an MLH Hackathon, this is an end-to-end solution for farmers that addresses multiple challenges from production to distribution of crops and management of shared services amid cooperatives. Won the second prize receiving an incubation offer from the Indian Space Research Organisation and the Govt. of India.
Disaster Management: The winning project built as part of CodeShastra v3 Hackathon, a citywide event. The webapp comprises of a set of microservices based on facial recognition, sentiment analysis, and SMS gateways that help coordinate and facilitate communication, relief disbursement, and disaster mitigation efforts offering a “barebones” functionality even in the absence of internet.
Corporate Banker’s Webapp: A Web Dashboard built as part of Barclays Rise Hackathon - then the largest FinTech Hackathon, winning the Envestnet Yodlee Award for best API Usage. Offers simplified functionality to monitor currencies and track company expenses by category, among other features.
Editors, Bash Scripts, Tools
- Dotfiles: A pretty thorough treatment of what dotfiles are, the Bourne Again Shell, Z Shell, and Environment Variables - a useful overview I would have liked to have as a beginner to using the command-line. I’ve also written a Medium Post on the same.
These are some really old projects that bring back some fond memories which I’ve put up so that whoever wants can see where I started from. It’s not that hard to learn to code better.
Elibrary: A very old project (one of the first for our team of 3 members) built for managing the department repository of textbooks that are often lent out to students.
Unity Projects: One of my first (naive) attempts at game development :’)
I have formerly worked for companies, organisations, and research groups in the fields of machine learning, graphics and vision, software development, cybersecurity. It’s been a fantastic set of experiences where I got to know and work with some of the absolute best people in their respective lines of work.
Learning is about realizing that your knowledge of the fields is nowhere close to complete, but at least now you know exactly how much you don’t know.
I like dabbling in different (old and new) technologies because it helps me learn about different programming paradigms that I can then apply in my day-to-day work.
Guiding Principles for Innovation
I like to build projects as a tangible outcome of research. I work on things that people can use (or play around with) because I believe that interpretability is easy (easier, maybe?) to come by if you can hand someone a tool that they can independently explore and understand compared to a guided process followed by lengthy explanations.
Many of my favorite projects were built shoddily. When I revisited them, I realized my mistake.
Forget someone else using it, I can’t even rebuild this myself…
From that day onwards, I resolved to always make a project reproducible at least with a really decent README and installation instructions. Usually I also include screenshots because I find that I’m more inclined to want to replicate things that I already know I’m going to like looking at. As an amateur artist, visual appeal matters to me so I do what I can to build decent interfaces into my projects. I think it has helped me a lot because I need to step into the shoes of a third person and analyze the pain points of replicating a project after it is built.
Also, Docker is awesome and I’m going to start to Dockerize all of my projects as soon as I figure out a half-decent career plan for 2019-2020. Cheers!