Close

Ryan Senanayake

MIT Computer Systems Researcher

Android Github Resume LinkedIn Email

About Me

Master's student at MIT with a concentration in Computer Systems (concurrently finishing undergrad in Computer Science so as to receive both degrees in 4.5 years). Currently doing research in MIT's compiler group under Professor Saman Amarasinghe. Interested in high-performance computing, compilers, novel computation architectures, and distributed systems. Have significant programming experience and multiple successful published apps with several million downloads.

I started programming in 3rd grade with simple games built in C#. I slowly built up my programming skills by reading books and using online resources. Right before entering high school, I switched to an Android phone and quickly learned how easy and useful it was to build Android apps. Throughout high school, I built successively more complex apps and quickly learned how writing software allowed me to impact the lives of millions of users. I consider my ability to learn new concepts and technologies quickly to be my greatest strength.

I started MIT with a deep fascination for Artificial Intelligence with a special interest in what AI can learn from neuroscience. However, I became frustrated with the lack of theory (especially in Applied ML) and found my systems classes to be much more fulfilling. I love solving problems in highly-constrained environments such as on novel computation architectures, within a distributed system, or when high-performance is essential. I live for those moments of flow when you are working on a difficult problem with the right team.

Skills

Experience

MIT Compiler Research Group (Prof. Saman Amarasinghe)

Research Assistant

• Added support for complex numbers and dynamically typed tensors for the Tensor Algebra Compiler project
• Designed a high-performance general algorithm for reordering dimensions of a tensor with any sparsity pattern

NVIDIA Corporation

AI Developer Technology Intern

• Investigated persistent kernels for RNNs by building and comparing 6 different approaches
• Worked with client to show 100x throughput improvement by using GPUs instead of CPUs for real-time ASR task
• Created complex optimizations at the thread, warp, block, and stream level
• Utilized advanced features of CUDA, such as cooperative groups, tensor cores, and warp-level primitives
• Achieved 3x the throughput of cuDNN implementation for batch size 1 inference
• Gave two hour-long presentations to a total of 50+ engineers and presented at a company-wide poster session

Singular Computing LLC

Software Engineer

• Built several projects in C and Assembly to run on a massively-parallel approximate-arithmetic SIMD mesh

• Developed a framework to run neural networks and perform real-time ImageNet classification in .04W/fps

• Designed and implemented an algorithm to parallelize neural network training for speech recognition

• Built a genetic programming framework which included manipulating genome trees in Assembly

• Created a real-time optical flow computer vision demo that ran at 50 FPS and only used 0.25W

Meta Company

Prototype Engineer Intern

• Prototyped interactions in augmented reality reporting to the VP of UX in Unity and C#

• Implemented computer vision algorithms in C#

Prose LLC

Android Developer

• Built Android app based on existing iOS app, including infinite scrolling, socket-based messaging, push notifications, and offline caching

RSenApps Inc

CEO, Founder

• Developed 12 published Android apps, between ages 14-17

• Generated $60k+ in revenue from app sales, advertising, and in-app purchases

• Open Mic+ has 4 million downloads and was featured on XDA and LifeHacker

• Commandr has 1.5 million downloads and was featured on CNET, XDA, and LifeHacker

• Commandr was selected for Android Authority’s 10 Best Android Apps of 2014

Education

Massachusetts Institute of Technology (5.0 GPA)

Sept 2018 - Dec 2019

Candidate for Masters of Engineering with concentration in Computer Systems

Relevant Coursework: Distributed Systems, Computer Systems Security, Multicore Programming, and Operating Systems

Massachusetts Institute of Technology (4.9 GPA)

Sept 2015 - May 2019

Candidate for Bachelor of Science in Computer Science and Engineering

Relevant Coursework: Performance Engineering of Software Systems, Computer System Engineering, Computer Vision, Computation Structures, Design and Analysis of Algorithms, Introduction to Neuroscience, Artificial Intelligence, Linear Algebra, Mathematics for Computer Science, and Introduction to Probability

Projects

N Chainz: A High Performance Decentralized Cryptocurrency Exchange

Winner of Binance Decentralized Exchange Competition $60k prize
Centralized exchanges rely on trusting that their owners will take the proper security precautions. N Chainz is a decentralized cryptocurrency exchange. Specifically, N Chainz’s features include block generation, limit orders, and the ability to trade a base token with another token. We use a novel multi-chain consensus structure to increase performance and scalability. Built with Nicholas Egan and Lizzie Wei.

View Project

KeyChain: Distributed Authentication on the Ethereum Blockchain

KeyChain is a trustless authentication system, which stores username to public-key mappings on the Ethereum blockchain. KeyChain makes asymmetric cryptography usable for normal users by providing a "web of trust" recovery system where users can recover lost or compromised private keys without a third-party. Built with Sarah Wooders and Michael Shumikhin.

View Project

FashionModel: Mapping Images of Clothes to an Embedding Space

Created a dataset of 373,521 images and trained a captioning neural network to allow for fine-tuned captioning of clothing images (performing substantially better than existing models). We then created methods to take either an image or a caption and produce an embedding vector, which allowed for more accurate nearby searches as well as manipulations. Built with Sarah Wooders.

View Project

Open Mic+ (4,000,000+ Downloads)

Built in high school. Uses speech recognition to listen for "Okay Google" in the background and launch Google Now. Launched months before Google added this feature themselves.

View Project

Commandr (1,500,000+ Downloads)

Built in high school. Uses an accessibility service to intercept commands to Google Now and run custom commands.

View Project

RepNet: A Distributed Reputation Network Built on the Blockchain

As show in the the Black Mirror episode “Nosedive”, online reputation systems have the potential to be extremely powerful and dangerous. We believe that online reputation systems are inevitable. However we believe that if such a system is ultimately going to exist, it should be decentralized, rather than being controlled by private corporations or governments. We wanted to see how such a system would look like and operate, so we developed a distributed reputation app using Android, Ethereum blockchain, and the Eigentrust algorithm. Built with Sarah Wooders and Michael Shumikhin

View Project

SocialEyes AR: Facial Recognition and Eulerian Video Magnification for Heart Rate Detection in AR

Facebook Global Hackathon Finalist and Top 8, Best Facebook Hack YHacks at Yale University
Once you've talked to a person for a certain amount of time, SocialEyes recognizes and stores their face on the Android app. It groups those faces by person and you then have the ability to connect their face to their Facebook account. From then on, whenever you encounter that person, SocialEyes tracks and recognizes the face and brings up his or her information in a HUD environment. SocialEyes can even tell you the persons heart rate as you are talking to them. Built with Logan Engstrom, Michael Shumikhin, and Logan Taylor.

View Project

Metacast: Android as an Augmented Reality Hologram

2nd Place in Crowd Vote and Best AR Hack TreeHacks at Stanford University
We hacked Android to access the screen, live broadcast it, as well as control the touchscreen via code! We used firebase as a realtime update mechanism for storing our data, which proved to be challenging as Unity does not have a library for firebase. We hacked together our own Unity firebase library in order to turn the vision into reality. Using certain linux commands, we were able to output the screen's buffer into a png file, which we read back, resized, and uploaded to firebase as a base 64 String. We relayed touch coordinates that simulated taps on the touchscreen via linux commands that simulate touchscreen input. Built with Mohammad Adib and Andrew Nguyen.

View Project

SecondRoute Traffic-Rerouting: Automatic Alerts for Alternative Routes

2nd Place and Best Microsoft Hack DubHacks at University of Washington
Problem: GPS's are super useful even when you know how to get from point A to point B because they will route you away from traffic. But it is a pain to have to start the gps every time you get in the car. It also drains your battery and forces you to listen to directions you already know.
Solution: Use gps, wifi, and accelerometer data to detect when you are driving. Then perform analysis on the possible routes (using Bing Maps API) to determine if you are attempting to drive home and if you are taking the optimal route. Once it detects you are driving it will periodically check if your preferred route is still the fastest. If there is a better route it will let you know and ask if you wish to start navigation. Built with Joseph Zhong.

View Project