Skip to content
← ritwickverma.dev

Ritwick Verma

Software engineer at eBay. I build and self-host the systems I ship.

Experience

  • Software Engineer 3, eBay · San Francisco, CA

    Jun 2023 – Present
    • Own and maintain fitment, the Cassini subsystem that decides whether a sellable item is compatible with the product a buyer's query names.
  • Software Engineer 2, eBay · San Jose, CA

    Mar 2021 – Jun 2023
    • Query Search Stack (QSS) team in the Search Backend org: Cassini, eBay's distributed, highly available C++ search engine.
  • Software Development Intern, Shoelace Wireless

    Jun – Sep 2020
    • Built a tool that records radio-technology metrics (5G, WCDMA) during network speed tests, stored in Room (SQLite) and uploaded to AWS.
    • Built a map-based crowd-density app on MapBox with an MVVM architecture and a Retrofit API client.
  • Software Development Intern, Advanced Structures India

    Jun – Jul 2018
    • Extracted SQL data from Django models with complex relations for internal documentation.
  • Software Development Intern, Bharat Heavy Electricals Ltd

    Jun – Jul 2017
    • Built a library management system in Java EE (JSP, servlets, SQL) with 2 ms response times.

Projects

  • ShutUp (Java, Kotlin, Android, EventBus): Android app that answers, silences and ends calls from proximity-sensor wave gestures. 26,000+ lifetime downloads, 4.3★ when the Play listing was last up.
  • Plutus (Python, pandas, Alpaca, uv, GitLab CI): Systematic US-equity trader: trend-filtered cross-sectional momentum with volatility targeting, executed through Alpaca. Sharpe 1.04 2007–2026 backtest, one path (95% bootstrap interval 0.62–1.47). SPY 0.63, max drawdown 55% against 37%.
  • TizenAmbilight (C#, .NET, Tizen, WLED, HDR): Real-frame ambilight for Samsung Tizen TVs: a headless .NET service on the TV reads the decoded video plane from memory and drives a WLED strip over UDP. 20–25 fps one process on the TV, no capture card, no HDMI splitter.
  • kwin-canvas (KWin, QML, JavaScript, Plasma 6): An infinite window canvas for KDE Plasma, built only on KWin's public scripting API: no patched compositor, no private headers. 374 scenarios against a nested KWin, none failing; REUSE lint in CI.
  • Homelab (Proxmox, OpenTofu, Docker, Traefik, Authelia, SOPS): One Proxmox host, 16 guests, 15 declared in OpenTofu, behind a Debian gateway: Docker, Traefik, Authelia SSO and a Headscale VPN. 15 of 16 guests declared in OpenTofu (the dev box is not yet). Nightly CI reports plan drift against the live host.
  • Crush 80 firmware (ZMK, Zephyr, RISC-V, Ghidra, C): Open firmware for a Wobkey Crush 80 Pro keyboard whose vendor never released source: ZMK on the Telink TLSR9511, a RISC-V SoC. USB, Bluetooth, 154 per-key LEDs and OpenRGB, installed over the stock updater with one cable. 154 LEDs lit from a ported WS2812 driver on the SoC's SPI DMA, GRB, one data line.

Education

  • University of California, Irvine

    2019 – 2020

    MCS, Computer Science

  • SRM Institute of Science and Technology

    2015 – 2019

    BTech, Computer Science and Engineering

Skills

Languages
C++, Python, Java, Kotlin, C#, TypeScript, C
Domains
Search & retrieval, Distributed systems, Infrastructure & GitOps, Reverse engineering, Android, Embedded
Tools
Proxmox, OpenTofu, Docker, Traefik, GitLab CI, Linux, SOPS, PostgreSQL, SQLite