Ville Savolainen

A Software developer.

drawn-portrait-ville

Welcome to my portfolio

My journey as a developer began at Hive Helsinki, a 42 network coding school. There, I built a solid foundation in low-level programming with C and object-oriented programming with C++. As I have progressed through Hive's curriculum, my passion led me to explore web development and broaden my skill set. Explore my portfolio below to see a selection of projects from both my time at Hive and personal work

Web Development

js logo
PinNote

A note-taking web application that allows users to create and manage notes on their own user accounts. It is powered by React, Node.js, Express.js and PostgreSQL. The App is hosted in railway.app and set up with CI/CD pipeline to be re-deployed with latest changes.

js logo
SafeURL-Scanner

A web application that checks the safety of URLs using the VirusTotal API. Built with Node.js, Express, and EJS, it provides a quick safety analysis of any URL. The app is hosted on Render.com with CI/CD for automatic deployment.

html logo
Portfolio Page

Curious about how this portfolio was built? You can explore the code behind it by visiting the GitHub repository. It contains the HTML and CSS files that power the design and layout of this page.

js logo
Blog App

A web application that allows users to create, edit, view, and delete blog posts. Built with Node.js, Express.js, and EJS for templating. The main goal of this project was to learn and demonstrate ejs, express and middleware.

C & C++

c++ logo
HTTP-Server

A C++ powered HTTP-server inspired by the architecture and configuration styles of the NGINX. Introduces concepts: sockets, non-blocking I/O, request parsing and client-server communication.

c logo
Cub3d

A 3D game made by implemnting raycasting and minimalistic C graphics library 42mlx. The style and graphics of the game has been done by using Wolfenstein 3D as a reference.

c logo
Minishell

A simple shell made in C language. Supports builtins, redirections, pipes and environment variables. Bash used as a reference and mimic it's behaviour as closesly as possible.

c logo
Philosophers

Solving the classic Dining philosophers problem. The goal of the project was to learn the basics of multi threading a process and using mutexes to prevent data races.

c logo
Libft

A Library with my own versions of basic C functions. The goal was to understand C standard library functions; the way they work, learning the syntax and memory management.

c logo
Push_Swap

This program sorts data on a stack with a very limited set of instructions. To achieve this goal it uses various algorithm types depending the stack size for an optimized data sorting.

Get in Touch

I will get back to you as soon as possible. Feel free to contact me using the form!