Disclaimer: Independent product concept by Kaushal Khodifad. Not a live commercial product.return to portfolio
Disclaimer: Independent product concept by Kaushal Khodifad.
Operations

The day is service-bound, not travel-bound

A technician’s book is 150 to 200 farmers per technician across villages, and they visit a whole club in one trip, twice a month, across six lifecycle stages. This tab plans those trips with the real routing engine, then does the arithmetic on whether the workload closes, and says plainly where it does not. Optimising the tour saves 48.7% of in-club travel and that turns out to be 2.4% of the trip. The constraint is the boundary walk, which is the capture budget, which is the handset.

2-opt against register order48.7%Mean across all 8 clubs, 16.94 km saved per full round of visits.
Travel share of a trip2.4%1h 27m riding against 59h 36m standing in fields, across the same 8 trips.
Captures per technician per day5.31,195 boundary captures over 225 working days at 178 farmers.
Open exceptions65Rs 8,46,298 of settlement value sitting behind them, across 24 plots.
01 Route

One club, three tours, one engine

Nearest neighbour builds a decent order in one greedy pass and then paints itself into a corner; 2-opt repairs exactly that by reversing the run of stops between two positions whenever it shortens the tour, which is the move that un-crosses a crossed path. Both run over the great-circle distances between the real plot centroids of the club you pick. The map is hand-rolled SVG from the plots’ own boundary rings; there is no map library in this study and there is not going to be one.

123456789101112131415161718192021222324252627start: lead farmer100 m
Register order5.61 km
Nearest neighbour2.99 km
2-opt2.46 km
Register order5.61 kmWalked in the order the plots were enrolled.
Nearest neighbour2.99 kmGreedy, one pass. Already most of the win.
2-opt2.46 km10 improving reversals, run to a local optimum.
Saved56.1%3.15 km off the register order: 16 min back in the day.

Repeatedly reverse the run of stops between two positions whenever that shortens the tour. That is exactly the move that un-crosses a crossed path, and it is run to a local optimum.

Kothapalle North, Kothapalle Khurd: 27 plots, 53.9 acres, starting and ending at the lead farmer’s plot.
Computed at render
The three tours, in metres

Great-circle distance between plot centroids. There is no road graph in the model and inventing one would be a fiction: inside a club the technician walks bunds and field edges, which is closer to a straight line than to any road network. What this produces is the ordering, and the ordering is robust to that.

Convergence
2-opt, reversal by reversal

Each step is one accepted reversal. A club is 15 to 25 stops, so the whole search finishes in microseconds and there is no reason to approximate it.

And now the number that undercuts all of it
Trip travel
12 min
2.46 km at 12 km/h
Trip service
8h 51m
27 stops: 8 min each plus the boundary walk
Travel share of the trip
2.3%
Everything above optimises this slice of it.
Clubs per 8 hour day
0.9
This trip runs 9h 3m at Post-Harvest.

Planning this trip at all takes 3.15 km off it, which is 16 min back in the technician’s day. Most of that is simply visiting stops in a sensible order: nearest neighbour alone accounts for 2.62 km, and 2-opt removes a further 525 m of crossings in 10 reversals. This is a local optimum, not a proven optimal tour. The same trip spends 8h 51m standing in fields. Routing is real, it is free and it is not the constraint. Changing the lifecycle stage above does not move a single line on the map, because the stage does not change where the plots are: it changes how long you stand still at each one.

Every distance, order, service time and arrival above is produced at render time by planRoute, distanceMatrix, nearestNeighbourOrder and serviceMinutes in src/lib/traverse, over the synthetic plot geometry in the fixture world. Nothing on this panel is typed in. Travel 12 km/h, walking 1.1 m/s, 8 minutes fixed per stop before the boundary walk.

02 Club batching

A trip is a club, not a list of who is due

Batching by club changes two problems at once, and it is worth separating them. It collapses the route from a district-scale tour to a block-scale one, which is arithmetic. And it is the only arrangement under which a shared edge is a constraint at all, because a boundary agreed with a neighbour requires that the neighbour was walked too. The second one is the reason multi-stage capture stops being a burden and starts being a mechanism.

Batched
23 stops as one club: Kothapalle Cross Road
100 m
Tour
2.20 km
2-opt, returning to the start
Travel time
11 min
at 12 km/h
Scattered
The same 23 stops taken in due-date order
Kothapalle Khurd10 stopsNagulapalle Thanda6 stopsMallaram Kalan7 stops5 km
Tour
47.71 km
2-opt, same algorithm
Travel time
3h 59m
3 villages, 8 clubs
What batching changes
The route problem
Bookwide
21.7x
Due-date order across three villages
One village
2.5x
Due-date order inside one village, 3 clubs
Batched
1.0x
The club as one block

Two effects, separated. Confined to a single village, a due-date list already costs 2.5x, because it interleaves plots from 3 clubs scattered across the block. Let the same list cross villages and it goes to 21.7x. Batching by club is not a scheduling nicety. It is what turns a district-scale tour into a block-scale one.

Both tours are planned by the same planRoute call with the same 2-opt pass. The scattered set is a deterministic every-nth sample of the register, which is what a strict “whoever is due next” queue produces.

What batching changes
The capture problem
Shared perimeter
69.2%
Mean across Kothapalle Cross Road: the share of a boundary a neighbour also walks
Error, plot measured alone
2.16%
Six captures reconciled on a dual-frequency handset, no neighbour agreement
Error, plot measured in its club
1.75%
The same six captures plus the shared-edge constraint: 1.2x tighter

A shared edge is only a constraint if both sides of it were walked. Visit a plot alone and you have measured a boundary; visit it inside its club and you have measured a boundary and 43 agreements about where the lines between them run. Variance halves on the shared portion, which is why the gain tracks the shared perimeter rather than the number of visits.

Engine: errorReductionLadder with sharedFraction set to this club’s measured mean shared boundary, against the same ladder with the topology rung removed. Half-acre reference plot, six captures, dual-frequency handset in both cases, so the only difference between the two figures is whether the neighbour was walked.

03 Workload

Does 150 to 200 farmers at six stages actually close

Set the book and watch three independent checks. The one everybody quotes is season hours, and it almost always passes. The one that breaks is the shape of the day: a club has to be captured in one trip, and at the top of the caseload a full-club onboarding or post-harvest trip runs past a field day. Splitting it is not a scheduling inconvenience, it is a measurement problem, because the shared edges that reconcile the block would then have been walked under two different sky conditions.

Measured, at onboarding
Where the day goes on the eight real clubs

Travel is the 2-opt tour at 97.0 m per stop on average; the rest is 21 min per plot at onboarding, which is the fixed stop cost plus a perimeter walk at 1.1 m/s scaled by the stage’s paperwork. 4 of the 8 real clubs already do not fit inside an eight hour day at this stage, and the part that overruns is not the travel.

Set the caseload
The book
178
150 to 200 farmers per technician across villages.
20
A club is covered in one trip, so club size sets the length of a day.
2 / month
Twice-monthly per farmer; a whole club is covered in one trip.
6 of 6
Kept: Onb, Sow, Germ, Pest, Pre-H, Post-H
24 / month
Six-day weeks less festivals and unworkable weather.
8 / day
Time actually in the field, after the ride out and back.
Handset
Horizontal sigma 5.00 m. The handset changes the error, not the time.
Captures per day5.31,195 boundary captures across 225 working days of Kharif 2025-26.
Club trips per month189 clubs at 2 visits each, into 24 working days.
Longest capture trip8.1hAgainst the 8 hour field day. One club, one trip.
Season utilisation32.5%584 field hours needed of 1,798 available.
Feasibility
Three checks, and only one of them is the one people quote
FitsSeason hours32% of capacity
584 field hours needed, 1798 available
Capture trips plus advisory trips against working days in the season. This is the check that usually passes, which is why it is the wrong one to quote on its own.
FitsCalendar slots75% of capacity
18 club trips a month into 24 working days
A club trip occupies a day whether it runs three hours or nine: the technician travels to the village, works the block and comes back. Trips per month cannot exceed days per month.
Does not fitDay shape102% of capacity
Longest capture trip 8.1 h against the 8 h field day
A club has to be captured in one trip. Split it over two days and the shared edges that reconcile it were walked under two different sky conditions, which is exactly the agreement the topology constraint depends on.
This book does not close, and it is worth being precise about which part. day shape fails. 9 capture trips a season run past the field day, so they spill into a second day and the shared edges holding the block together get walked under two different sky conditions.
Day shape
One full-club capture trip, by stage

A club of 22.4 plots at 1.1 plots per farmer, costed with the engine’s own serviceMinutes over the fixture’s plot sizes. Faded bars are stages that carry no boundary capture at this setting. Onboarding and post-harvest are the long ones because they carry the contract conversation and the settlement conversation, not because the walk is longer.

Priced in hours and in error
If it does not fit, this is what has to give
LeverSeason hours backLongest tripArea errorOne-off cost
Do nothing
6 stages on the current fleet. This is the row every other row is measured against.
-8.1 h4.13%-
Capture the boundary at four stages, not six
Germination and pest/disease become photo and note visits. The two stages that drop are the ones whose decision does not need a settlement-grade boundary, but the reconciliation loses two of its looks.
Six looks reduce random error by sqrt(6); four by sqrt(4). Engine: errorReductionLadder({ stages: 4 }).
97 h8.1 h5.06%+0.93-
Dual-frequency L1+L5 handset, same six stages
Buys no time at all - the walk is the same length. It buys error: sigma 5.0 m to 2.10 m for a one-off 15,200 rupees a handset, with no external receiver and no new training.
Area error is linear in sigma. Engine: sigmaForDevice, errorReductionLadder.
none8.1 h1.74%-2.40Rs 15,200
Dual-frequency handset at 2 stages
The smallest capture budget on a dual-frequency handset that still matches 6 captures on the current fleet. This is the lever that actually returns field days, and it returns them by changing the instrument rather than the effort.
Solved by stepping the engine ladder over stage counts until the error matches the baseline.
208 h8.1 h3.01%-1.13Rs 15,200
Tap six corners instead of walking the perimeter
The fixture already shows this happening: roughly 12% of captures tap corners. Each individual fix is better, because standing still for 20 seconds averages the noise down. The plot is still worse, by a lot: six taps cut the lobes off a boundary that has a median of 10 vertices, and across all 179 real rings that loses 12.7% of the area. It is a systematic under-measurement in the farmer's disfavour, and unlike random error it does not average away over six captures.
Engine: resampleRing to 6 points and areaM2, measured on every fixture boundary, combined in quadrature with the reconciled random error. serviceMinutes for the time.
84 h6.1 h13.45%+9.31-
Read the table by column, not by row. The lever that gives back the most hours is the corner tap, and it is the one that costs the most error. The lever that costs no hours at all is the handset, and it is the only one that improves the error. Effort is not a lever in either direction, which is the thing the fixture keeps saying: the variance is a property of the method.
The handset that closes this is already specified: Mid Android (2024 class), L1+L5, sigma 2.10 m, Rs 15,200 one-off, not yet issued to anyone. No external receiver, no tripod, no new training, and the fleet already runs 1 of 3 handsets on dual frequency, so this is a refresh rather than a programme.

Stages are not dropped in lifecycle order. Onboarding and post-harvest never go, because one is the contract baseline and the other is the number the farmer is paid against; after that the drop order is Germination, then Pest / Disease, then Pre-Harvest, then Sowing, which is least-boundary-dependent decision first.

04 Supervisor console

What arrived, who captured it, and what is wrong with it

Six captures per plot from three technicians on three different handsets is more evidence than a settlement team can read one record at a time. The console answers the four questions in the order a supervisor asks them, and it keeps device capability next to measured error throughout, because a technician on a five metre receiver and a technician on a two metre one are not doing the same job however hard either tries.

Open exceptions65Rs 8,46,298 at risk across 24 disputed plots.
Cannot be re-walked16Agreement exceptions: Rs 2,50,738. Both sides are internally consistent.
Fixed by a re-walk6Measurement exceptions: Rs 5,95,560, the largest single pool.
Plots with a gap95Of 179. 129 plot-stage slots were never captured.
179 plots, 1,074 plot-stage slots
Coverage by club and lifecycle stage
ClubTechnicianPlotsOnbSowGermPestPre-HPost-HAll sixAt risk
Kothapalle North
Kothapalle Khurd
Srikanth B.L127898589851009390.1%Rs 4,52,700
Kothapalle Tank Bund
Kothapalle Khurd
Srikanth B.L11989957984849587.7%Rs 2,67,682
Kothapalle Cross Road
Kothapalle Khurd
Srikanth B.L12396919183877887.7%Rs 3,09,196
Nagulapalle Upper
Nagulapalle Thanda
Ramulu M.L11765828282949483.3%Rs 3,46,704
Nagulapalle Stream Side
Nagulapalle Thanda
Ramulu M.L12186818195907684.9%Rs 4,06,423
Mallaram Distributary
Mallaram Kalan
Anusha P.L1+L521100906790959589.7%Rs 3,72,683
Mallaram Old Well
Mallaram Kalan
Anusha P.L1+L52592968888929291.3%Rs 4,00,990
Mallaram South Block
Mallaram Kalan
Anusha P.L1+L52688888588928187.2%Rs 3,41,690
All clubs89898387928888.0%Rs 28,98,068

Each cell is the share of that club’s plots with a capture at that stage, percent. Germination is the thinnest column at 83% because it is the narrowest window in the crop calendar and the first thing a wet week takes. A missing stage is not a cosmetic gap: it is one fewer look at the boundary, so the settlement band on that plot is wider for the rest of the season.

Device capability is data
Technicians and what they are carrying
TechnicianHandsetSigmaBookClubsLongest tripCapturesUnsyncedSync lagMean area error
Srikanth B.
41 months, 14 h training. Longest-serving. Walks boundaries fast, taps few vertices.
Mid Android (2021 class)
L1 single-frequency - refresh candidate
4.9 m17839.6 h37215.0 d8.77%
Anusha P.
17 months, 22 h training. Only technician on a dual-frequency handset this season.
Mid Android (2023 class)
L1+L5 dual-frequency
2.4 m16439.1 h39065.3 d5.66%
Ramulu M.
8 months, 9 h training. Newest. Oldest handset, worst sky view, longest sync lag.
Entry Android (2020 class)
L1 single-frequency - refresh candidate
5.6 m15227.6 h192368.9 d12.64%
Anusha P. measures 5.66% mean absolute area error and Ramulu M. measures 12.64%. Before reading that as a performance gap, read the handset column: Anusha P. carries the only dual-frequency device in the fleet at 2.4 m sigma, Ramulu M. the oldest at 5.6 m in the village with the worst sky view. The ratio of their errors is close to the ratio of their sigmas, which is what an error that is linear in sigma looks like. Training Ramulu M. harder does not move a number that is set by the receiver.

Sigma is the handset’s specified horizontal 1-sigma; mean area error is measured across that technician’s SIMULATED captures against the fixture’s ground truth, which only exists because this is a synthetic world. In production the truth is not available, which is the whole reason the reconciliation exists.

65 of 65 open, Rs 8,46,298 at risk
Exception queue
ExceptionWhereAcresAt risk
Boundary moved mid-season
Measurement - between-stage delta check
PLT-0070
Nagulapalle Upper
3.188Rs 1,97,815
Boundary moved mid-season
Measurement - between-stage delta check
PLT-0157
Mallaram South Block
2.135Rs 1,32,477
Boundary moved mid-season
Measurement - between-stage delta check
PLT-0012
Kothapalle North
0.738Rs 1,08,929
Boundary moved mid-season
Measurement - between-stage delta check
PLT-0128
Mallaram Distributary
0.598Rs 88,265
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0145
Mallaram Old Well
0.899Rs 55,783
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0005
Kothapalle North
0.500Rs 52,200
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0047
Kothapalle Cross Road
1.075Rs 49,665
Boundary moved mid-season
Measurement - between-stage delta check
PLT-0041
Kothapalle Tank Bund
0.834Rs 47,784
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0159
Mallaram South Block
0.202Rs 21,089
Boundary moved mid-season
Measurement - between-stage delta check
PLT-0099
Nagulapalle Stream Side
0.327Rs 20,290
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0131
Mallaram Old Well
0.382Rs 18,007
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0117
Mallaram Distributary
0.152Rs 9,432
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0089
Nagulapalle Stream Side
0.086Rs 8,978
Two plots claim the same strip
Agreement - club topology check
PLT-0060
Kothapalle Cross Road
0.136Rs 8,439
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0075
Nagulapalle Upper
0.160Rs 7,392
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0103
Nagulapalle Stream Side
0.111Rs 6,888
Two plots claim the same strip
Agreement - club topology check
PLT-0005
Kothapalle North
0.053Rs 5,533
Two plots claim the same strip
Agreement - club topology check
PLT-0048
Kothapalle Cross Road
0.071Rs 4,406
Two plots claim the same strip
Agreement - club topology check
PLT-0022
Kothapalle North
0.077Rs 2,926
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0019
Kothapalle North
--
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0033
Kothapalle Tank Bund
--
Sown area exceeds the contract
Agreement - stage-consistency check
PLT-0061
Kothapalle Cross Road
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0001
Kothapalle North
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0069
Kothapalle Cross Road
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0165
Mallaram South Block
--
Captures still on the handset
Workflow - sync freshness check
TEC-01
-
--
Captures still on the handset
Workflow - sync freshness check
TEC-02
-
--
Captures still on the handset
Workflow - sync freshness check
TEC-03
-
--
Same plot and stage captured twice
Workflow - plot + stage uniqueness check
PLT-0008
Kothapalle North
0.099-
Same plot and stage captured twice
Workflow - plot + stage uniqueness check
PLT-0025
Kothapalle North
0.053-
Same plot and stage captured twice
Workflow - plot + stage uniqueness check
PLT-0042
Kothapalle Tank Bund
0.153-
Same plot and stage captured twice
Workflow - plot + stage uniqueness check
PLT-0059
Kothapalle Cross Road
0.509-
Same plot and stage captured twice
Workflow - plot + stage uniqueness check
PLT-0076
Nagulapalle Upper
0.229-
Same plot and stage captured twice
Workflow - plot + stage uniqueness check
PLT-0093
Nagulapalle Stream Side
0.128-
Same plot and stage captured twice
Workflow - plot + stage uniqueness check
PLT-0110
Mallaram Distributary
0.106-
Same plot and stage captured twice
Workflow - plot + stage uniqueness check
PLT-0144
Mallaram Old Well
0.005-
Same plot and stage captured twice
Workflow - plot + stage uniqueness check
PLT-0161
Mallaram South Block
0.175-
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0002
Kothapalle North
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0007
Kothapalle North
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0029
Kothapalle Tank Bund
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0033
Kothapalle Tank Bund
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0039
Kothapalle Tank Bund
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0043
Kothapalle Tank Bund
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0061
Kothapalle Cross Road
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0065
Kothapalle Cross Road
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0068
Kothapalle Cross Road
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0070
Nagulapalle Upper
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0071
Nagulapalle Upper
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0077
Nagulapalle Upper
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0081
Nagulapalle Upper
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0083
Nagulapalle Upper
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0094
Nagulapalle Stream Side
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0095
Nagulapalle Stream Side
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0097
Nagulapalle Stream Side
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0098
Nagulapalle Stream Side
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0104
Nagulapalle Stream Side
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0108
Mallaram Distributary
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0111
Mallaram Distributary
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0127
Mallaram Distributary
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0137
Mallaram Old Well
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0148
Mallaram Old Well
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0149
Mallaram Old Well
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0163
Mallaram South Block
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0170
Mallaram South Block
--
Lifecycle stages never captured
Coverage - stage coverage check
PLT-0172
Mallaram South Block
--
Measurement

Boundary moved mid-season

ANM-012 - PLT-0070 - Nagulapalle Upper - Nagulapalle Thanda - Pre-Harvest

Pre-harvest boundary differs from the earlier stages by 42.3% in area and is displaced by roughly 55 m. A plot boundary cannot move mid-season; the likely cause is the neighbouring field being walked.

Acres in question
3.188
Value at risk
Rs 1,97,815
What a supervisor does with it
Exclude the capture from the reconciliation and re-walk the plot with the farmer present. A boundary cannot move; a neighbouring field can be walked by mistake.
Assigned to Ramulu M., detected by the between-stage delta check.

Sorted by rupees at risk, at the fixture’s Rs 60,000 per acre benchmark. The family split is the one that decides what you do: a measurement exception is closed by sending someone back, and an agreement exception cannot be, because both sides are internally consistent and only the shared-edge constraint knows they cannot both be right.

95 plots, 31 missing two or more stages
Plots overdue for their next stage capture
PlotFarmerClubNext stage dueDue onOverdueStages missingAt risk
PLT-0165Latha R.Mallaram South Block
Anusha P.
Onboarding
Cotton calendar
2025-06-07280 d3Rs 9,434
PLT-0069Pochamma C.Kothapalle Cross Road
Srikanth B.
Sowing
Cotton calendar
2025-06-30257 d3Rs 7,799
PLT-0001Ilaiah L.Kothapalle North
Srikanth B.
Sowing
Maize calendar
2025-07-02255 d3Rs 50,467
PLT-0070Mallesh P.Nagulapalle Upper
Ramulu M.
Onboarding
Cotton calendar
2025-06-07280 d2Rs 1,05,089
PLT-0095Srisailam B.Nagulapalle Stream Side
Ramulu M.
Onboarding
Cotton calendar
2025-06-07280 d2Rs 3,392
PLT-0104Sailu L.Nagulapalle Stream Side
Ramulu M.
Onboarding
Cotton calendar
2025-06-07280 d2Rs 18,585
PLT-0149Rajitha C.Mallaram Old Well
Anusha P.
Onboarding
Cotton calendar
2025-06-07280 d2Rs 1,974
PLT-0043Sammaiah G.Kothapalle Tank Bund
Srikanth B.
Onboarding
Soybean calendar
2025-06-13274 d2Rs 16,232
PLT-0083Ramesh L.Nagulapalle Upper
Ramulu M.
Onboarding
Soybean calendar
2025-06-13274 d2Rs 10,261
PLT-0077Rajitha N.Nagulapalle Upper
Ramulu M.
Onboarding
Chilli calendar
2025-06-26261 d2Rs 12,380
PLT-0081Venkatesh S.Nagulapalle Upper
Ramulu M.
Onboarding
Chilli calendar
2025-06-26261 d2Rs 10,183
PLT-0002Aruna Y.Kothapalle North
Srikanth B.
Sowing
Cotton calendar
2025-06-30257 d2Rs 2,363
PLT-0071Mallesh N.Nagulapalle Upper
Ramulu M.
Sowing
Cotton calendar
2025-06-30257 d2Rs 21,452
PLT-0097Praveen L.Nagulapalle Stream Side
Ramulu M.
Sowing
Cotton calendar
2025-06-30257 d2Rs 14,643
PLT-0137Kavitha M.Mallaram Old Well
Anusha P.
Sowing
Cotton calendar
2025-06-30257 d2Rs 17,497
PLT-0098Mahesh T.Nagulapalle Stream Side
Ramulu M.
Sowing
Maize calendar
2025-07-02255 d2Rs 21,070
PLT-0029Devender J.Kothapalle Tank Bund
Srikanth B.
Sowing
Soybean calendar
2025-07-05252 d2Rs 9,392
PLT-0108Sarojana S.Mallaram Distributary
Anusha P.
Sowing
Soybean calendar
2025-07-05252 d2Rs 17,361
PLT-0033Manemma L.Kothapalle Tank Bund
Srikanth B.
Germination
Maize calendar
2025-07-09248 d2Rs 49,092
PLT-0039Lakshmi L.Kothapalle Tank Bund
Srikanth B.
Germination
Cotton calendar
2025-07-11246 d2Rs 2,624
PLT-0068Ilaiah T.Kothapalle Cross Road
Srikanth B.
Germination
Cotton calendar
2025-07-11246 d2Rs 4,629
PLT-0094Odelu R.Nagulapalle Stream Side
Ramulu M.
Germination
Cotton calendar
2025-07-11246 d2Rs 43,332
PLT-0065Odelu C.Kothapalle Cross Road
Srikanth B.
Germination
Soybean calendar
2025-07-12245 d2Rs 500
PLT-0127Padma P.Mallaram Distributary
Anusha P.
Sowing
Chilli calendar
2025-07-16241 d2Rs 17,159
PLT-0170Anitha S.Mallaram South Block
Anusha P.
Sowing
Chilli calendar
2025-07-16241 d2Rs 7,172
PLT-0007Rajitha M.Kothapalle North
Srikanth B.
Germination
Chilli calendar
2025-07-25232 d2Rs 34,690
PLT-0111Saidulu B.Mallaram Distributary
Anusha P.
Germination
Chilli calendar
2025-07-25232 d2Rs 19,626
PLT-0148Saidulu L.Mallaram Old Well
Anusha P.
Pest / Disease
Maize calendar
2025-08-06220 d2Rs 3,782
PLT-0163Ramulu K.Mallaram South Block
Anusha P.
Pest / Disease
Cotton calendar
2025-08-15211 d2Rs 796
PLT-0172Lakshmi G.Mallaram South Block
Anusha P.
Pre-Harvest
Maize calendar
2025-09-26169 d2Rs 2,270
PLT-0061Padma M.Kothapalle Cross Road
Srikanth B.
Pre-Harvest
Cotton calendar
2025-10-26139 d2Rs 7,424
PLT-0076Swaroopa V.Nagulapalle Upper
Ramulu M.
Onboarding
Turmeric calendar
2025-05-20298 d1Rs 28,716
PLT-0107Srinivas L.Nagulapalle Stream Side
Ramulu M.
Onboarding
Cotton calendar
2025-06-07280 d1Rs 11,441
PLT-0174Renuka G.Mallaram South Block
Anusha P.
Onboarding
Cotton calendar
2025-06-07280 d1Rs 18,966
PLT-0023Aruna Y.Kothapalle North
Srikanth B.
Onboarding
Maize calendar
2025-06-10277 d1Rs 5,592
PLT-0054Venkatesh J.Kothapalle Cross Road
Srikanth B.
Onboarding
Maize calendar
2025-06-10277 d1Rs 11,619
PLT-0080Kumaraswamy N.Nagulapalle Upper
Ramulu M.
Onboarding
Maize calendar
2025-06-10277 d1Rs 5,845
PLT-0091Renuka Y.Nagulapalle Stream Side
Ramulu M.
Sowing
Turmeric calendar
2025-06-14273 d1Rs 10,500
PLT-0012Vijaya J.Kothapalle North
Srikanth B.
Onboarding
Chilli calendar
2025-06-26261 d1Rs 15,419
PLT-0018Anitha D.Kothapalle North
Srikanth B.
Onboarding
Chilli calendar
2025-06-26261 d1Rs 11,524
PLT-0040Vijaya M.Kothapalle Tank Bund
Srikanth B.
Onboarding
Chilli calendar
2025-06-26261 d1Rs 676
PLT-0143Venkatesh D.Mallaram Old Well
Anusha P.
Onboarding
Chilli calendar
2025-06-26261 d1Rs 7,705
PLT-0167Ramesh Y.Mallaram South Block
Anusha P.
Onboarding
Chilli calendar
2025-06-26261 d1Rs 28,508
PLT-0020Odelu B.Kothapalle North
Srikanth B.
Sowing
Cotton calendar
2025-06-30257 d1Rs 8,735
PLT-0056Padma V.Kothapalle Cross Road
Srikanth B.
Sowing
Cotton calendar
2025-06-30257 d1Rs 2,628
PLT-0079Swaroopa Y.Nagulapalle Upper
Ramulu M.
Sowing
Cotton calendar
2025-06-30257 d1Rs 14,869
PLT-0157Ilaiah C.Mallaram South Block
Anusha P.
Sowing
Cotton calendar
2025-06-30257 d1Rs 13,112
PLT-0088Srisailam P.Nagulapalle Stream Side
Ramulu M.
Sowing
Maize calendar
2025-07-02255 d1Rs 1,713
PLT-0044Sujatha L.Kothapalle Tank Bund
Srikanth B.
Germination
Turmeric calendar
2025-07-05252 d1Rs 31,311
PLT-0153Devender V.Mallaram Old Well
Anusha P.
Germination
Turmeric calendar
2025-07-05252 d1Rs 12,581
PLT-0166Jangaiah V.Mallaram South Block
Anusha P.
Germination
Turmeric calendar
2025-07-05252 d1Rs 37,938
PLT-0178Mallesh D.Mallaram South Block
Anusha P.
Germination
Turmeric calendar
2025-07-05252 d1Rs 9,748
PLT-0075Praveen Y.Nagulapalle Upper
Ramulu M.
Germination
Maize calendar
2025-07-09248 d1Rs 5,288
PLT-0112Nagamani D.Mallaram Distributary
Anusha P.
Germination
Maize calendar
2025-07-09248 d1Rs 29,463
PLT-0141Sarojana B.Mallaram Old Well
Anusha P.
Germination
Maize calendar
2025-07-09248 d1Rs 8,831
PLT-0155Manemma P.Mallaram South Block
Anusha P.
Germination
Maize calendar
2025-07-09248 d1Rs 18,480
PLT-0003Yadamma M.Kothapalle North
Srikanth B.
Germination
Cotton calendar
2025-07-11246 d1Rs 2,904
PLT-0118Bhaskar T.Mallaram Distributary
Anusha P.
Germination
Cotton calendar
2025-07-11246 d1Rs 8,860
PLT-0119Komuramma V.Mallaram Distributary
Anusha P.
Germination
Cotton calendar
2025-07-11246 d1Rs 2,195
PLT-0115Manemma S.Mallaram Distributary
Anusha P.
Germination
Soybean calendar
2025-07-12245 d1Rs 8,130
PLT-0010Odelu M.Kothapalle North
Srikanth B.
Sowing
Chilli calendar
2025-07-16241 d1Rs 55,129
PLT-0096Vijaya G.Nagulapalle Stream Side
Ramulu M.
Germination
Chilli calendar
2025-07-25232 d1Rs 6,635
PLT-0004Ilaiah Y.Kothapalle North
Srikanth B.
Pest / Disease
Soybean calendar
2025-08-06220 d1Rs 8,898
PLT-0047Venkatesh L.Kothapalle Cross Road
Srikanth B.
Pest / Disease
Maize calendar
2025-08-06220 d1Rs 19,520
PLT-0177Ilaiah C.Mallaram South Block
Anusha P.
Pest / Disease
Maize calendar
2025-08-06220 d1Rs 2,908
PLT-0006Odelu K.Kothapalle North
Srikanth B.
Pest / Disease
Turmeric calendar
2025-08-15211 d1Rs 6,030
PLT-0030Saidulu Y.Kothapalle Tank Bund
Srikanth B.
Pest / Disease
Cotton calendar
2025-08-15211 d1Rs 28,606
PLT-0036Devender B.Kothapalle Tank Bund
Srikanth B.
Pest / Disease
Cotton calendar
2025-08-15211 d1Rs 465
PLT-0055Ravinder Y.Kothapalle Cross Road
Srikanth B.
Pest / Disease
Cotton calendar
2025-08-15211 d1Rs 34,439
PLT-0059Sailu K.Kothapalle Cross Road
Srikanth B.
Pest / Disease
Cotton calendar
2025-08-15211 d1Rs 18,051
PLT-0086Kavitha B.Nagulapalle Upper
Ramulu M.
Pest / Disease
Cotton calendar
2025-08-15211 d1Rs 8,461
PLT-0116Kishan S.Mallaram Distributary
Anusha P.
Pest / Disease
Cotton calendar
2025-08-15211 d1Rs 11,294
PLT-0117Kumaraswamy B.Mallaram Distributary
Anusha P.
Pest / Disease
Cotton calendar
2025-08-15211 d1Rs 3,963
PLT-0136Ilaiah M.Mallaram Old Well
Anusha P.
Pest / Disease
Cotton calendar
2025-08-15211 d1Rs 21,914
PLT-0150Kumaraswamy Y.Mallaram Old Well
Anusha P.
Pest / Disease
Turmeric calendar
2025-08-15211 d1Rs 7,941
PLT-0159Ramulu V.Mallaram South Block
Anusha P.
Pest / Disease
Turmeric calendar
2025-08-15211 d1Rs 6,147
PLT-0085Jangaiah M.Nagulapalle Upper
Ramulu M.
Pest / Disease
Chilli calendar
2025-08-25201 d1Rs 10,417
PLT-0087Srinivas L.Nagulapalle Stream Side
Ramulu M.
Pest / Disease
Chilli calendar
2025-08-25201 d1Rs 49,357
PLT-0092Komuramma B.Nagulapalle Stream Side
Ramulu M.
Pre-Harvest
Soybean calendar
2025-09-26169 d1Rs 10,452
PLT-0135Saidulu N.Mallaram Old Well
Anusha P.
Pre-Harvest
Soybean calendar
2025-09-26169 d1Rs 2,560
PLT-0101Latha G.Nagulapalle Stream Side
Ramulu M.
Post-Harvest
Soybean calendar
2025-10-19146 d1Rs 19,571
PLT-0154Renuka G.Mallaram South Block
Anusha P.
Post-Harvest
Soybean calendar
2025-10-19146 d1Rs 12,894
PLT-0152Jangaiah B.Mallaram Old Well
Anusha P.
Post-Harvest
Maize calendar
2025-10-22143 d1Rs 42,800
PLT-0171Bhaskar D.Mallaram South Block
Anusha P.
Post-Harvest
Maize calendar
2025-10-22143 d1Rs 32
PLT-0066Sujatha G.Kothapalle Cross Road
Srikanth B.
Pre-Harvest
Cotton calendar
2025-10-26139 d1Rs 1,218
PLT-0090Rajitha B.Nagulapalle Stream Side
Ramulu M.
Pre-Harvest
Cotton calendar
2025-10-26139 d1Rs 12,475
PLT-0025Ilaiah Y.Kothapalle North
Srikanth B.
Post-Harvest
Cotton calendar
2025-12-0995 d1Rs 13,808
PLT-0045Manemma T.Kothapalle Tank Bund
Srikanth B.
Post-Harvest
Cotton calendar
2025-12-0995 d1Rs 13,601
PLT-0126Sarojana S.Mallaram Distributary
Anusha P.
Post-Harvest
Cotton calendar
2025-12-0995 d1Rs 16,960
PLT-0158Mallesh D.Mallaram South Block
Anusha P.
Post-Harvest
Cotton calendar
2025-12-0995 d1Rs 17,863
PLT-0072Praveen G.Nagulapalle Upper
Ramulu M.
Post-Harvest
Chilli calendar
2025-12-1193 d1Rs 57,280
PLT-0105Pochamma L.Nagulapalle Stream Side
Ramulu M.
Post-Harvest
Chilli calendar
2025-12-1193 d1Rs 21,379
PLT-0037Bhaskar M.Kothapalle Tank Bund
Srikanth B.
Pre-Harvest
Turmeric calendar
2025-12-2975 d1Rs 3,871
PLT-0053Komuramma N.Kothapalle Cross Road
Srikanth B.
Pre-Harvest
Turmeric calendar
2025-12-2975 d1Rs 7,405
PLT-0049Srisailam N.Kothapalle Cross Road
Srikanth B.
Post-Harvest
Turmeric calendar
2026-02-0735 d1Rs 27,076
All technicians31 deepRs 5,42,670

Due dates are not a flat service level. Each one is that plot’s own crop calendar: the crop’s sowing window plus the crop’s offset to that stage, which is why germination for a turmeric plot falls three weeks after sowing and a week after sowing for maize. Overdue is measured against the world clock, 2026-03-14, with the Kharif 2025-26 season closed and the settlement window open, so these are gaps that will be settled around rather than filled.

What is real on this page
  • Computed at render. Every tour length, stop order, arrival time, service minute, trip hour, capacity check, lever and error figure is produced when this page renders, by planRoute, distanceMatrix, nearestNeighbourOrder, haversineM, serviceMinutes, clubsPerDay, sigmaForDevice, errorReductionLadder, valueAtRisk, resampleRing and areaM2 in src/lib/traverse. None of it is typed into the copy.
  • Read from the fixture. Coverage, technicians, handsets, exceptions, sync backlog and crop calendars come from the synthetic world in src/prototypes/traverse/data, whose clock is fixed at 2026-03-14.
  • Simulated, and labelled. The captures behind the measured error figures are SIMULATED GNSS walks, not device fixes. They have a ground truth to be measured against only because the world is synthetic; in production that truth does not exist, which is the reason the reconciliation has to.
  • Assumed, and stated. Travel at 12 km/h on field tracks, walking at 1.1 m/s, 8 minutes fixed per stop and 5 minutes for an advisory stop with no capture. Those four are the model’s inputs; everything else on this page is derived from them and from the geometry.

SYNTHETIC DATA. Every company, village, club, farmer, plot boundary, capture, contract, rate and settlement in this file is fabricated for a product study. No real person, holding or agreement is represented. District and state names are real Indian administrative names used only to anchor the belt; village centroids are approximate synthetic points inside it and do not correspond to any actual settlement.

↑ Independent product concept by Kaushal Khodifad. Traverse is an independent product concept by Kaushal Khodifad; it is not a real company or a commercial product. It explores the lifecycle farm-plot capture for contract farming space. Not a live commercial product. Data is illustrative.

Return to portfolioOpen the live demo