← projects

$ cat projects/chalo-recon.mdx

Chalo - Recon Dashboard & Operator App

Frontend ownership for a financial Recon Dashboard and major contributions to a responsive operator PWA: modernization, asynchronous exports, and stable multi-camera monitoring.

React · JavaScript · Redux Thunk · Axios · Jest · Jenkins · Amazon S3 · 2023 · live

Daffodil Software · Feb 2023 - Jan 2024

Chalo involved two existing products: the internal Recon Dashboard used by finance and operations teams, and a responsive Operator App used for fleet, finance, and live-camera monitoring. I was the sole frontend engineer for Recon; on the Operator App, I contributed features within a larger cross-functional team.

what I owned

  • Recon Dashboard delivery - owned frontend feature work, refactoring, validation, manual Jenkins deployments, production support, and hotfixes for an existing financial operations dashboard.
  • Codebase modernization - reorganized an inconsistent JavaScript application around screens and clear reuse boundaries; introduced shared tables and forms, a centralized Axios layer, Redux Thunk request wrappers, ESLint, Prettier, Husky checks, and Jest/Enzyme tests.
  • Approximately 25% smaller production build artifacts - removed dead code and unused dependencies, consolidated duplicate logic, and improved the application structure. The figure is based on artifact comparisons, not a bundle-analyzer audit.
  • Asynchronous Excel exports - built filter-driven report requests with queued and processing states, approximately 10-second status polling, persistent backend jobs, and S3-backed downloads.
  • Multi-camera monitoring - built the Operator App's camera feature from scratch: configurable grids, focused playback, reconnect states, inline errors, resource reuse, and teardown logic that prevented the memory buildup and browser crashes seen in earlier implementations.

boundaries that matter

The Recon Dashboard and Operator App already existed when I joined. I did not create Jenkins pipelines, the Operator App's original architecture, or its native Android/iOS packaging. My work was on the responsive React PWA layer; separate mobile engineers handled Capacitor branches, permissions, and platform lifecycle concerns.

what stuck with me

  • A dashboard becomes much easier to maintain when screen-specific code stays close to the screen and real reuse has one obvious home.
  • Long-running exports need to feel like a first-class workflow, not a frozen button and an unexplained wait.
  • Resource-heavy browser integrations need explicit lifecycle ownership. Cleanup is product reliability work.