Projects

Projects

A collection of frontend and full-stack learning projects built with React, Next.js, TypeScript, JavaScript, APIs, routing, state management, forms, authentication, database integration, and responsive UI.

This page includes all portfolio projects. Selected projects are also featured on the Home page.

Next.js

Next.js Dashboard

A full-stack financial dashboard built with Next.js App Router, PostgreSQL, authentication, search, pagination, Server Actions, and responsive UI.

Next.jsReactTypeScriptPostgreSQLAuth.jsServer ActionsVercel
Next.js

Jobly — Job Application Tracker

A responsive job application tracker built with Next.js, TypeScript, localStorage, search, filtering, dynamic pages, and English/Ukrainian interface localization.

Next.jsReactTypeScriptlocalStorageContext APIVercel
Next.js

Next.js Markdown Blog

A Markdown-based blog project built with Next.js Pages Router and static generation.

Next.jsReactJavaScriptMarkdownCSS Modulesgray-matterremarkremark-htmldate-fnsVercel
Full-Stack

React Node Article Reader

A full-stack learning project that connects a React frontend with a Node.js backend to load article data and open dynamic article pages.

ReactNode.jsReact RouterJavaScriptAPI
TypeScript

Weather App React TypeScript Vite

A React and TypeScript weather app that uses the OpenWeather API to show current weather and a 5-day forecast.

ReactTypeScriptViteAPICSS
JavaScript

Magic Task Board Vanilla JavaScript

A vanilla JavaScript task board with drag-and-drop cards, localStorage persistence, dark/light theme, and JSON export/import.

HTML5CSS3JavaScriptDrag & DroplocalStorage
Material UI

Material UI React Pricing Page

A responsive pricing page built with React and Material UI components, including pricing cards, feature lists, buttons, and a popular plan badge.

ReactMaterial UIJavaScriptCSSResponsive
React Router

React Router Products SPA

A React Router SPA with product pages, active navigation links, dropdown menu, mobile navigation, and a custom 404 page.

ReactReact RouterJavaScriptRadix UICSS
Redux Toolkit

Redux Toolkit Profile State

A React state management project that uses Redux Toolkit to share a username between separate components through a global store.

ReactRedux ToolkitReact ReduxJavaScriptVite
React

Smart User Search React UseMemo

A React search project that filters local user data by name and ID, ignores spaces, highlights matches, and uses useMemo for optimized filtering.

ReactJavaScriptuseMemouseStateVite
React Hooks

Image Slider React UseEffect

A small React project with an automatic image slider, show/hide toggle, useEffect interval logic, and cleanup.

ReactViteJavaScriptuseEffectuseState
React Forms

Sign Up Form React UseState

A responsive React sign-up form with controlled inputs, useState form handling, a checkbox, and submit logic.

ReactViteJavaScriptuseStateForms
Vanilla JavaScript

JavaScript Calendar with Reminders

A vanilla JavaScript calendar project built to practice Date logic, month rendering, modal reminders, and localStorage.

HTML5CSS3JavaScriptDatelocalStorage
Vanilla JavaScript

Reaction Speed Game

An interactive vanilla JavaScript reaction game with timers, random circles, difficulty levels, sounds, haptics, and responsive layout.

HTML5CSS3JavaScriptTimersDOM
Vanilla JavaScript

Sticky Table of Contents with Scroll Highlight

A vanilla JavaScript sticky table of contents with scroll-based section highlighting and smooth navigation.

HTML5CSS3JavaScriptDOM GeometryScroll
Vanilla JavaScript

Password Generator

A vanilla JavaScript password generator with length control, character set options, strength meter, and clipboard copy.

HTML5CSS3JavaScriptClipboard APIDOM
Vanilla JavaScript

Interactive Card Details Form

A responsive payment card form with live input formatting, front-end validation, Luhn check, and contextual error messages.

HTML5CSS3JavaScriptFormsValidation
Vanilla JavaScript

Interactive Travel Cards

A vanilla JavaScript project that dynamically generates responsive travel cards from an array of objects using DOM manipulation.

HTML5CSS3JavaScriptDOMCSS Grid