Field service knowledge management with RAG
A RAG assistant that answers technicians' equipment questions from manufacturer manuals inside an offline field app. Field service knowledge management in production for a US solar O&M platform
- Geography
- United States
- Year
- 2025
- Stage
- 11 to 50 employees
- Team
- Tech Lead
- Duration
- 2025 to ongoing
The situation
Ayama runs a field service optimization platform for solar operations and maintenance in the US. Work orders arrive from the client's SAP system, and the platform decides which technician does what, when, and where, then supports that technician once they're on site. The hard part is the deciding: crews, skills, shift windows, contractual guarantees, and drive time between plants all constrain the same weekly schedule, and getting the trade-off between coverage and travel wrong shows up directly as cost. On site, the other hard part is knowledge: technicians standing in front of equipment need answers from the actual manufacturer manuals, not a guess.
Ayama lacked field service knowledge management and brought in engineers from Leanware to build across that whole surface: the SAP data pipeline feeding the scheduler, the scheduling engine itself, the planner interface on top, the field app technicians use, and the AI assistant layer for equipment questions.
What we built
The core of the engagement is the assistant layer. Technicians standing in front of equipment need answers pulled from the manufacturer manuals themselves, not a general-purpose model guessing at material it was never given. The RAG assistant runs on LangGraph and Vertex AI Gemini, retrieves over a vector index of manufacturer manual embeddings held in pgvector, and surfaces answers directly inside the field app technicians already carry on site.
That assistant sits on top of the rest of the platform Leanware built and maintains:
- SAP pipeline — work orders reach the scheduler through a SAP OData and reverse-ETL pipeline, and skipped orders are flagged before the optimizer runs rather than discovered after the fact.
- Scheduling engine — an OR-Tools CP-SAT solver plans a full week at once and trades coverage against travel distance on an explicit exchange rate, rather than optimizing each day or technician in isolation.
- Planner interface — builds and commits draft schedules, streams optimization progress live, and notifies the team when a run finishes.
- Offline field app — technicians work through a durable write outbox, so a spotty connection at a plant doesn't block logging work, and they can report findings by voice instead of typing on site.
Stack: Django REST Framework and PostgreSQL with pgvector, Next.js 15 and React 19, OR-Tools CP-SAT for the solver, LangGraph on Vertex AI Gemini for the assistant, and dbt, BigQuery, and Prefect for the SAP pipeline, deployed on Google Cloud Run via Pulumi.
This is what RAG in production looks like on a live platform: an AI troubleshooting assistant shipping alongside a constraint solver, a data pipeline, and offline mobile on the same roadmap, not as a narrow standalone feature.
Outcome
The engagement has run for more than 13 months on the same footing: engineers embedded in Ayama's roadmap rather than delivering a fixed, scoped project. Over that time, the team has shipped the SAP ingestion pipeline, the CP-SAT scheduler with its travel-versus-coverage trade-off, the draft schedule builder, the offline-capable field app, voice-based work reporting, and a field service knowledge management assistant for manufacturer manuals.
"Leanware has met our timelines and delivered everything on time."
— Confidential , Development Program Manager , iPrivy · Phoenix, Arizona
Engagement line
Engagement FAQ
Can an AI assistant answer technician questions from manufacturer manuals?
Yes, that's the assistant's whole job on Ayama. It retrieves over a vector index of manufacturer manual embeddings held in pgvector, running on LangGraph and Vertex AI Gemini, so answers come from the actual source manuals instead of a general-purpose model guessing at material it was never given.
What does RAG in production actually look like after a year?
On Ayama it means an assistant that's been running alongside the rest of the platform for more than 13 months, not a proof of concept. The manual-lookup assistant, the CP-SAT scheduler, the SAP pipeline, the planner interface, and the offline field app all shipped on the same open-ended roadmap, with the assistant as one working piece of a platform that kept growing around it.
How does the assistant work when technicians are offline?
The assistant is delivered inside the same field app that's built for offline conditions: work logging goes through a durable write outbox so a spotty connection at a plant doesn't block a technician, and findings can be reported by voice instead of typed. That's the offline layer the assistant lives inside — no separate offline retrieval mode for the assistant itself is on file, so this answer stops at what's documented.
What was built besides the AI assistant?
The SAP ingestion pipeline, the CP-SAT scheduler with its travel-versus-coverage trade-off, the draft schedule builder in the planner interface, the offline-capable field app, and voice-based work reporting — all on the same roadmap as the assistant.
How long do these engagements run?
They're structured around a directional six-month minimum, and most run twelve months or longer. Ayama is a working example: the engagement has been running for more than 13 months with no defined end date, and the forward plan is continued work across the platform as the roadmap evolves. Short-horizon buyers who want to try a team for a few weeks are usually a mismatch for this model.