I am a seasoned full stack developer with a knack for bridging gaps between
user needs and system capabilities. I have been programming with web
technologies for over 10 years, and I have familarity with a variety of
client-side and server-side technologies. Outside of work I do some open
source development and I attend local developer meetups.
I am currently working on the Openframe platform as part of a small
product team. My contributions has been new features and large-scale
refactors, focusing on developer experience and application performance.
Built a file handling feature that allows users to organize files in a
tree structure inside Openframe projects. I contributed to the spec, and
implemented the backend as well as the frontend on my own.
Migrated the frontends build system from Webpack to Vite, reducing build
times by 10x and saving the company time and money in CI/CD. I also
migrated the code from TypeScript non-strict to strict mode, which
drastically reduced the number of bugs.
Took charge of the company's entire development and infrastructure for 2
months while the CTO was away.
Worked on the website for company's next generation browser game Ember
Sword as part of a team of just 2. The website is both a landing page and it functions as a web app with
has authentication, account management and deep integration with the game.
Architected and built a limited time NFT sale event, creating a
real-time commerce application using React. This event led to $400,000
in sales inside a week. I was in charge of the very central real-time
map as well as some scraping of blockchain data.
Optimized the client-side JS bundle size of the company's Next.js
website, achieving a 70% reduction, which substantially improved loading
times and Web Core Vitals for all users as measured by Lighthouse.
As a consultant I joined various teams that needed extra resources and
help them work on their product.
Worked as a backend developer for Danske Bank, where I contributed to
their Forex trading platform, mostly on infrastructure projects. I
helped the team with a large internal migration to a new API gateway.
Joined the product team at Bibliotheca where I took ownership of their
nordic library self service platform. As the only developer left on the
team I was responsible for the entire codebase there. I designed and
implemented a MobilePay integration and oversaw its introduction into
100s of danish libraries.
Java
SQL
Google Cloud
Volunteer Work
Open Source
Developed and maintains the official Nanostores integration for Lit. Simplifying state management in Lit components, and helps interop Lit
with other frameworks. Gained recognition through a recommendation in
the Astro framework's documentation.
Contributed pull requests with bug fixes and improvements to various
Open Source libraries, with the most impactful being
JSZip and
Serde.
Contributed bug reports and feedback to various Open Source libraries,
including Valibot where I was credited as a contributor early on for helping to improve the
API.
TypeScript
Lit
Rust
Other Skills
Version control (Git)
CI/CD (Github Actions)
Linters and formatters (ESLint, Prettier)
Package management (npm)
Testing (Jest, Vitest)
Agile development (Scrum)
Design systems (Tailwind)
Web performance (Lighthouse)
Web analytics (Google Analytics)
Web hosting (Vercel, Firebase)
Interests
I attend meetups and follow the latest trends in web dev.
I play Ultimate Frisbee - a fast paced team sport with a frisbee instead of a ball.
Outside of my employment hours, I co-founded Disc Tree, an e-commerce
venture in the Disc Golf niche. My role centers around website development
and backend automation, with no overlap or conflict with my primary job
responsibilities.
Designed and implemented a Shopify webshop, integrated with transport
management and bookkeeping systems.
Developed custom applications and scripts to automate tasks related to
data collection, reporting, and image processing, enhancing operational
efficiency.