Loading...

GOD-LIKE SOLUTIONS

Connections
Loading...
EN SV

About me

▶

How I work

▶

AI on top of the systems you already have

▶

Document analysis and extraction

▶

Agent systems and MCP

▶

Reverse engineering and data control

▶

The model proposes, the rules write

▼

Building Eltec Assistent: an AI operations platform for an electrical contractor

Since July 2026 I've been the only consultant on an engagement through Axle AB for Eltec, a small electrical contractor in Mälardalen. I ran the needs analysis on site, wrote the proposal and specification, and own the architecture, code, tests and deployment. The client talks to the person who builds it.

The problem

Eltec runs its orders, time reports, materials and supplier EDI through the field-service system Fieldly. The records are fine; the work around them is not. Before anything can be invoiced, someone has to find which orders carry billable value awaiting approval, reconcile article rows reported three times for the same product, work out how supplier EDI lines relate to what the customer is billed, and remember the service-vehicle mileage for every visit.

The needs analysis mapped roughly 86 hours a month of this kind of recurring administration. The proposal set a working hypothesis that about 56.5 of those could be removed or sharply reduced. It's still a hypothesis, not a result. The before/after measurement isn't reported yet, and I'd rather say so than round it up.

The hard constraint

Fieldly is a third-party system of record. Every automated change has to be as safe as a careful person doing it by hand, and every answer has to show where it came from. That decided the whole design:

  • The LLM reads and proposes. Deterministic, versioned business rules perform every change. The model never holds the pen for prices, quantities or records.
  • Every write is guarded. A change starts as a user-approved plan with a before/after view, is bound to an expiring confirmation ticket, passes a live preflight against Fieldly, stores a restorable pre-image, is read back after execution and lands in an append-only audit trail. Uncertain outcomes are never retried automatically.
  • Provenance is mandatory. Every result carries source, freshness and coverage metadata. If a source changes mid-read, the result isn't released.
  • Access is decided in the backend. Roles, per-user deny overrides and per-recipient output schemas decide what the browser, the model and MCP clients can see, which keeps financial fields out of model context.

What it does

  • A live order overview showing billable value awaiting approval.
  • Article-row consolidation: 2 + 3 + 5 of the same article become one billable row, with history and exact restore.
  • EDI supplier-invoice handling, where originals are excluded rather than deleted so restore is exact.
  • Mileage billing computed via Google Routes under a versioned rule and applied through the same confirmation flow.
  • A chat assistant and an MCP server over one typed capability registry, with parity tests proving both return identical results. An OAuth-secured MCP server for third-party integrations is built and tested, awaiting deployment.

Under the hood: FastAPI and PostgreSQL with a durable store and a rebuildable mirror of Fieldly, a transactional outbox feeding recalculation workers, digest-pinned CI/CD and a pull-based release controller that takes an encrypted off-host backup before every migration. About 60k lines of Python and 900+ automated tests. I built it alone.

What I learned

The interesting engineering wasn't the model. It was deciding exactly where an LLM may act in a system someone else owns, and how to prove afterwards what happened. Most of the code is guardrails, provenance and recovery. That's why the client trusts software with their invoicing data.

The platform is intended to become a SaaS product for small installation and construction companies. Client specifics live in configuration and versioned rules. The registry, guarded writes and release machinery are generic.

Evidence over confidence

▶

Harness engineering

▶

Flashback

▶

Twelve years of messy data

▶

Technical Resume

▶
C O N T A C T • M E