Dev.to · 5 min read

When the meter stops, the report still has to be right

When the meter stops, the report still has to be right

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle. What I built When a calibration technician finishes the measurement work, the administrative work is not finished. The readings still have to become a report that another person can understand and trust. That often means copying values between spreadsheets, calculating deviations, checking tolerances, and writing an explanation from memory. Calivryn is a public service-report preparation tool for independent calibration technicians, instrumentation contractors, and small service teams. It accepts a CSV of readings, calculates the authoritative result, asks Gemma for a narrow evidence-linked interpretation, puts that interpretation in front of a technician, and exports a reviewed PDF. The application has seven routes: a landing page, five task-specific workspace stages (Capture, Verify, Analyse, Review, Export), and a methodology page. A shared in-memory session preserves work between routes; refreshing resets it deliberately, and route guards prevent premature analysis, approval, or export. The customer is specific: a technician who already has readings but loses time preparing consistent service reports. My pricing is only a hypothesis: a low-cost pay-per-report option or a small monthly workspace plan priced below the time saved. I have no paying customer or revenue to claim, and the sample records are fictional. Demo Try the deployed application and choose Try sample workflow on the home page. The demonstration uses five fictional pressure-transmitter points. It does not represent a real instrument or an accredited result. Watch the recorded production walkthrough on YouTube. It shows the application, synthetic CSV workflow, deterministic results, real Gemma 4 analysis, technician review, and exported report. The narration is AI-generated and the video is labelled accordingly. The verification view shows signed error, absolute error, tolerance comparison, and as-found/as-left outcomes. In the recorded production smoke run, one of five points was within tolerance as-found, all five were within tolerance as-left, and all five points improved. The live smoke record records the exact model identifier, Worker calculation, grounded response, review acknowledgement, security probes, and browser export. The generated sample PDF is the two-page output of that workflow. The video is a walkthrough; the smoke record and report are the underlying evidence. Code The project is open source at github.com/ometere123/Calivryn. The calculation and decimal rules are in shared/calibration.ts; the in-memory session and invalidation rules are in src/lib/session.tsx; the seven-route structure is in src/App.tsx; and the independent Worker validation, inference, and PDF paths are in worker/index.ts, worker/model.ts, and src/lib/pdf.ts. The green CI run covers the release source. The test plan, architecture, and security notes describe the engineering in more detail. How I built it The stack is TypeScript, React, React Router 7, Vite, Tailwind CSS, one Cloudflare Worker with Static Assets, Cloudflare Workers AI, PapaParse, decimal.js, Zod, jsPDF, Vitest, Playwright, npm, Wrangler, and GitHub Actions. There is no database or persistent report storage. A calibration result cannot be a language model’s guess. Calivryn parses a strict finite decimal grammar and calculates signed error as reading minus reference. It compares the absolute error with the positive tolerance supplied by the technician. The browser previews the result with decimal.js; the Worker validates and recalculates it independently. This keeps values at tolerance boundaries deterministic and inspectable. Only after those calculations does the Worker send structured evidence and explicitly untrusted technician notes to Cloudflare Workers AI using the exact model @cf/google/gemma-4-26b-a4b-it. Gemma drafts a summary, observations, and follow-up actions. Its JSON must pass schema checks and every cited point ID must exist. The model cannot set a pass/fail result, choose a standard, or certify equipment. The technician can edit the narrative and must acknowledge the review before export. The PDF includes the source readings, full-precision errors, tolerance results, linked interpretation, notes, model provenance, acknowledgement, and non-accreditation disclaimer. Changing readings or relevant metadata invalidates the analysis and review. The engineering issues were specific: case-insensitive duplicate point IDs, PDF layout with long Unicode units, strict JSON media-type validation, and grounding checks in both the Worker and browser. Browser-history navigation also had to preserve a valid in-memory report while a hard refresh must not invent a restored one. The release has 29 passing unit tests across four files, 3 passing Playwright tests, passing typecheck and production build, and zero vulnerabilities from both npm audit commands. CI uses mocked inference so it can run without Cloudflare credentials; the separate live smoke record documents genuine production inference. Why does open innovation matter? Calivryn uses Google’s open-weight Gemma 4 for the language layer, served through Cloudflare Workers AI. The exact model is visible in the source, health response, live evidence, and report provenance. The model contributes readable technical interpretation while the measurements and tolerance decision stay deterministic and reviewable. An unnamed closed assistant could also produce prose, but this implementation makes the model, schema, evidence boundary, and limitations inspectable. Cloudflare makes the public demonstration practical without running a GPU service. That does not mean inference is local: readings, metadata, and technician notes are sent to Cloudflare, and provider terms and retention policies apply. I do not claim local-only processing, zero provider retention, or guaranteed availability. Prize categories The Side Hustle opportunity is a focused workflow that an independent technician or service team might plausibly pay to simplify. The pricing idea above is a hypothesis, not evidence of adoption or revenue. I am seeking consideration for Best Use of Gemma because Calivryn uses Gemma as a bounded, evidence-linked interpretation layer and records the exact model and provider boundary. These are category targets, not claims of eligibility or an award. Project-owned source is MIT-licensed; Google’s Gemma terms and Cloudflare’s service terms are separate. devchallenge #hf26challenge

This is a summary aggregated from Dev.to. Read the complete article on the original site:

Read full article at Dev.to

More AI & Machine Learning News