Technical challenge · , 2026
Idempotent payments API
A payment API where retries and concurrent requests with the same Idempotency-Key always return the same stored result, without duplicate processing. PostgreSQL is the only source of truth, and integration tests run against a real database.
Node.js, TypeScript, Express, PostgreSQL, React, Vite
Personal project · , 2025
Fintech dashboard
A financial portfolio dashboard with allocation and performance charts, a positions table, and light and dark themes.
Next.js 14, TypeScript, Recharts
Full-stack exercise · , 2025
Task manager
Projects and tasks with JWT authentication and a drag-and-drop kanban board, built as a frontend and backend monorepo from a written requirements spec.
React, TypeScript, TanStack Query, Express, Prisma, MySQL
Technical challenge · , 2025
Seller console
A lead and opportunity console for sales teams: filtering, search, and converting leads with optimistic updates that roll back on errors.
React, TypeScript, TanStack Query, Zustand, Tailwind CSS
Technical challenge · , 2025
Cars insurance
An Angular app to manage insured vehicles, with validated forms, local persistence and an interface that follows the insurer's visual identity.
Angular 18, Signals, TypeScript
Personal project · , 2025
Drink Runner Roulette
A web app that randomly picks who makes the next round of drinks, with participant management backed by a C# .NET API.
Next.js 14, TypeScript, Tailwind CSS, shadcn/ui