I enjoy building projects that captivate my interest. Be it a large project with friends or a small script for myself.
Relentlessly curious and adaptable, striving to be the best version of myself, especially in coding.
Immersed in Vim and thriving in the terminal, I prioritize learning tools that optimizing my workflow and developer experience.
Skills
Languages & Frameworks
- JavaScript & TypeScript
- Node.js
- React
- Angular
- .NET / C#
- Go
- Python
Full-stack
- Relational databases (PostgreSQL, MySQL, MariaDB)
- DB Querying
- SQL
- Prisma
- EF Core
- Kysely
- User authentication and authorization
- JWTs
Technologies
- Docker (Containerization)
- CI/CD Pipelines & Devops
- Strong with UNIX systems
- Scrum and Agile methodologies
Soft skills
- Motivated to learn
- Problem-solving
- Communication
- Teamwork
- Can-do attitude
Featured projects
Fencing App
A fencing tournament managemenet application which went in to real daily usage. The application can handle round robin and brackets styled tournaments and was written in React.
Technologies
- Developed during an internship as a real project for a real client
- Four person team practicing Agile development principles
- Comprehensive usage of issues/tickets, documentation and trunk based development
- Translations for Finnish, English, Swedish and Estonian
- Kysely for lightweight database interfacing
- Hosted on Vercel
If I could change anything I would have focused more on testing to save time, as we slightly suffered from reliability issues at first. But regardless we managed to pull off an impressive product that the client was extremely pleased with.
Tectonic Bot
Discord chat bot actively developed and led by me, with continuous feedback from the community and our small development team. This project is also hands down the one I've learned from the most.
Achievements
- Over 350 active users
- Long-standing and active project
Technologies
- TypeScript for type safety
- Prisma for database management
- PostgreSQL for data storage
- Docker for containerization
- Hosted on Railway with automated CI/CD
- Comprehensive documentation
- Heavy focus on reliability
The bot serves as a robust solution for managing our OSRS community of over 350 users. It automates various tasks, helps with moderation, provides real-time updates, manages events, and enhances user experience, and remains active to this day.
Tectonic Bingo
This bot served as an automated interface through the messaging platform Discord for our community event/game. The event hosted 75 users and ran for ten days, the development of the bot took around two to three weeks excluding the documentation and planning for the event itself which took well over a month of collaboration between multiple people.
Achievements
- Enhanced User Experience: The bot received highly positive feedback, with participants highlighting the seamless integration and ease of use compared to manually handled events.
- High Engagement: 75 users actively participated, with the automated system improving interaction and engagement throughout the event.
- Streamlined Event Management: The bot eliminated manual event coordination, leading to a significant reduction in management overhead.
Technologies
- Rapid Development: Built using Python, allowing for an efficient development process while maintaining high code quality and adaptability for future events.
- Dynamic Progress Visualization: Automatically generated team-specific progress images using the Pillow library, providing real-time visual updates for each team's bingo progress.
- Complex Data Handling: Managed in-memory data with efficient serialization to handle real-time game state updates, ensuring data integrity.
- Discord API Integration: Seamless communication and event automation via the Discord API, enabling real-time updates, user interaction, and automated event workflows.
The project highlighted the value of rapid iteration, as I successfully enhanced the bot mid-event through user feedback. Looking ahead, I would use a more structured database for better data handling and a typed language to improve reliability and maintainability.
MNK App
Live chat project that utilizes SignalR to send and receive real time messages. Supports multiple chat rooms and secure user profiles with self built authorization utilizing JWTs. I was personally in charge of our backend and integration with our frontend, as well as project organization.
Technologies
- TypeScript & Angular Frontend
- .NET / C# Backend
- User authentication (login & register functionality)
- User authorization with JWTs
- Automated testing using Azure
- EF Core for database management
- PostgreSQL for data storage
- Docker for containerization
Hello world!
OKP-2(Ohjelmisto Kehitys Projekti 2)
Full-stack school project for consuming the MyHelsinki Open API. The user is able to view places of interest, activities and events around the user if they consent to the app using their location. Alternatively the user can search for a specific location.
Technologies
- TypeScript & Angular Frontend
- .NET / C# Backend
- Utilizes Google Maps, OpenWeatherMap API and MyHelsinki Open API
- User authentication (login & register functionality)
- User authorization with JWTs
- EF Core for database management
- PostgreSQL for data storage
- Docker for containerization
- Hosted on Railway with automated CI/CD
If the user registers for an account (not required), they gain the ability to favorite and track any place, activity or event until it expires. The app also can also display the weather around you with the OpenWeatherMap API.
About Me
Hello! I’m Mico, a passionate developer from Finland with over six years of experience in coding, which I consider more of a hobby than just a job. My journey in the tech world has primarily revolved around web development, but I’ve found a real passion for backend development.
Throughout my career, I’ve had the pleasure of working within a vibrant community of over 350 people, where I developed community management and event-centered software. Collaborating with other skilled developers around the globe and receiving feedback from our users has not only sharpened my technical skills but also deepened my appreciation for community-driven projects.
When I’m not coding, you can find me jogging or playing the same video games I enjoy building software around. Feel free to reach out if you’d like to connect or chat about projects, ideas, or career opportunities!
Contact
I’d love to hear from you if something in my portfolio sparked your interest! Whether you’d like to discuss career opportunities or just have a casual chat, feel free to fill out the form below in Finnish or English, and I’ll be sure to get back to you soon!