Selected work

Team project · December 2023 — May 2024

Goose Hub

A responsive movie and series streaming platform built by a six-person team, with my contribution spanning frontend work and the backend systems around user profiles, authentication, and messaging.

Role
Full-stack team contributor
Context
Movie and series streaming platform
Stack
React · Redux · ASP.NET Core · Docker · MariaDB · MongoDB · RabbitMQ
Timeline
December 2023 – May 2024

Making one contribution boundary explicit.

Team projects can become vague portfolio claims. This project separates the overall platform from the parts I personally implemented or supported.

The team problem

The project required a responsive interface and a backend capable of handling user identity, profile data, authentication, and communication between parts of a full-stack streaming platform.

My responsibility

I implemented the user-profile API and its CRUD operations, contributed to JWT authentication, and worked with MongoDB and MassTransit-backed messaging while also supporting the React frontend.

Source boundary

The visual below is a project presentation asset supplied by the team. It demonstrates the interface direction rather than a live public deployment. No repository or live-demo link is shown because neither is publicly verified.

A tangible view of the product.

The presentation captures the dark, Ukrainian-localized catalog experience and the transition from browsing titles to viewing title details and community discussion.

Layered Goose Hub interface presentation showing a Ukrainian-language movie catalog, title details, and discussion comments
Interface presentation from the project’s design materials. It represents the team’s product direction, not a live public service.

A full-stack flow with clear responsibilities.

The profile experience crossed the browser, authenticated API boundaries, persistent user data, and asynchronous messaging.

Engineering decisions behind my contribution.

The work combined conventional API design with security and messaging concerns that had to fit the wider team architecture.

Give profiles an API boundary

CRUD operations made profile behavior explicit and gave the frontend a consistent contract for creating, reading, updating, and deleting user data.

Protect access with JWT

JWT authentication connected identity to protected profile operations and kept authorization concerns visible at the service boundary.

Use messaging for coordination

MassTransit and RabbitMQ supported communication between backend components without presenting synchronous calls as the only integration path.

The strongest outcome was learning to own a defined subsystem while building inside a shared architecture.

The team completed the platform in 2024. My contribution delivered the profile-management API and supported authentication, data, messaging, and responsive frontend work.

The project strengthened my understanding of collaborative full-stack development: contracts, reviews, integration decisions, and communication matter as much as the code inside one service.

Explore the first projectUniversity App