Next.js 14
App Router application layer, deployed on Vercel.
Case study · Independent product
AI-native incident management and DORA compliance platform for regulated European payment firms.
The problem
The idea came directly from a pain point I experience firsthand in pan-European payments. When a live payment incident hits, the Incident Manager must manage the incident and manually enter data into a ticketing system at the same time, while a regulatory clock is already running.
Under DORA, a major ICT incident must be classified and notified within tightly controlled timelines, followed by intermediate and final reports. In the middle of an active incident, that paperwork competes directly with restoring the service.
DoraIncident closes that gap: declaration, response and regulatory reporting become one connected flow instead of three disconnected ones.
Product approach
The product began as a weekend MVP and evolved around a focused operational loop: alert ingestion, AI-assisted triage, human declaration, automatic ticket creation, a live DORA countdown and AI-drafted root cause analysis.
A purpose-built ticketing core
Instead of adapting an external help-desk product, I built a lightweight internal ticketing system with structured references, automatic creation on incident declaration, enforced status-transition rules and file attachments. The resulting data model is shaped around incident classification and regulatory reporting—not generic support queues.
Architecture & key decisions
App Router application layer, deployed on Vercel.
Postgres, Realtime, Auth and Storage under one platform, with Row Level Security enforcing organization-level data isolation.
Open-weight inference for triage and RCA drafting, preserving a credible future self-hosting path for regulated clients.
A consistent, accessible interface system that supports rapid solo product development.
For a solo build, Supabase combines four backend capabilities that would otherwise need to be assembled and wired separately. More importantly, its database-level Row Level Security is a natural fit for multi-tenant isolation between regulated customer organizations.
Using Llama 3.3 70B through Groq was a deliberate regulated-client decision. An open-weight model provides a credible self-hosting route that can address data-residency and vendor-procurement concerns in a way a proprietary black-box API cannot.
Current extension
The API surface is being extended with a Model Context Protocol server so customer AI agents can query incidents, retrieve DORA reports and manage the ICT third-party vendor register without relying on the web interface alone.
Supabase’s RLS-based tenant isolation carries through to MCP tool calls, so agents respect the same per-customer data boundaries as the application.
Why it matters
DoraIncident is both a live product and evidence that I can take a regulatory-domain problem, make every technical decision personally and ship a working system—not simply sponsor or oversee one.
It connects directly to my day-to-day leadership of incident management and DORA-aligned reporting at enterprise scale, showing the same operational thinking at both individual-builder and organizational level.