hello@mikaelkarlsson.se

Hello there..!

Welcome to my part of the web! I'm Mikael, a middle aged dude/front-end developer from Sweden, located in Gothenburg. I've been crafting websites since back in the days when the web was pretty much uncharted territory and explorer optimism and dedication for the craft colored the everyday impression.

Except for being nostalgic, I also enjoy being outdoors and do photography. As well am I a crazy cat man and cymbal connoisseur that play drums in a cool alternative rock band.

Career

I started crafting websites already when I was around 10 years old and I did my first commissioned work just a couple of years later. It was a website for a yearly regional fair held in the area where I grew up in, that had exhibitions filling two large arenas and that attracted thousands of visitors. Since then I've worked on countless of various projects, both commissioned and what would count as startups and open source projects today. I've been part of creating everything from CMS systems to CRM systems to email services to blogs to typical company websites..

However, during my later teenage years I got really into photography and after graduating from high school I studied photography for two years at an higher vocational education. I then started my own business as a freelance photographer, but combined this with some web development work as well. Though after a few years and the usual unexpected and random turns life throws at you, I ended up fully getting back to web development again.

From that time on I've chosen to focus on front end development, as I mainly enjoy the UX related parts when creating a solution. I've spent a lot of time crafting user interfaces but during later years I've gotten more and more into the parts that are a bit behind the scenes, like data management, routing, build tools and creating a good developer experience.

Recent work experience

As described above, I have an extensive experience from web development starting around the recent millennia. Though the old projects does no longer exist and most techniques used then are no longer relevant, therefore I only list my more recent experiences here.

2021 - present: Econans

Front end lead

At Econans, we create white label products targeted primarily towards banks. I've been in charge of creating a new way of how the company works with front end, by helping create a pure front end team and setting up a new tech stack along with new ways of working. Outside of the front end domain, I've also been much involved in product discovery and planning along with shaping routines and processes about how we work together in the company as a whole.

All products offered are built on the same foundation which is mainly driven by an ecosystem I've designed and built up from scratch. The ecosystem includes for instance an UI component library where all components are possible to style via themes in the consuming product, a library of reusable common functions, and common build and distribution tools. This approach allow for quick development, ensure a high quality among all products and scale well.

The core of the products are built in a very configurable fashion, both in terms of customizing each product per client via settings and feature flags, but also how it is setup by us internally. As example of the latter, forms used to collect user data are defined in a configuration and then automatically displayed where desired in the product, including features like pagination, validation, side effect management (update a value if another changes, tracking etc) and more.

Culture wise in the front end team, we heavily emphasize on team work, showing trust to each other and giving each space to present and explore new ideas. Those core concepts has been key in shaping a really well performing team and I'm very proud of having initiated this approach, as well am I very happy to see how the whole team has taking part in gradually enhancing our culture further.

Technologies & tools
  • React
  • TypeScript
  • Zustand
  • Zod
  • CSS
  • Emotion
  • Tailwind
  • Storybook
  • REST API
  • Webpack
  • Vite
  • Vitest
  • Jest
  • Playwright
  • Cypress
  • Node.js
  • Astro
  • Auth0

2020 - 2021: Universal Avenue

Front end developer & product owner

Universal Avenue (nowadays Velory) offered companies an easy way of dealing with hardware and software for their employees or franchise takers via an administration tool and different kinds of e-commerce like solutions. I worked in a small cross-functional team responsible for one of the e-commerce solutions. At first as a front end developer but after a few months I became product owner in my team.

In my role as product owner I regularly met with stakeholders and with their feedback found a way forward for the product and the team, delivering improvements, new features and on-boarding new clients.

When time allowed, I still did development work and especially put much effort into refactoring parts of the product to improve the technical quality, re-usability and scalability. This helped make the product more stable and the team could implement new features in an easier and quicker manner. I also implemented some new features especially related to the checkout, e.g credit card payments via 3rd party providers like Adyen.

Technologies & tools
  • React
  • TypeScript
  • Gatsby
  • GraphQL
  • CSS
  • Emotion
  • Jest
  • Cypress
  • Node.js

2017 - 2020: Wipcore

Front end developer & tech lead

Wipcore (nowadays Mardi Gras) was an IT consultancy firm that mainly offered e-commerce solutions, but also anything from regular websites to fully custom made products. On top of that, they also developed a real estate portal together with a partner firm.

I primarily worked with creating the front end for e-commerce solutions, but I also worked extensively with better adapting the tech stack to the current needs and offer a better developer experience and increase the re-usability. The latter work, much focusing on re-usable UI components and easy styling processes, leading to a rapid and great decrease in front end implementation time within the e-commerce projects while at the same time drastically increasing the quality. The implementation time decreased from a typical span of about 2000 - 3000 hours down to about 500 - 1000 hours.

Project based, I often took on the role as tech lead for the front end domain. Meaning that I on top of developing also co-operated closely with stakeholders to ensure the overall goals, technical quality and time frames were aligned.

Tech wise we used many different options depending on the case. Considering JavaScript and closely related, I introduced VueJS into the e-commerce projects and this later become the main JavaScript framework of choice overall. We also used React, especially in projects built with the then rather new and quickly evolving JAM-stack, were we typically used Gatsby in conjunction with 3rd party providers like Algolia.

Technologies & tools
  • VueJS
  • Vuex
  • React
  • Redux
  • CSS
  • SASS
  • Webpack
  • Node.js
  • REST API
  • Umbraco CMS
  • Sanity CMS
  • Gatsby
  • Algolia

How I like to work

I love solutions that are to the point and emphasize on clarity, ease of use, and re-usability. I always work component based and those must have an explicit and clear scope. Usually I also strongly prefer to work in a way that the content is defined separately from the markup and then exposed where desired in a standardized way. With that approach the content and any business logic is nicely separated and it's very easy to add and scale features, like standardized predicates dictating if part of the content should be displayed or not.

I find it very important that tools and architecture offer flexibility and do not force you into a corner. Often it's rather small things, e.g do not apply a margin on a component by default - it will then only be to your favor in specific contexts and require you to overwrite/remove it when not desired - instead handle placement styles of the component in the context where it is used.

As a person, I'm ambitious and dream of crafting products that are loved by users and in a work environment that dares to break new ground. Copying others will never take you further than them, and I want to go further. Having high ambitions may however not interfere with a relaxed and down to earth culture, I love having a laugh with my colleagues at the same time we deliver a great solution together.

I am a firm believer in working smart and focus on quality instead of quantity, and I prefer being part of rather small, specialized and fast paced teams and companies. Evaluating situations and seeing the big picture are among my biggest strengths and I thrive in an environment where I can have real influence in technical choices, processes etc.

Get in touch

I do like to talk, please reach out via e-mail or LinkedIn and say hi!