Hi, I’m Martin

I write software for things that move or compute. That covers robotics, simulation, and industrial software at work, plus a steady stream of side projects.

01

About

I’m Martin, a software engineer in Trondheim. At Aker Solutions I work on industrial software and automation, building tools that make complex systems easier to run.

Alongside that, I study Applied Physics and Mathematics at NTNU.

Outside of work and school, I build things to learn: games, graphics experiments, and small tools.

02

What I work on

Industrial software

Automation and engineering tools at Aker Solutions, built to cut manual steps and keep production systems running.

Robotics & simulation

Software for the physical world, where geometry and motion drive the design.

Data foundation & machine learning

Building the data infrastructure industrial systems rely on and applying machine learning to turn it into useful predictions.

System architecture

Designing how services, data, and automation fit together so larger systems stay reliable and maintainable.

Side projects

Smaller things I build to learn or to solve a specific problem: games, graphics experiments, and one-off tools.

03

Projects

A few things I’ve built recently.

NTNU Course Data API & MCP Server

A TypeScript client that puts NTNU's scattered public course data behind one typed interface: catalog search, teaching schedules, weekly timetables, exam logistics, and historical grade statistics. Published on npm as ntnu-api with zero runtime dependencies, so it runs in Node, browsers, and Cloudflare Workers alike.

On top of it sits ntnu-mcp, a remote MCP server running as a Cloudflare Worker. Point Claude or ChatGPT at it and they can search courses, compare them, and catch timetable clashes before you register.

  • TypeScript
  • MCP
  • Cloudflare Workers
  • npm package
Cipherbound screenshot showing a pixel-art town with two characters

Cipherbound

A Pokémon-like game built from scratch in C++, focused on core game systems, gameplay, and architecture.

This project won Best Project in the TDT4102 course at NTNU.

  • C++
  • Game systems
  • Architecture
Rendered black hole image

Interactive Black Hole Renderer

A renderer written in C++ that simulates gravitational lensing around a Schwarzschild black hole.

  • C++
  • Physics simulation
  • Rendering

Game of Life Text Generator

A tool that builds Conway's Game of Life starting states that evolve into readable text, turning a cellular automaton into a very impractical typography engine.

It searches for seed patterns that settle into letters after a chosen number of generations. The header canvas on this site is generated with it.

  • Python
  • Cellular automata
  • Search