← Studio2026 · Solo dev

Pilot - Field Reports Tool for Civil Engineers

AI-powered tool that helps civil engineers process field inspections and export professional Hebrew reports — from Telegram in the field to a full web portal at the desk.

  • TypeScript
  • Node.js
  • Express
  • Vue 3
  • Remult
  • Telegraf
  • Gemini AI

The problem

Civil engineers who write inspection reports face a tedious workflow: they receive a PDF with dozens of defect findings, physically inspect each one, photograph the issues, and then manually assemble a formatted Word document with responses, prices, and standards-certification references.

The process is error-prone, slow, and hard to do from the field on a phone.

What it does

Pilot turns that workflow into a structured pipeline:

  1. Upload the PDF — Gemini AI parses the report into individual findings
  2. Respond in the field — a Telegram bot walks the engineer through each finding one at a time or choose specific one; photos attach directly from the phone camera or from storage, comments can be taken in real-time.
  3. Edit at the desk — a web portal (Vue 3) gives a full editing view: inline response text, photo management, pricing, status tracking
  4. Export — one click generates a properly formatted Hebrew DOCX with the engineer's credentials, findings table, prices, and signature block

Both interfaces share the same data — an engineer can start on the phone and finish on the desktop without any sync step.

Technical highlights

  • Dual-interface architecture — Telegram bot (Telegraf) and web portal (Vue 3 + Vite) both call the same Express/Remult service layer; no duplicated logic
  • AI PDF parsing — text extracted locally with pdf-parse, sent to Gemini Flash for structured JSON extraction; handles messy real-world PDFs
  • Remult ORM — auto-generates REST endpoints from entity classes; single source of truth for validation and access control
  • AsyncLocalStorage pitfalls — Remult's request context uses AsyncLocalStorage; working around Telegraf's middleware and multer's stream callbacks required careful ordering and wrapping patterns
  • DOCX generation — RTL Hebrew document with embedded photos, price summary table, and engineer credential block using the docx library

What We learned

The engineer had tried desktop tools before and was frustrated. So it was important to meet him where he already was — Telegram, on his phone, no new apps to install. For the web version, I went with a minimalist design that communicates efficiency and professionalism — and above all, practicality. Clear enough to learn in a 3-minute walkthrough, but hiding little gems of convenience for when you need them. Like all my recent work, it supports both dark and light mode.

Working with real Hebrew engineering documents also meant confronting RTL layout, Hebrew date formats, and legal boilerplate early — not as an afterthought.