Senior software engineer with five years of production experience building customer-facing React and TypeScript products. Designed complex state and interaction flows with Context, reducers and Redux, and improved perceived responsiveness through debouncing, memoization and caching. Background includes UX implementation, accessibility, Jest testing, API integration and mostly hands-on technical leadership.
Experience
Cloudberries
Senior Software Consultant
Bare Bitcoin
Senior Software Engineer (Contract)
Joined a small Bitcoin startup to add development capacity.
Worked through a backlog of bugs and product improvements in rapid iterations. Prioritized non-urgent work independently; the founders directed urgent work.
Handled UX design alongside frontend implementation while the designer was on parental leave. Moved the design setup from Adobe XD to Figma and created reusable Figma components based on the existing design conventions.
Gjensidige Pensjonsforsikring
Norwegian pension provider serving over 300,000 customers.
Built and maintained React/TypeScript applications for customer purchases, self-service, fund selection and internal advice workflows. Designed frontend state management using React Context, reducers and Redux.
Contributed to shared engineering standards through design-system feature requests, implementation proposals and pull requests. Co-developed a Yeoman generator with a senior mentor that standardized GitHub Actions workflows across approximately 30 applications.
Wrote Jest tests as part of daily frontend development. Used React Profiler and React Developer Tools for debugging and optimization, and implemented or coordinated fixes after accessibility reviews.
Technical Lead
Spent approximately 60% of the role writing production code across customer and caseworker applications, APIs and integrations.
Held technical responsibility for the team’s applications and integrations, including architecture decisions, code reviews and production support.
Worked with the product lead to turn business needs into prioritized development tasks. Mentored developers and served as a technical contact for business stakeholders and other teams.
Senior Software Engineer
Implemented larger changes across backend services, databases and React applications, taking technical responsibility from requirements through release and ongoing support.
Software Engineer
Implemented Java-based pension functionality and workflows for Norway’s shared pension-account registry (PKR).
Experis Academy
Software Engineering Graduate Program
Intensive full-time program focused on Java, Kotlin, Spring Boot, and modern web development.
Selected projects
Purchase, Withdrawal and Vault Features
Bare Bitcoin
Improved existing purchase and withdrawal flows in React/TypeScript and Flutter, adding a passkey option for withdrawals. Built the web and mobile interfaces for a new vault feature from scratch, letting customers set daily withdrawal limits and automatically spread larger withdrawals over several days. Integrated these features with a Go backend using gRPC and Protobuf, tracing backend behavior to align the web and mobile flows.
Digital Savings and Advice Flow - Authorization
Gjensidige Pensjonsforsikring
Held technical responsibility for updating a digital savings and advice flow to meet requirements from FinAut, the Norwegian finance industry’s authorization body. Translated business requirements into technical tasks and guided two other developers. Implemented React/TypeScript forms with conditional questions, validation and fund selection. Designed and implemented an interactive savings projection backed by Kotlin calculations. Used debouncing, memoization and caching to keep the Chart.js graph responsive as customers changed their inputs. The team met the authorization deadline and released the updated flow.
Progressive Transaction and Fund Data Loading
Gjensidige Pensjonsforsikring
Helped choose a progressive data-loading approach for React transaction and fund views to limit initial data volume and rendering work. Implemented backend pagination, kept the first request minimal, and fetched details only when a user expanded a row.
Bare Bitcoin OTC Feature Page
Bare Bitcoin
Designed the UX and visual elements in Figma, drafted the initial copy and refined it with the founder, then implemented the public page in React and TypeScript using Tailwind and Motion. Worked across how the service was explained, how the page should behave, and the final browser implementation.