← Back to selected work

Local AI tooling · React/Vite

Feedback Compiler

A local-first React/Vite workspace for compiling fragmented feedback into reviewable, source-linked work.

  • React
  • Vite
  • Ollama
  • Evaluation harness

Context

Context

The project needed to transform small, mixed-format feedback batches into reviewable structure without sending private material to a hosted inference service.

Problem and constraints

Problem and constraints

Product and design feedback arrives through short messages, email, notes, tickets, multilingual chat and transcript excerpts. The system needed to preserve source IDs, distinguish requests from decisions, detect conflicts, duplicates, open questions and deadlines, and avoid inventing meaning.

Role

Role

Product architecture, React/Vite implementation, Ollama harness design and evaluation.

Decisions

Decisions

Inference stays local through Ollama; model output is treated as untrusted; JSON schema and source-ID provenance constrain the result; deterministic relation post-processing handles conservative normalization; human review remains the final boundary.

Contribution

Contribution

Designed and built the local vertical slice, structured output contract, Ollama evaluation harness, provenance validation and deterministic relation post-processing.

Architecture and implementation

Architecture and implementation

A React/Vite demo sends structured input through a local proxy to a Node harness and Ollama. The pipeline runs input adapter, local model, parsed JSON, deterministic post-processing, schema and provenance validation, heuristic comparison and a NEEDS_REVIEW artifact.

Verification

Verification

The final local Gemma 4 E2B run produced 30/30 schema-valid outputs, 30/30 provenance-valid outputs and 0 runtime failures, with 28 PASS_HEURISTIC and 2 PARTIAL_HEURISTIC results. The heterogeneous casebook and public-data input pack were also contract-valid; 21/21 deterministic tests passed.

Next step

Need a frontend system you can understand and verify?

Start with the requirements, constraints and evidence you already have.

Start a conversation