Fullstack Developer at Redi AS
I build web applications with Next.js, TypeScript and Supabase, and share what I learn along the way.
I'm a fullstack developer at Redi AS, where I work on software for both internal teams and clients. Most of my day goes into building robust web applications with Next.js, TypeScript and Supabase, deployed on Vercel and Azure.
What I work on
At Redi, Redi Hub is one of our main deliverables, a platform that handles both Redi's internal projects and client projects, with separate design profiles and component library variants per client. I work server-first with App Router, ISR and type safety all the way to the edges.
In my spare time I build and run Søknadsbasen, a Norwegian service for job seekers built with Next.js and Supabase. It keeps CVs, cover letters and sent applications in one place, and uses AI to tailor the CV and application to the role without making anything up.
How I work
I like simple solutions that stand the test of time, type-safe contracts, clear abstraction layers, and debugging that finds the root cause instead of patching symptoms. I prefer server components, ISR and unstable_cache over client-heavy architecture whenever there's a choice.
Background
I started out at the web hosting provider Uniweb in Tønsberg, where I rebuilt several hundred websites in WordPress during a migration, among other things. After that I worked as an alarm operator at Avarn Security, a job that taught me to keep a cool head when things are urgent.
In 2024 I founded the web agency Spiderweb AS while also working as a web developer for the media agency SoMe Garden. I then became the sole developer and technical lead for Eiendomsavtaler.no, a digital marketplace for commercial real estate, before joining Redi AS in 2026.
Outside work
Alongside the code, I make electronic music under the artist name Makkos, inspired by house and afro house. You can find the music on Spotify and other streaming platforms.
Contact
The shortest path is marcus@jenshaug.no. I usually reply within a day. Or you can use the form.