Oskar Eriksson | Örebro, Sweden

Fullstack developer with a passion for the whole stack

As a Fullstack Developer, I thrive on building scalable, efficient, and user-centric applications. With experience in both frontend and backend technologies, I have a special passion for frontend development, where I enjoy crafting intuitive and visually appealing user interfaces. That said, I am fully capable of working across the entire stack, ensuring seamless integration between frontend and backend systems. Additionally, I have hands-on experience with cloud platforms like Azure and AWS.

oskar eriksson

Personal information

About me

I am an experienced full-stack developer with a preference for frontend development, and I have successfully built full-stack applications using React, Next.js, Angular, and .NET over the past four years. Additionally, I have engaged in side projects utilizing Next.js and React Native Expo, showcasing my versatility and passion for innovation in both web and mobile development.


I find immense joy in coding and consider myself blessed to work with my hobby on a daily basis. It's a privilege to turn my passion into a profession, and I approach each project with enthusiasm and dedication. I believe in continuous learning, and my strong ability to quickly adapt and grasp new concepts makes me a fast learner. I am solution-oriented and thrive in problem-solving, approaching challenges with a methodical, structured mindset.


As a team player and a leader, I collaborate well in group settings and strive to motivate and guide others toward success. I perform well under pressure while remaining humble and confident. My straightforward communication style, optimistic outlook, and consistent dedication to achieving goals further enhance my ability to contribute effectively in any environment.

Bachelor's degree in informatics | Örebro university | 2018 - 2021

Education

I have a bachelor's degree in informatics, where I learned various methodologies for working in software development and gained programming skills. Additionally, I took extra courses in mobile development and web development with a focus on user interaction. While my education provided a solid foundation, most of my knowledge comes from building my own projects and developing software in my spare time.

AI

Usage of Artificial Intelligence

I use AI daily as an advanced research tool, leveraging chat-based LLMs like ChatGPT to quickly access information and deepen my understanding of various topics. Rather than relying on AI to write code for me, I use it as a more efficient alternative to traditional search engines.


For coding, tools like GitHub Copilot and Supermaven enhance productivity by predicting and suggesting code based on context. They help me write faster and streamline development, but I use them as assistants rather than replacements, always reviewing and validating their output with my own expertise.

Programming skills

  • Javascript
  • Typescript
  • C#
  • SQL
  • CSS
  • SASS
  • HTML

Frameworks, cloud platforms, and tools

  • Angular
  • React
  • Next.js
  • Sveltekit
  • Tailwind
  • .Net Core
  • .Net Framework
  • React native (expo)
  • NGRX
  • NGXS
  • Zustand
  • Google Firebase
  • Azure
  • AWS
  • CICD
  • Github actions
  • Github
  • Reddis
  • Document DB

Personal attributes

  • Ability to work together as a part of a bigger team
  • Fast learner
  • Problem solver
  • Solution-oriented
  • Leader
  • Structured
  • Humble
  • Straightforward communication
  • Optimistic
  • Goal-oriented
  • Consistent
  • Confident
  • Methodical

Software

  • Vs studio
  • Rider
  • Vs code
  • SQL studio
  • MS Teams
  • Slack
  • Jira
  • Figma
  • Ms Office

Languages

  • Swedish
  • English

Driver license

  • B-licence

Job

Experiences

Bokadirekt.se | Stockholm, Sweden | Remote

JAN 2023 - CURRENT
Current

Bokadirekt is a comprehensive booking system with a primary focus on beauty salons and hairdressers, although it caters to a wide range of businesses. From schools to various enterprises requiring booking solutions, Bokadirekt serves a diverse clientele. I worked on the core part of the system, the SaaS product for entrepreneurs (our customers), as part of a team of five developers. The entire Bokadirekt development team consists of 25 developers.


Daily tasks encompass resolving bugs in both backend and frontend, as well as implementing new designs and features. Here we are using Angular, React and Dotnet (core and framework) with SQL server as our DB. We use a combination of Dapper and EF to query the db.


We followed Domain-Driven Design (DDD) principles to structure the system. The main advantage of DDD was its ability to clearly define business logic through well-structured domain models, making the system more maintainable and scalable in the long run. It also improved collaboration between developers and domain experts by enforcing a shared understanding of business concepts. However, DDD introduced significant complexity, especially in cases where a simpler approach would have sufficed. Many queries required traversing multiple domain layers, leading to inefficiencies and making some operations unnecessarily difficult. In some scenarios, fetching data from the backend became cumbersome due to strict domain boundaries.


One major learning experience came during a large rework when we introduced a new subscription type that required a completely new design. A feature toggle was implemented to display different layouts and components based on a flag. This quickly led to messy code, making it harder to manage. I proposed a different approach—creating a separate application and navigating users between them—which would have also improved performance in our slow development environment. However, this alternative was not chosen, and the resulting complexity reinforced the challenges of maintaining a clean and efficient codebase.


Read more about Bokadirekt.se

CAB group AB | Örebro, Sweden | Hybrid

MAY 2021 - JAN 2023

At CAB Group AB, we developed a web-based CRM system for insurance companies, enabling the management of customers, contractors, and subcontractors. This platform served as a central hub for tracking costs, contracts, and other essential elements in insurance cases.


The system was built using Angular (versions 10–14). My primary project was a frontend enhancement phase, where our team focused on migrating legacy AngularJS code to the newer Angular framework. We employed a structured approach by breaking down pages into modular web components using Angular. These components were then integrated into the existing AngularJS framework via web components, allowing for a gradual and controlled migration to a modern frontend architecture.


On the backend, we implemented new REST endpoints within the Dotnet Core framework. This involved defining business logic and retrieving data from the database to support the new frontend components.


At CAB, we followed a microservices architecture, where each service was responsible for specific business functions and primarily used CRUD (Create, Read, Update, Delete) operations to interact with the database. The main advantage of this approach was improved modularity—each microservice could be developed, deployed, and maintained independently. It also allowed for better scalability and fault isolation, ensuring that issues in one service did not bring down the entire system. Additionally, we structured endpoints around views, which streamlined data retrieval by providing the necessary information for each UI component in a single request.


However, microservices also introduced challenges. While they worked well for our needs at the time, scalability could become a concern as the system grew, especially in maintaining consistency across multiple services. Managing inter-service communication and data synchronization required additional effort. Furthermore, CRUD-based microservices, while simple and efficient for most operations, could become limiting in complex scenarios that required more advanced business logic or cross-service transactions.


One key takeaway from my time at CAB was that while Web Components facilitated the system rewrite, they also introduced challenges with styling and shared logic. In hindsight, I would have preferred developing a separate application instead, as it would have simplified development and reduced complexity.


Read more about CAB

TIQQE | Örebro, Sweden | Hybrid

JAN 2021 - MAY 2021
Exam project

For our exam project, my friend and I worked on an integrations project at TIQQE. The goal was to automate the time reporting process by integrating a new time reporting system, Clockify, using the API they exposed.


We developed an automated job using AWS Lambda to retrieve the time data from Clockify and save it in DynamoDB. From there, the data was sent to Visma’s public API, ensuring that the reported hours of the consultants were automatically added to the salary system without any manual intervention.


Additionally, the reported time stored in DynamoDB was used with AWS QuickSight to build visual graphs and insights. These graphs provided TIQQE with an overview of income and costs, based on the reported times, helping them to make informed decisions.


To set up the entire environment, we used Infrastructure as Code (IaC), ensuring a consistent and automated deployment process.


Through this project, I gained valuable experience in integration development and learned a lot about AWS services, such as Lambda, DynamoDB, QuickSight, and Infrastructure as Code, which expanded my knowledge of cloud-based solutions.


The project was a success, and TIQQE continues to use it today to manage reported times efficiently.


Read more about TIQQE

Created for fun

Hobby projects

Powerlifting judging system

Powerlifting judging system

I developed a digital judging system for Örebro Kraftsportsklubb, designed to streamline the judging process during powerlifting competitions. Judges use their smartphones to access a web-based platform where they input their assessment of each lift. Their decisions are processed in real time, triggering a light indicator that displays the lift’s status instantly. The system ensures a smooth and efficient judging experience, reducing delays and improving accuracy. It is built with Next.js for the frontend and backend, while Pusher.js handles real-time messaging to synchronize data across all devices seamlessly.


on the image, you can see the judge's phone, and the screen displays the lights showing the result
Delaresan.se

Delaresan.se

Delaresan.se (or share-your-ride.se) is a business idea I developed that allows users to create posts for long-distance travel. By selecting the cities they will be passing, users can offer a ride and connect with others who are looking for transportation along the same route. This platform facilitates cost-sharing and promotes a more sustainable way of traveling. I still believe the idea holds potential as it can help users save money while contributing to environmental sustainability.


The website is not close to done. I wanted to implement a map functionality with mapbox. But I had a lot at work so the motivation to finish slowed down.
Macrosci

Macrosci

In my free time, I developed Macrosci, a macronutrient calculator designed to determine users' daily caloric requirements using an advanced algorithm based on the latest scientific research. Built with React Native, Macrosci was a solo project, with scientific contributions from Dr. Guilherme Elcadi and Dr. Mattias G. A. Romare, who provided expertise on the latest research and helped refine the algorithm and scientific content within the app.


Unfortunately, the app is no longer available for download, but you can still get in touched with Dr. Guilherme Elcadi and Dr. Mattias G. A. Romare if you have any questions. Just ask me and I will provide details