These are just some projects that I’ve worked on - from hackathons, university projects to adventures in my free time.
Check out my GitHub profile to see some code!
Rosetta Search – semantic code search
Natural Language Processing, Python, SQLite, Electron, React, TypeScript
- Semantic search tool that uses NLP techniques to map natural language queries like “order management” or “refund flow” to relevant source code by indexing the latent semantics of a codebase stored in commit messages.
- You can dive into the design and implementation details by reading my thesis here.
Facebook Hack-A-Project Programme
🎉 Winner • March 2019
- Won Facebook’s Hack-A-Project Hackathon with a team of 4 at the end of the 4 week programme.
- Developed a NodeJS Express server capable of supporting scalable multi-player image-recognition based games within 10 hours
ICHack 18
🎉 Winner • Best Game/AR Award • January 2018
- Built a camera-based hyperlocal treasure-hunt style game, using Microsoft Azure’s Vision (Image Recognition) APIs into an Android application that uses Google Firebase to manage sessions and multiplayer capabilities.
- A fully-functioning version of the app with full Firebase and Azure Integration was completed from scratch in the hackathon’s 24 hours.
Canvas - CRDT Collaborative Drawing App
CRDTs, Swift, Javascript, XMPP
- Built a decentralised P2P collaborative drawing iOS app using Conflict-Free Replicated Data Types
- Uses MultiPeerConnectivity for local networks and an XMPPServer for global connections
- Supports offline drawing and then conflict-free synchronisation upon re-connection, ensuring eventual consistency through CmRDTs (operation-based)
Flip • 2nd Year WebApps Project
Vue.js, Firebase, Cloud Firestore
- Built a Progressive Web App designed to help students derive correct answers in a collaborative manner.
- Designed using a mobile-first approach, and built in an Agile iterative manner using Vue.js and Vuetify (Material Design) to provide a familiar interface to users.
- Uses Firebase and Cloud Firestore for instant multi-user synchronisation and storage.
- Uses Travis CI and multiple Firebase environments for continuous integration and deployment
Pintos Operating System
C, Assembly
- Built a x86 operating system with thread scheduling, priority donation, resource management, virtual memory management and support for user programs
WACC Compiler
Java, ANTLR, Assembly, SpringBoot, Docker
- Built a compiler for a While-like language that generates executable code for the ARM11 architecture
- Consists of a lexer, parser and semantic analyser in the frontend, and a code generator in the backend
- As an extension, we also built an interactive CLI for the WACC language and hosted a web-based version of it using Docker and a Java SpringBoot server.
ARM11 Emulator and Assembler
C, Assembly
- Developed an emulator in C to replicate and represent the internal workings of an ARM-11 processor on given binary files -
- Developed an assembler to convert given source files into binary files readable by the emulator.
CrowdBeats - crowdsourced Spotify Playlists
React, Swift, Node.js Express
- Built a Node.js Express server that uses Spotify’s API to allow multiple users (from an iOS app or a simple web app) to join “party" sessions to search, suggest and vote on songs to added to the party playlist.
- Built within 24 hours with a team of 3 at ICHack 19