SevaVaani-Worker banner

SevaVaani-Worker

3 devlogs
60h 8m 32s

Updated Project: 1. updated release link
2. Optimizations Implemented
Backend
Reduced redundant queries and returned only required data
→ [ getAllJobs ]: ~13s → ~0.43s

Optimized client data fetching using selective retrieval
→ [ getchatlis…

Updated Project: 1. updated release link
2. Optimizations Implemented
Backend
Reduced redundant queries and returned only required data
→ [ getAllJobs ]: ~13s → ~0.43s

Optimized client data fetching using selective retrieval
→ [ getchatlist ]: ~9.56s → ~1.9s
Introduced asynchronous data fetching
→ ~6.24s → ~1.15s
Enabled concurrency using gevent
→ Stable handling of ~1000 concurrent connections
Frontend
Prevented duplicate API calls using controlled [useEffect] logic
Implemented application-level caching using global context
Optimized navigation to avoid redundant stack pushes
Implemented client-side search to eliminate repeated backend calls

Additional Enhancements

  • Implemented search across jobs, requests, and chat
  • Added Help & Support modal with email integration
  • Linked About Us section to project repository
Demo Repository

Loading README...

Darshan

Shipped this project!

Hours: 6.1
Cookies: 🍪 28
Multiplier: 4.61 cookies/hr

This Update is mainly focused on Optimization.
In my last ship, I got comments on data loading and its latency. The jobs are taking too long to load.
So I sat back and went through the flow of the backend and frontend app from start to end, and noted down the scope of improvement and optimization. Later, I fixed them one by one, and now in the current release, I have implemented caching, optimized query and data fetching in the backend, fixed navigation stack in the app, also implemented more asynchronous worker connections ~1000 for quick and fast working using gevent.

Darshan

Performance Optimization – Sevavaani Worker & Backend
The initial implementation of the system had several performance bottlenecks due to inefficient data handling and synchronous processing. Frequent redundant database queries, over-fetching of unnecessary data, and blocking operations led to high response times and instability. On the frontend, improper lifecycle handling caused duplicate API calls, while navigation and search logic further added to performance overhead.
Key Issues

  • Redundant database queries increased latency and server load
  • Over-fetching of complete datasets even when partial data was sufficient
  • Synchronous operations blocking workers, causing restarts
  • Duplicate API calls due to improper useEffect handling
  • Inefficient navigation leading to unnecessary stack growth
  • Backend-dependent search increasing response time and load

Optimizations Implemented
Significant improvements were made by restructuring both backend and frontend logic. Data fetching was optimized to reduce redundancy, asynchronous processing was introduced to improve speed, and concurrency handling was enhanced to ensure system stability under load.

Backend Improvements

  • Reduced redundant queries and filtered only required data
    → getAllJobs improved from ~13s to ~0.43s
  • Optimized client data fetching using selective retrieval
    → get-chatlist improved from ~9.56s to ~1.9s
  • Introduced asynchronous data fetching to parallelize operations
    → reduced from ~6.24s to ~1.15s
  • Enabled concurrency using gevent for non-blocking execution
    → stable handling of ~1000 concurrent connections

Frontend Improvements

  • Prevented duplicate API calls using controlled useEffect logic
  • Implemented global context caching to reuse fetched data
  • Optimized navigation to avoid redundant screen pushes
  • Implemented client-side search using filtering to eliminate repeated backend calls

Additional Enhancements

  • Implemented search across jobs, requests, and chat
  • Added Help & Support modal with email integration
  • Linked the About Us section to the project repository
Attachment
1

Comments

Darshan
Darshan 23 days ago

However, in this release, voice assistant is under development and will be made available in next release.

Darshan

Earlier, while registering a new user, they need to verify the phone number, but this process required the OTP service to be continuously active on my local machine (which was not possible). So I removed that dependency and introduced a simple worker registration. Give it a try and let me know your feedback.
Guys, for your convenience, I have created a combined working video of my application..Enjoyyy

Attachment
0
Darshan

Shipped this project!

Hours: 54.04
Cookies: 🍪 334
Multiplier: 6.18 cookies/hr

I built a full-fledged dual role platform named “SevaVaani”, and this is worker app. This solves the problem of connection between normal users and blue collar workers like plumbers, electricians, cleaners, etc

Darshan

In this phase, I worked on sending quotation to jobs, and then viewing “My Requests”

  • Once job is assigned, It will appear in “My Jobs”
  • While completing job, unique QR will be generated, which will be shown to client
  • Offline app interactions using async storage and syncing logic
  • Aadhar based worker verification
  • Corresponding backend apis in Python Flask
Attachment
0