
Course platform: storefront and workspaces
A Next.js course catalogue plus an LMS for students, teachers and administrators
- Next.js
- App Router / RSC
- React
- TypeScript
- +8
A redesigned student workspace: real-time chats, native notifications, two builds
Details and code are covered by an agreement: I describe the problems and solutions without exposing internals.

The workspace from which a student reaches every university service: schedule, courses, library, finance, internships, portfolio. I took part in the redesign and the move to a modern stack, and built WebSocket chats and the notification system including native push.
Context
The platform brings everything a student needs into one workspace: schedule, courses and materials, the digital library, finance, internships, the thesis, surveys and messaging with teachers.
The project went through a redesign and a stack change: the interface is built on modern React with a typed router, server state is handled by a caching query layer, client state by compact stores.
Problem
The difficulty is real time. Chats and notifications must arrive instantly, while the connection has to survive a sleeping tab, network loss and profile switching.
The second difficulty is volume. An active student has dozens of conversations and hundreds of messages, and a naive chat list render noticeably degrades on mobile devices.
The third is two clients. Desktop and mobile differ in interface but not in domain logic, and duplicating authentication, notification and request rules between them would lead straight to drift.
Solution
Chats and notifications arrive in real time, including when the tab is closed. Long lists stay responsive, and the rules for desktop and mobile are described once.
Outcome
The workspace got live chats and notifications that reach the user even with the tab closed, and lists stopped lagging on long histories.
For me this is the most modern stack among my work projects: a typed router, a caching query layer and schemas at the data boundary together produce noticeably fewer runtime surprises than the usual store-plus-manual-requests combination.


A Next.js course catalogue plus an LMS for students, teachers and administrators
Taking a course: longreads, webinars, drag-and-drop tests, GPT hints on selected text

Streamed answers, step-and-condition templates, conversation branching, file uploads