DEV Community

Cover image for Beacon: Turning inspection reports into work orders
Parth Patil
Parth Patil

Posted on

Beacon: Turning inspection reports into work orders

Hacktoberfest Weekend Challenge: Build for a Friend Submission 🤝

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

I built 'Beacon' around a problem a friend of mine who just got placed in machinery plant maintenance could run into: inspection findings arrive in a PDF, but someone still has to turn them into a useful follow-up.

Beacon can read an inspection report, extract its findings, and use browser control to prepare a work order in a separate maintenance app. It asks the operator before submitting, then checks the saved work order. The maintenance app uses synthetic data and runs locally. It’s a working demo, not software connected to a real plant.

Architecture

Demo Snapshot

Code

Beacon on Github

How I Built It

Beacon’s chat app uses Next.js, React, and TypeScript. The agent runs on Eve, with a separate Eve session and workspace for each chat. I use the Vercel AI SDK and its OpenAI and OpenAI-compatible provider packages to connect the agent to models.

For the open-weight model path, Beacon connects to a self-hosted Qwen 3.8 27B Max endpoint. The model picker also offers hosted models through OpenCode Go. For inspection PDFs, the agent sends the document to a private PaddleOCR-VL service, then uses the extracted findings as evidence when preparing the work order.

The app and agent runtime can run on a local machine with Bun. To run inference locally too, point QWEN_BASE_URL at a local server that exposes an OpenAI-compatible API and serves the Qwen model. For a fully local document workflow, the OCR service must also run locally, and you should choose the Qwen endpoint rather than a hosted model.

Why Does Open Innovation Matter?

The open-weight model gives me a choice about where inference runs. I can use a hosted model while building, or run Qwen behind an endpoint I control. The OpenAI-compatible interface lets Beacon connect to that endpoint without tying its agent code to one model provider.

That matters for inspection documents. If the model and OCR services run locally, the report can stay on the operator’s machine. The current setup also supports hosted models, so local processing depends on configuring local endpoints and selecting them.

Prize Categories

Best Use of GitHub Copilot: The most useful thing GitHub Copilot did was help me turn Beacon from an idea into a working end-to-end project. It helped me connect the chat app, Eve agent, model providers, inspection-report parsing, and browser control into one workflow. The part I found most valuable was shaping and testing the handoff from a report’s findings to a work order, with the agent asking for approval before submitting and checking that the order was saved afterward. Copilot sped up the implementation, but I still had to make the product decisions and verify the pieces worked together.

Solo Submission by @parthlightning

Top comments (0)