Lead designer & developer (summer internship) · 2023

NAV Internal Event Registration

The tool NAV uses to register and run internal events. I led the build as a summer intern, and it turned into a full-time job.

  • Next.js
  • TypeScript
  • Kotlin
  • Ktor
  • PostgreSQL

01 / Context

NAV IT, the tech arm of Norway’s Labour and Welfare Administration, was organising internal events over spreadsheets and email in 2023, and that did not scale across one of the country’s largest public-sector tech organisations. My internship brief was to build a better way to register for and manage internal events.

02 / My role

It was a full-stack role: I led the planning, design, and development, owning the user flows and information design as well as the implementation on both sides of the API.

03 / Problem

Any employee had to be able to sign up for an event in seconds, without instructions, while organisers needed enough structure to manage capacity and attendance. The design job was compressing a sprawling manual workflow into a few obvious screens; the engineering job, a data model for events, registrations, and capacity behind a typed Kotlin API.

04 / Approach

I split the flows by job, registering as an attendee and administering an event, and kept each path short enough to need no explanation. The backend is a Kotlin/Ktor service over PostgreSQL; the frontend is React with Next.js in TypeScript. Working inside NAV’s platform meant meeting public-sector reliability and accessibility requirements from the start.

05 / Result

It became NAV’s primary platform for internal events, more adoption than a summer project usually gets, and it turned the internship into a full-time frontend role at NAV IT, where I now work on platform services for nav.no. It is an internal tool, so there is no public link.