Hello, I'm Kalle and I like programming. I am currently specilizing in building web applications with TypeScript, React, Go and SQLite. Please check out my Github or read more about me.

Projects






Would You Rather - Programmer Edition

View Code



A Game where the user is presented with two scenarios and has to chose which one they prefer. After they chose they get presented with what percentage of people picked the different choices.
  • React
  • Typescript
  • Go
  • CI/CD




why



The App


The app has a frontend written in Typescript, React, TailwindCSS. And a backend written in Go and SQLite. The backend provides scenario pairs. And exposes endpoints for fetching random scenarios without providing the same scenario twice until all scenarios have been seen. Both the frontend and the backend was fully designed and implemented from scratch. The frontend, other than the game, allows the user to change the color theme, which I mainly made for easily picking my favorite colors during development.

Image not loading.
Image not loading.

Hurdles


The most difficult part of developing the backend was designing the api and preventing the user from fetching the same scenario twice. However, most of the time was spent on the frontend where the biggest hurdles was dealing with the different game states. I had to make intricate changes to the UI depending on what state the game was, which proved more difficult than my first estimation. This was also due to extending the visual feedback in the game in the middle of development rather than planning it from the get go.

What I Learned


This app taught me how to go from zero to a working application. Everything, from conceptualization to design, development pipeline, implementation and hosting was all done by me. It taught me not only lessons in programming, but also lessons in developing from a users perspective. My girlfriend acted as user, and as successful marketer in the IT startup space, she gave valuable insight as a user. Furthermore, I think the biggest lesson i learned is in development process. It was my first time creating a CI/CD pipeline with Github actions for a personal project.






Chatapp

View Code



A chat application inspired by Discord. It uses Node.js, Express, Socket.IO on the backend and React with create-react-app on the front end
  • React
  • JS
  • NodeJS




why



The App


Chatapp consists of two parts: A frontend build with React and TailwindCSS, and a Node.js backend using Express.js, Socket.io and chai.js. It has no persistent data storage, all data, such as created users and message sent is handled in memory.

Image not loading.
Image not loading.
Image not loading.

Hurdles


The most difficult part of the project was dealing making sure all communication between server and client was handled correctly and that the representation of data between the server and client were compatible. There were multiple times where I had to rethink the way I handled handled certain requests. This resulted in me building a strong set of unit tests to support my development of the server.

What I Learned


The big lesson I learned creating this project is the easy win of making a strong set of unit tests for data transformation on a server. It was a start of a workflow shift, where I now always try to write tests along with my server code and implement it in a way that is easily translated into unit tests. This has saved me a lot of headaches when something suddenly does not behave as you expect.






Movie Search App

View Code



A React front-end web application allow the user to search for movies, see information about the movies, such as IMDB score, actors, release year, etc. It also allows the user to favorite movies so that they can more easily access them.
  • React
  • JS
  • CSS




why



The App


The app uses React, React-Router, omdbapi and TailwindCSS. omdbapi is a RESTful open movie data base and I use it to fetch all info about the movies. React-Router was used to handle routing between "discover" and "favorites".

Image not loading.
Image not loading.
Image not loading.

Hurdles


This project was the first after a longer break from React and programming for the web. So the major hurdle was to get back into the grove. Other than that, the part i spend most time dealing with was communication with omdbapi. I had to tailor the request to my use case, and make sure that I did either fetch unnecessary data, or slightly wrong data.

What I Learned


I relearned a lot of React with this project, and it forced me to quickly catch up on old concept but with a new point of view. I had improved a lot in my general programming knowledge and skill since I last used React so it was gave me the ability to see things in a different way. I also was exposed to dealing with a RESTful api, which gave me insight in how to design a RESTful api.





A Little About Me



Kalle Spets Blomberg

I am a computer science student at KTH looking for a software developer job. I have a passion for Web Development and am proficient in JavaScript and React and have created many hobby projects. I also have competence in C++ and Golang. You can see some of my work under the Projects tab.

Feel free to contact me if you are interested in my work or in recruiting me to your team!

Skills

I mostly do programming in: Javascript, React, CSS, Tailwind, Go, C++. I am currently learning Golang. You can check more of my learning progress on my blog and my projects!

Contact me

The easiest way to contact me is by email: karlspetsblomberg@gmail.com

More about me

I am eager to understand things in programming and computer science deeply. My blog reflects a part of my learning journey and i see it both as a tool for me to solidify my understanding, and an opportunity to share an overview of my progress as a programmer. Other than programming i like running and playing guitar.