← back to selected work

selected work · 2026

QuickWatch

Reverse-engineered Zomato analytics — see how often app ETAs actually match reality.

summary

  • Captures the user's own Zomato order traffic through patched APK capture or emulator-based Frida hooks.
  • Parses order events into SQLite so ETA accuracy, delay, restaurant, price, and status data become queryable.
  • Serves a Flask analytics dashboard focused on on-time rate, average delay, worst offenders, and spend patterns.
  • Keeps the analysis private and local, without depending on a public export API or vendor cooperation.

problem

  • ETA promises stay visible in the app, but accuracy history, restaurant reliability, and delay trends stay hidden.
  • Users cannot compare restaurants, order value, and late-delivery patterns because data stays inside traffic.
  • Every bad delivery stays anecdotal unless captured orders become a private, queryable ledger.

approach

  • Capture runs through mitmproxy on a patched APK, with Frida hooks ready when SSL pinning blocks traffic.
  • Parsed events land in SQLite tables for orders, restaurants, prices, timing, status, and capture quality.
  • Flask charts compare 7, 30, and 90-day windows across delay trends, cost ranges, and restaurant reliability.

outcome

  • QuickWatch turns hidden delivery traffic into a private performance ledger the user can inspect over time.
  • The dashboard makes ETA accuracy measurable by restaurant, cost range, and 7, 30, or 90-day time window.
  • Explicit capture-quality states keep missing or partial data visible instead of quietly distorting analysis.

stack

PythonFlaskSQLitemitmproxyFridaAndroidSQLAlchemy