Skip to content
View 0xMoni's full-sized avatar
👀
👀

Block or report 0xMoni

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
0xMoni/README.md

Hey, I'm Moni 👋

Third-year CS student building across the stack — and sometimes below it. Some of my projects have paying users. One of them is a SQL query engine that outruns SQLite.


🏆 Highlights

  • 💳 20+ users and paying subscribers on UniTrack, with live Razorpay billing
  • ⚡ Built a query engine 5x faster than SQLite on 1M-row analytical queries
  • 🚀 5+ production apps shipped, deployed, and in real use
  • 🌍 Apps used by students across colleges

🛠 Tech Stack

Languages: C++ · Python · TypeScript · JavaScript · SQL

Frontend: React Native (Expo) · Next.js · React · Tailwind CSS

Backend & Database: Node.js · Firebase · Supabase (PostgreSQL) · MongoDB · MySQL · SQLite

Systems & Data: NumPy · Query Optimization · Vectorized Execution · Performance Profiling

AI: Gemini API · YOLO · OpenCV · MediaPipe

Tools: Git · GitHub Actions · Docker · Vercel · Figma · Postman · Claude Code


📌 Projects

Project Description Stack & Links
Quarry A SQL query engine written from scratch — hand-written lexer, recursive-descent parser, logical planner and vectorized executor over columnar storage. Median 5x faster than SQLite on 1M rows Python · NumPy
💻 Code
UniTrack Attendance SaaS with Razorpay billing, webhook verification and 20+ paying users React Native · Firebase · Gemini API
🌐 Live · 💻 Code
goIRL Discover hackathons and tech events on an interactive 3D map, aggregated from MLH, Lu.ma and Devfolio Next.js · Supabase · MapLibre GL
🌐 Live · 💻 Code
LitterLens Detects garbage from satellite imagery and notifies local authorities in under 30 seconds React Native · YOLO · Firebase
💻 Code

⚡ Deep Dive: Quarry

The first working version was 2.5x slower than SQLite at GROUP BY, despite being 6x faster at everything else. Profiling found one line:

np.unique on 1,000,000 object strings : 655.7 ms
np.unique on 1,000,000 int64 values   :  21.2 ms

Grouping by a string column meant sorting a million Python string objects — every comparison round-tripping through the interpreter.

The fix was dictionary encoding, the same technique Parquet and Arrow use: store text as int32 codes plus a dictionary of distinct values.

before after
GROUP BY 1 key 731 ms 53 ms
median vs SQLite 0.4x 5.0x

A 13.8x improvement from changing how strings are stored, not how grouping works. All 68 tests — including 17 differential tests against SQLite — still passed afterwards, which is what made the rewrite safe to attempt.

Read the full writeup →


📊 GitHub Stats

Profile

Stats Languages


🌐 Connect


Most of my projects start because I get annoyed by a problem and decide to build the solution.

Pinned Loading

  1. quarry quarry Public

    A columnar analytics query engine written from scratch in Python - lexer, parser, planner, and vectorised executor. Median 5x faster than SQLite on 1M-row analytical queries.

    Python

  2. UniTrack-app UniTrack-app Public

    Attendance tracking SaaS with Razorpay billing and 20+ paying users — because refreshing your ERP portal 47 times a day wasn't cutting it 😚

    TypeScript

  3. goIRL goIRL Public

    Get off your screen and go do something IRL — a social app for real-world meetups

    TypeScript

  4. LitterLens LitterLens Public

    From space to street — AI-powered garbage dump detection for Bengaluru 🛰️🗑️

    TypeScript 2