Case study · 02
OpsCore
Operational incident management
A collaborative product for reporting, assigning, resolving and analyzing operational incidents through role-specific workflows.
- Role
- Frontend Developer
- Context
- Collaborative No Country simulation
- Scope
- Frontend flows and REST API integration
- Status
- Operational MVP
- Next.js
- React
- JavaScript
- Tailwind CSS
- Django REST API
- Vercel

01 · Context
One incident, different responsibilities.
OpsCore was built as a collaborative product for operational teams. Its main interface challenge was not simply displaying incidents, but presenting the correct actions and information for each role.
Operators report incidents, supervisors follow and assign them, technicians resolve them and managers analyze operational causes and weekly information.
02 · Frontend scope
Role-aware interfaces connected to a real API.
My contribution focused on frontend delivery and integration with the Django REST API owned by the backend team.
- 01Login flows and protected navigation.
- 02Interfaces and available actions determined by user role.
- 03Incident creation, tracking, technician assignment and resolution.
- 04Notifications, dashboard views and root-cause workflows.
- 05Responsive navigation and mobile production corrections.
03 · Technical decisions
Authentication moved out of browser storage.
The authentication flow was migrated from local storage to an HttpOnly cookie-based session. The frontend then consumed session state through protected routes and server-aware requests instead of treating browser storage as the source of truth.
API integration also required resolving production differences between desktop and mobile login behavior while preserving the backend contract.
Product gallery
The incident lifecycle, seen from each role.
Reporting, supervision and resolution views show how the interface adapts information and available actions to each operational responsibility.
04 · Team delivery
Small changes integrated through a shared workflow.
The product was delivered through Git branches, pull requests, functional testing and coordination with the backend team. My work remained scoped to frontend behavior and the integration boundary rather than claiming ownership of the Django implementation.