linkedin · kakalijana1254@gmail.com · prepairo on play store · all pull requests
I build mobile apps and the backends they lean on — Flutter and Compose on the client, Spring Boot, Postgres and Kafka behind it. The part I like most is the unglamorous middle: making a real-time system survive a pod restart, making analytics events survive a phone reboot, making a benchmark an agent can't shortcut. Most of my open-source work is the same instinct pointed at other people's codebases.
| now | Benchmark task author — AfterQuery (Kepler) and Handshake (Dynamo, Seal). Containerized Terminal-Bench-style tasks, reference solutions, isolated verifiers, adversarial validation against no-op and shortcut paths. |
| prev | Founding engineer — PrepAiro (Oct 2024 – Mar 2026). Flutter app to 150K+ / 20K+ installs; Centrifugo + Spring Boot real-time backend; Kafka clickstream pipeline processing 2M+ events a month; attribution microservice handling 1M+ clicks. |
| won | 1st of 2,000+ teams, eRaksha Hackathon (IIT Delhi × CyberPeace Foundation), 2026 — with RAKSHAK. Demoed live at the Global AI Summit 2026, Bharat Mandapam. |
| school | B.E. Information Technology, Army Institute of Technology, Pune — class of 2027. |
| Project | Pull request |
|---|---|
OneBusAway/maglevOneBusAway Maglev · transit REST API (Go) |
#1493 Return parent station in stops-for-location |
OneBusAway/maglevOneBusAway Maglev · transit REST API (Go) |
#1490 Reject NaN and Inf in float query parameters |
ohcnetwork/careCARE · hospital & patient management (Django) |
#3770 Fix token numbers being reused after a token is deleted |
The-OpenROAD-Project/OpenROADOpenROAD · open-source RTL-to-GDS EDA |
#11523 bazel: enable layering_check on the dft and dst tests |
The-OpenROAD-Project/OpenROADOpenROAD · open-source RTL-to-GDS EDA |
#11410 odb: keep LEF SPACING on OBS POLYGON geometry |
ankidroid/Anki-AndroidAnkiDroid · spaced-repetition Android app |
#21374 fix(filtered-deck): preserve error message for InvalidSearchException |
TeamAmaze/AmazeFileManagerAmaze File Manager · Android |
#4669 Notify user when renaming a file/folder to its original name |
31 open pull requests across 21 projects — click to expand
arxlang/arx · Arx · compiler front-end (LLVM)
- #119 fix(irx): lower unary minus and plus
- #120 fix(aix): lower ¬ to IRx's ! operator
- #121 fix(aix): reject ^ until IRx can lower exponentiation
ohcnetwork/care · CARE · hospital & patient management (Django)
- #3772 Fix availability exception overlap check for existing slots
- #3774 Fix schedule creation rejecting today and timezone-aware dates
- #3776 Fix 500 when listing appointments filtered by organization_ids
The-OpenROAD-Project/OpenROAD · OpenROAD · open-source RTL-to-GDS EDA
- #11522 dbSta: check Liberty transition tables and input capacitance in check_ip
- #11540 grt: keep the folded child's fixed layers in CUGR getSteinerTree
- #11541 web: drop heat map bins outside a polygon die area
dora-rs/dora-hub · dora-rs · robotics dataflow nodes
- #90 fix(dora-parquet-recorder): record string values instead of their offsets
- #91 fix(dora-pyaudio): clip float audio before casting to int16
fossasia/eventyay · FOSSASIA eventyay · event ticketing
- #5913 fix(base): send the current usage fields from record_usage
- #5944 fix(control): limit how many voucher codes one request can generate
OneBusAway/maglev · OneBusAway Maglev · transit REST API (Go)
theochem/grid · theochem/grid · numerical integration
- #335 Fix 1D Cartesian orders in generate_orders_horton_order
- #337 Include the last term in the Fejer quadrature weights
ankidroid/Anki-Android · AnkiDroid · spaced-repetition Android app
- #21383 fix(reviewer): replace AlphaAnimation with ViewPropertyanimator in AnswerFeedbackView
CCExtractor/ccextractor · CCExtractor · subtitle extraction (C)
- #2356 [FIX] Keep per-page teletext state when extracting multiple pages
CCExtractor/sample-platform · CCExtractor sample platform (Flask)
- #1214 [FIX] Reject malformed or unexpected webhook signatures instead of raising
CircuitVerse/cv-frontend-vue · CircuitVerse · digital logic simulator (Vue)
- #1334 fix(vuesim): use 2 ** bitWidth for Stepper and RAM range limits
hermetoproject/hermeto · Hermeto · hermetic build dependency fetcher
- #1788 fix(generic): map the java-source Maven type to a jar
JdeRobot/PerceptionMetrics · JdeRobot PerceptionMetrics · CV evaluation
- #643 Keep dots in sample names for YOLO and COCO datasets
kubeflow/kale · Kubeflow Kale · notebooks → pipelines
- #976 fix(backend): keep and escape annotation/label values that contain ':' or quotes
mesa/mesa · Mesa · agent-based modelling (Python)
- #3882 Don't run an EventGenerator whose first run is after schedule.end
mlflow/mlflow · MLflow · ML lifecycle platform
- #26190 Make
set_mcp_server_aliassafe against concurrentdelete_mcp_server_version
neuroinformatics-unit/movement · movement · animal pose-tracking analysis
- #1122 Round frame numbers when exporting VIA tracks with time in seconds
omegaup/omegaup · omegaUp · competitive programming platform
- #10255 fix: escape every quote and quote line breaks in CSV cells
openfoodfacts/open-prices · Open Food Facts · Open Prices (Django)
- #1460 fix(Prices): reset duplicate_of when an edited price no longer matches
OpenMS/pyopenms_viz · OpenMS · pyopenms_viz (mass-spec plotting)
- #183 Let pyopenms_viz import without matplotlib or Pillow
Submitty/Submitty · Submitty · course management & autograding
- #13384 [Bugfix:System] Quote DB URL credentials
Regenerated nightly by a small script from the public PR search API.
PrepAiro workUPSC prep app, 150K+ Play Store installs. Founding engineer across the Flutter client and the Spring Boot backend: real-time 1v1 and multiplayer duel rooms that stay consistent across pods (Postgres advisory locks, owning-pod heartbeats, orphan sweeper), Kafka → Parquet → DuckDB analytics, in-house install attribution. Flutter · Spring Boot · PostgreSQL · Centrifugo · Kafka · DuckDB · AWS S3 |
RAKSHAK 1st place, eRaksha 2026Agentic cyber guardian for home IoT on a Raspberry Pi 5. A Dueling DQN agent chooses threat responses autonomously, while TinyLlama-1.1B-powered honeypots impersonate real IoT devices to stall and fingerprint attackers. Python · PyTorch · TinyLlama · Flask · Scapy · nmap |
|
Public emergency surveillance. RTSP frames go through YOLOv8 and a temporal scorer; a sustained score triggers Gemini 2.5 Flash verification to kill false alarms, then Vapi voice agents phone the fire brigade and the camera owner over Twilio, answering questions strictly from incident facts. YOLOv8 · OpenCV · Gemini · Vapi · Twilio · ElevenLabs |
Long-term memory for AI chat. Hybrid retrieval over Qdrant vectors, BM25, entity lookup and recency-aware selection; async pipeline with query analysis, token-budgeted context assembly and SSE-streamed responses. Python · Qdrant · RAG · SSE |
|
AI plant-care app. Clean Architecture + MVVM across five Compose modules with Koin DI; an expert-picker routes scans to 5+ specialised agents for disease detection and growth analysis; WebSocket chat, S3 uploads, Room + Flow offline layer. Kotlin · Jetpack Compose · Koin · Retrofit · Room |
College dining app serving 1,000+ students during the 10 PM – 2 AM night-canteen window. Compose + MVVM frontend, Firebase/Supabase backend, Minis payments, real-time order tracking with Realtime Database and FCM. Kotlin · Jetpack Compose · Firebase · Supabase |
Open to Android and backend roles, and to interesting bugs. LinkedIn · kakalijana1254@gmail.com


