Ravi Shankar
Skills
Languages: Python, Go, Rust, Swift, HTML5, TypeScript, Bash, Pinescript.
Technologies: Unix (OS X, Ubuntu), Git, REST, VueJS, Docker, Kubernetes.
Practices: Version-controlled, Agile, Test-driven.
Experience
Backend Engineer (Part-time)
Hasty GmbH
January, 2023 - Current
- Wrote a scalable hybrid video transcoder that accepts user videos to generate HLS stream for UI and thumbnail videos for training and prediction.
- Core contributor for multiple domains like API endpoints, jobs processing, workflows for cloudworkers, etc.
[Hobby Projects]
Some cool stuff I've worked on, which I'm happy about (and still haven't broken).
July, 2016 - Current
- Like Button (2025) is a browser extension backed by Cloudflare Workers (TypeScript) that allows users to like/dislike any webpage. It uses Proof-of-Work to secure votes against spam.
- Onchain scanner (2023) uses AWS Lambda functions from all regions to fetch OHLC candlesticks of onchain (crypto) tokens in parallel, analyzes potential opportunities and sends Discord notifications.
- Ace Away (2019) is a 3-5 player card game written in Golang and VueJS.
- My static server (2018) is written in async Rust to host this website and some of these projects, which supports private paths with token rotation and sends SMS when they're accessed.
- ASCII art generator (2017) extracts key details from images and generates an ASCII sketch - initially written in Python, later ported to Rust, now running in pure Wasm.
- CSS injector (2016) injects a stylesheet into a style element in the DOM and gets it rendered in realtime.
Blockchain Engineer
DefiChain (a.k.a. Cake DeFi)
January, 2022 - October, 2022
- Debugged and squashed bugs in the C++ codebase on a weekly basis.
- Contributed to merging the C-based bitcoin DFI system with Rust-based substrate.
Backend Engineer
Hasty GmbH
November, 2019 - October, 2021
- Initiated and migrated a number of functionality from Python backend monolith to Golang/Python microservices (image processing, authentication/authorization with rate limiting, async jobs processing, etc.).
- Implemented/optimized major product features in backend API - credit system, long running jobs, video processing, data replication/maintenance, webhooks, etc.
- Added a caching layer for efficiently triggering training/prediction services which gave a performance boost.
- Added wasm support for frontend for efficiently encoding/decoding image data from backend API.
Senior Software Engineer
Genome International
April - September, 2019
- Initiated and incrementally ported the backend pipelines in Python to Golang.
- Helped with building an analytics engine (in Python and Rust) for monitoring AWS services.
- Booted paperclip - an open source OpenAPI tooling library for type-safe compile-time checked HTTP APIs in Rust. As of now, it supports generating client library and CLI for APIs based on an OpenAPI v2 spec and offers a plugin for actix-web framework to automatically host an OpenAPI v2 spec.
Cofounder / Engineer
Naamio
October, 2018 - March, 2019
- Built an automated platform-agnostic operator for managing Kubernetes clusters without having to rely on a cloud provider's Kubernetes service - it supports autoscaling nodes on demand, partitioning/attaching/cleaning up disks, creating/managing load balancers and deploying apps using Helm charts without the use of
kubectl
/helm
CLI. - Helped a client migrate their apps to Kubernetes clusters (in Azure) using the operator.
- Wrote a tool for automating deployment of internal web apps through CI for review, staging and production.
Full-stack Developer
Omnijar Studio
October, 2017 - September, 2018
- Core contributor to building a scalable e-commerce platform (in Swift) backed by CockroachDB and gated by an OAuth2 service for RBAC (in Golang).
- Implemented multiple features for the storefront and admin apps (in VueJS) for the e-commerce platform.
- Wrote a bot library for Wire messaging app (in Rust).
Full-stack Developer
Surematics
June - August, 2017
- Contracted for a YC startup (S-17 batch) that developed applications for insurance brokers.
- Wrote backend services for chat, auth and crypto (in Rust), worked on the webapp (TypeScript) and owned deployments in a Kubernetes cluster in Azure.
Backend Developer
Genome Life Sciences (a.k.a. Genome International)
January, 2016 - February, 2018
- Wrote utilities in Rust for bulk parallel processing of DNA sequence data in FASTQ, SAM and VCF file formats.
-
Notable tools:
- A species finder that matches and maps sample DNA data to find known species.
- A sequence aligner which uses Burrows-Wheeler transform and FM-index to backtrack and map DNA sequences to the human reference genome. Its backend is open-source and I've blogged about its basics.
Early OSS contributions
(Click to expand)
Mozilla ― Servo (2015 - 2017)
- Contributor and reviewer for Servo browser engine project.
- I worked on the style system (as part of Quantum CSS project), python-based build system, and mentored newcomers. Apart from helping folks in IRC and Github issues, I've authored more than 100 commits and reviewed more than 200 pull requests.
- Implemented code for parsing and serialization of CSS
grid
shorthand and longhand properties. - Occassionally contributed to Rust programming language, its documentation and related tooling.
- Wrote handlers for highfive (a bot that responds to Github webhook payloads by welcoming newcomers, assign/tag issues and pull requests, post build failures, etc.) and a "mark and sweep" JSON cleaner for its tests.
- Created a watcher that tests Servo builds in a machine, analyzes the logs, keeps track of "rr" recordings of intermittent failures, and uses the Github API to file issues or comments to notify the people who work on such issues.
- Wrote a compiler plugin for checking sorted order of declaration statements.
- Wrote a Github app (bot) which provides a friendly welcoming environment to open-source contributors. It tracks issues and pull requests, and performs actions such as assigning, labelling and commenting on issues and pull requests (using the Github API).
Early miscellaneous works
(Click to expand)
- Organizer (2017-2020) for the Rust Chennai meetup conducted every month.
- RGSoC Coach (2017) primarily for Rust/Servo.
- Blogger (2013-2018) at wafflescrazypeanut.wordpress.com and blog.waffles.space.
- Contributor and reviewer (2013-2015) of posts at Physics Stack Exchange.
-
Some cool stuff I made much earlier in my career:
- A responsive website (2016) for our college symposium without the use of any external libraries.
- A terminal based 2D-ASCII game in Rust (2016) which uses terminal’s raw mode, interacting with Unix C APIs for polling keystroke inputs, and prints thousands of characters frame by frame to indicate motion.
- A private diary in Python & Rust (2015), which allows users to write their everyday stories, view them, or search through them later. It makes use of a simple shifting cipher to encrypt/decrypt the contents and a Rust library linked with FFI for searching.
- A "file-backed" map in Rust (2016) which uses binary search and file seeking to insert/get key-value pairs in disk.