machine learning · hardware · systems

Andreas Lindeman

Machine learning engineer with hardware roots. 12+ years across production systems and hobby projects. Built on clean code and robust programs.

I build

now
ML engineer @ Infinigrid · grid forecasting
study
M.Sc. Electronic Systems · NTNU · 2024–2026
bench
FPGAs · op-amps · CAD · CNNs · RAG
locn
63°25′ N · 10°23′ E · Trondheim, NO
selected work
01

Highlights

Three to look at first.

currently shipping 2026 · ongoing

Infinigrid

Production ML for the Norwegian power grid. Forecasting models that watch the electrical system and predict its risks before they bite. Time-series at grid scale, deployed.

  • time series
  • production ML
  • energy
  • PyTorch
deep-dive →
last big project 2025 · shipped

Hydro Aluminium

Industrial optimisation for one of the world's largest aluminium producers. A mix of machine learning, classical optimisation, and the applied math that holds the two together.

  • optimisation
  • ML
  • industry
NDA · details on request
currently training 2026 · in the oven

ViT + LoRA

Adapting a pre-trained vision transformer to a new task with low-rank adapters in the attention layers. Half make-it-work, half an excuse to actually understand why it works.

  • ViT
  • LoRA
  • PyTorch
deep-dive →
02

Timeline

A non-exhaustive log, 2002 to present.

Size = significance. Hover to preview, click for the deep-dive.

Loading timeline…

The timeline only shows some of the projects I've finished. Like most engineers, starting something new is often more exciting than finishing the old, and a lot of what I know lives in the projects that never quite got there.

The FPGA design that synthesised but I never tested on hardware. The audio plugin I abandoned the moment I'd learned the trick. The model I trained until the loss curve told me what I needed, then walked away from. They're not failures. They're the experiments that taught the techniques that ended up in the projects that did ship.

03

Notes

Who, what, and why the two halves fit together.

Andreas Lindeman
Trondheim · 63°N

I started writing code at nine. My father is a software developer, and he handed it over early. The first thing I remember being mad about was a coding class that turned out to be drag-and-drop blocks instead of a real keyboard.

Today the work has three loops. Machine learning for the Norwegian public sector, industry, and now Infinigrid, a startup building forecasting models for the electrical grid. Full-stack sharpened in Go and Nuxt: backends, dashboards, pipelines. Hardware: soldered audio front-ends, FPGA filters, a kit-built 3D printer that eventually drew its own portrait.

The two halves feed each other. The CNN that classifies an analog signal is only as good as the op-amp in front of the ADC; the FPGA that filters a transducer only matters if there's a pipeline downstream. I like working where that boundary lives.

04

Bench

Tools by where they sit in the chain.

  1. 01

    Sense

    From physical signal to clean data.

    • Op-amps · LM358, OPAx tier
    • FPGAs · digital filters, dice
    • PCBs · soldering · audio front-ends
    • Pandas · PySpark
    • Databricks pipelines
  2. 02

    Model

    Where the learning happens.

    • PyTorch · day-to-day
    • TensorFlow · legacy + Keras
    • Custom CNNs · YOLOv8
    • Embeddings · RAG
    • Time-series forecasting
  3. 03

    Build

    Backends, infra, the unglamorous spine.

    • Python · C++ · Go
    • Flask · PostgreSQL
    • Docker · AWS
    • Git · CI
    • SQL · schema design
  4. 04

    Ship

    The surface a user actually touches.

    • Nuxt · Vue
    • TypeScript · HTML/CSS
    • Unity (C#) · Swift
    • Fusion 360 · Blender
    • 3D printing · CAD

currently going deeper on grid-scale forecasting causal inference control systems

05

Contact

Open inbox.

Happy to talk research, hardware, or grid-scale ML, especially where the signal-chain crosses the model boundary.