Myself

A passionate and dedicated Full-Stack Developer with over 4 of professional experience, building high-quality web applications.

React.js, Next.js, TypeScript, Node.js, Express.js, TailwindCSS, Python, Flask

MongoDB, MariaDB, DynamoDB, OpenAI, Socket.IO

Full Stack Development, Software Engineering

AWS CDK, AWS Amplify, Lambda

Client Projects

Ilkkapohjalainen News

description

  • Tulo SSO for login
  • Coral Comment system
  • Chartbeat for analytics
  • Bookmarking & tag following

Deiplus Media Platform

Lead frontend developer for Radio Dei platform featuring:

  • Live radio with Radioplayer
  • Podcast: audio and video with JWPlayer
  • User login & profile management
  • Add to favourites
  • Resume playback & watch history

Fiare Media Tools

Suite of digital tools for media houses focusing on:

  • Layout automation & editorial planning
  • 3rd-party tool integrations
  • UI design for media workflows

Personal Projects

re-Read Used Books

A second-hand book marketplace where users can buy and sell used books, complete with cart, order management with super cool Admin Dashboard and payment options, and works for authenticated users.

  • Stripe integration with Payment Intents API for secure transactions. Supports card payments, Klarna, (bank-based) payments, and EUR as default currency.

  • Cloudflare R2 for storing and serving book images, db: MongoDB

  • Next.js 15.3 (App Router), TypeScript, Tailwind CSS, Framer Motion for animations, Lucide-react for icons, radix-ui/react-tooltip, Sonner for toast notifications, React-Tooltip for extra information, Redux Toolkit and Zustand for state management, stripe/react-stripe-js for payment form UI, Payload CMS v3.43 as backend, NodeMailer for sending/receiving emails, Stripe and Stripe Webhooks for managing carts, books, customer addresses, orders, etc., MongoDB as the main database, Cloudflare R2 for image storage and optimization, Vercel for deployment.

Hotel Booking System

Developed a modern hotel booking application using Next.js and Redux for state management, ensuring a seamless and responsive user experience. Implemented user authentication and profile management, along with advanced filtering options for personalized search results. Integrated Cloudinary for efficient image processing and storage, Tailwind CSS for a sleek and responsive UI, and TypeScript for robust code quality. Utilized MongoDB for scalable and efficient data management.

  • Images stored in Cloudinary
  • MongoDB / Mongoose Object Data Modeling (ODM) library
  • Next.js
  • Redux for state management
  • Tailwind CSS for responsive UI
  • TypeScript for type safety

Family Fun

A digital family album with open and users engaged chat, done in Next.js, Python, Flask, Socket.IO, OpenAI.

  • Interactive image viewing using react-image-gallery
  • Upload via file picker or drag-and-drop
  • Only logged-in users can upload/delete photos
  • Images stored in Cloudinary & linked to users
  • Supports JPEG/PNG, max size 5MB
  • Real-time error/success notifications with react-hot-toast
  • NextAuth.js with CredentialsProvider & GoogleProvider
  • User session required for uploads and AI chat
  • OpenAI chat and Socket.IO chat implementation

Library Management System

A CRUD full stack application for library book loan management, done with Bootstrap, CSS, HTML, Express.js, Material-UI, MongoDB, Node.js, React.js, Redux, TypeScript. Users can sign up, login, loan books or return books. Admins can update, add, delete books.

  • User authentication with login/signup
  • Borrow and return books functionality
  • Admins can add new books
  • Admins can edit book records
  • Admins can delete books
  • Built with React.js and Redux
  • MongoDB for backend storage
  • TypeScript for type safety and maintainability
  • Styled with Bootstrap, Material-UI, and CSS
  • Express.js + Node.js backend API

Free Days Calculation

A full-stack web application built with Next.js, enabling users to log in via form authentication or Google login. Logged-in users can mark their free days on a calendar, and the system ranks the most common free days among all users using MongoDB.

  • Secure Login with Google or email/password
  • Select free days via an interactive calendar
  • See most common free days among all users
  • Built with Next.js, Tailwind CSS, and MongoDB

Live Chat with SOCKET.IO