I design and build annotation, canvas and mapping web applications, and fix the ones that have
outgrown their original design. Most engagements start with a short architecture review, so you
know what you are buying before you commit to a larger project.
Services
Recommended first step
Architecture review
A fixed-scope review of an existing canvas, annotation or mapping application. You get a written report and a walkthrough of what to change first, and why.
Who it's for
Teams who know something is wrong but are not sure where the problems are.
Typical problems
Rendering slows down as documents or datasets grow
State is hard to follow and features take longer each release
A rewrite is being discussed, but nobody can say what it should fix
What you get
Written report with findings ranked by impact and effort
For interfaces that have outgrown their original design. I profile the real bottlenecks, then fix the rendering strategy and state management behind them.
Who it's for
Product teams with a canvas, map or editor-based interface that has become slow.
Typical problems
Interactions lag with real-world data
Memory grows until the tab has to be reloaded
Small changes cause unexpected re-renders across the app
What you get
Profiling results and a prioritised fix list
Implemented fixes with before and after measurements
A short, free call to understand the problem and check whether I am the right fit.
02
Architecture review or scoped proposal
A written plan with scope, milestones and price, so there are no surprises.
03
Build & handover
Delivery end-to-end, with documentation your team can keep working from.
Engagement models
Model
Best for
Format
Architecture review
Teams unsure where the problems are
Fixed scope, fixed price, 1–2 weeks
Project
A defined tool or feature
Scoped proposal, milestones
Embedded specialist
Teams that need senior capacity
Time-based, scope agreed together
Partner / subcontracting
Agencies and consultancies
Per agreement
Tech stack
TypeScript
Svelte & SvelteKit
React
HTML5 Canvas & KonvaJS
PDF.js
OpenLayers, ArcGIS, MapLibre
Python & Django
Node
Java & Spring Boot
PostgreSQL
What I don't do
Saying no early saves both of us time. If your project is one of these, I am happy to suggest
someone better suited.
Low-budget brochure websites
Simple WordPress or e-commerce shops
Logo, branding and video production
FAQ
How do we start?
Send an email describing what you are working on. If it looks like a fit, we set up a short discovery call.
Do you sign NDAs?
Yes. I am happy to sign your NDA before we discuss details of your product or data.
What kind of contracts do you use?
A fixed price for architecture reviews, a scoped proposal with milestones for projects, and a time-based agreement for embedded work. I can also work under your framework agreement.
Remote or on-site?
Mostly remote, from Fredrikstad, Norway. I work with clients across Scandinavia and the rest of Europe, and take on projects elsewhere in the world by arrangement. On-site workshops and kick-offs can be arranged.
Can you work with our in-house team?
Yes, and that is often the best setup. I work in your repositories and processes, write things down, and hand over so your team can carry on without me.
Who owns the code?
You do. Intellectual property for the work produced in an engagement transfers to you, as set out in the agreement.
Not sure which of these fits? Describe the problem and I'll tell you honestly.