narve.github.io

Narve Sætre

Developer at DV8. Here are some public projects: AI experiments, small tools for the browser, and a few older libraries. I also give talks now and then; the slides are collected under Talks.

Projects

JavaScriptGame · PWA

Wordfeud Butler

A progressive web app companion to Wordfeud. It shows your games, your rack and the tiles still unseen, and proposes moves using a word solver built on DAWG lexicons. It shares that solver with Challenge Scrabble, a multiplayer word game, and with a bot that plays on a real Wordfeud account. Not affiliated with Wordfeud.

JavaScriptAI · Art

Artful Dodger

Surveillance art. A webcam captures the room, a local LLM writes live descriptions of what it sees, and a sci-fi monitor displays them with a typewriter effect.

JavaScriptPuzzle

Matchstick Puzzle Solver

Type or click a matchstick equation, see whether it holds, and get every one-stick move that fixes it. Includes strict, default and flexible rule sets.

TypeScriptAccessibility

Text Size Adjuster

Make a page's text bigger or smaller with one tap, without zooming the whole page or scrolling sideways. Available as a Firefox extension, a userscript, or a script tag for site owners.

JavaScriptPresentations

The Presenter

Turn existing HTML or Markdown into a web presentation using any of several presentation frameworks, or just add a "Present" button. No server and no build step.

TypeScriptAI · Workshop

Booking Demo

A full-stack React/Express/SQLite rental app built as a showcase for multi-agent development across Claude Code, Copilot and OpenCode. Used in courses and workshops.

C#Library

DV8.Html

A simple, dependency-free C# DSL for building HTML elements, with support for serializing object graphs to HTML.

C#Library

DV8.SimplifyLines

Fast, dependency-free .NET polyline simplification using Douglas-Peucker or radial distance on standard Vector3 points. A rewrite of simplify.net, which was itself a port of simplify-js.

Talks

  • CP-SAT in energy trading Discrete optimization in practice: matching flexibility orders with Google's CP-SAT solver. 2025
  • BaaS and Supabase Backend-as-a-Service, the alternatives, and building a collaborative app on Supabase. 2025
  • Life@Å What working as a developer in the energy sector looks like, for students (Norwegian). 2024
  • .NET 8 What's new in the runtime, tooling and C#, and how an upgrade from .NET 6 went. 2024
  • Algebraic effects What algebraic effects are, and why they are cool. 2022
  • GraphQL for non-dummies GraphQL compared with REST: queries, mutations, subscriptions and tooling. 2019

Older projects

  • angular-bpmn Sample project integrating Angular with the BPMN-JS diagram editor. TS
  • ang2-bpmnjs The original Angular 2 + BPMN-JS sample, with a properties panel and custom palette. TS
  • xhtml-generator Fluent, dependency-free Java 8 library for generating well-formed XHTML. Java