01 / Individual graduate project · Classroom prototype
Aircraft Maintenance AI Assistant
I built a small AI assistant to help users find information across maintenance documents. The project taught me that reliable answers and clear limits matter as much as getting the tool to work.
University of Washington · Generative AI coursework
Project at a glance
- Project type
- Individual graduate project · Classroom prototype
- My role
- Scoped, built, and evaluated the classroom prototype.
- Objective
- Retrieve document information with citations and refuse unsupported answers.
- Key deliverables
- Langflow prototype, document-upload feature, safety rules, and draft review package.
- Tools / methods
- Langflow, Gemini, Chroma, sprint reviews, peer feedback.
- Outcome / status
- Classroom proof of concept; further work needed before operational use.
The problem
Maintenance information can be spread across manuals, bulletins, and other documents. I wanted to test whether an assistant could find relevant information, show where it came from, and recognize when it did not have enough information to answer.
My contribution
I scoped and built the classroom proof of concept in Langflow, using Gemini and a Chroma vector store. I planned the work across sprints, created synthetic maintenance examples with AI assistance, and used peer feedback to improve the way documents were added.
The work
- Built retrieval that used source information before generating an answer.
- Added source citations and rules for refusing unsupported questions.
- Added a document-upload feature and a draft human-review package.
- Used sprint reviews to identify gaps and choose the next changes.
How the solution took shape
Define what the first version needed to do
I started with the problem of finding information across maintenance documents. I narrowed the document scope so I could focus on retrieval, citations, and clear limits before trying to build a larger tool.
Build and examine the first flow
I connected the components in Langflow using Gemini and Chroma. Early testing showed that the model would try to answer beyond the information it had been given. That changed the focus from simply producing an answer to controlling what the answer was based on.
Tie responses to the available documents
I used synthetic maintenance material for the classroom demonstration and added instructions requiring the assistant to use its sources. The response included citations so a user could see where the information came from.
Test what happens when information is missing
I added rules to refuse unsupported questions and prepare a draft review package. This gave the prototype a way to show that more information or human judgment was needed. The package was created for testing and was not sent to a real reviewer.
Use feedback to improve document handling
The early version included document text embedded in Python, which would be awkward to maintain. Peer feedback helped me identify document upload as a better direction, so I added an upload feature during the sprint work.
Assess what still needed development
I reviewed the prototype across three sprints and documented its limits. Question phrasing still affected retrieval, and uploads remained limited. My final recommendation was to continue development and evaluation before considering operational use.
A closer look
How the prototype handles a question
Ask a question
The user asks about the available maintenance documents.
Retrieve source material
Chroma supplies relevant passages to the Langflow flow.
Generate with limits
Gemini uses the retrieved material and the response rules.
Return an answer with source citations.
Decline an unsupported answer and prepare a draft human-review package.
Actual project artifacts
Samples from the project

Still from the original demo recording, showing an answer with a synthetic source citation. Classroom proof of concept; not approved maintenance guidance.
View full size
Still from the original demo showing the unsupported question, retrieved sources, missing information, and reason for human review. The package was prepared in the prototype and was not routed to a real reviewer.
View full sizeAn example from the work
A product decision from the project
I reduced the initial document scope so I could focus on working retrieval, citations, and safety controls. After feedback, I added document upload rather than relying only on text embedded in the flow.
The project in numbers
Completed coursework
3 sprintsDocumented development cycle
The final presentation covers retrieval, document upload and review-package work, and the final assessment. It does not report a measured accuracy or time-savings result.
What came out of it
The prototype could return cited answers for selected questions and prepare a review package when information was missing. Retrieval still depended on how the question was phrased, and document upload remained limited. I recommended further development before any operational use.
This project shows how I define a useful first version, work through technical limits, and make a realistic decision about what is ready.
Project scope and limits
Classroom demonstration using synthetic examples. The tool cannot authorize maintenance or return an aircraft to service. It prepares a review package but does not route it to a real reviewer. Production access controls, audit logging, and broader evaluation remain future work.