Linkeum Wallet: a multi-currency fintech wallet in 30 days

Shipped a production fintech wallet in 30 days with a 2-engineer team — multi-currency, KYC, 2FA, real-time notifications. Built on Nest.js + Next.js Server Actions over a Turborepo monorepo.

Client
Tropipay (subsidiary)
Role
Full Stack Engineer
Year
2026
Timeline
30 days, blank repo to production
Nest.js Next.js Turborepo PostgreSQL Server Actions JWT 2FA
Linkeum Wallet: a multi-currency fintech wallet in 30 days

Problem

Tropipay needed to ship a production-grade multi-currency wallet for a new subsidiary under a hard deadline: thirty days from kickoff to first live transaction. The product had to support USD, EUR, and crypto operations, with a regulated KYC onboarding flow and the operational reliability that financial events demand. Two engineers were available, including me, plus a project manager.

The challenge wasn’t picking a stack. It was deciding what to NOT build inside the deadline — and what shape the system needed so that the things we did ship wouldn’t be torn down later.

Approach

We chose a Turborepo monorepo with a Nest.js backend and a Next.js frontend, sharing TypeScript types between the two. The decision that mattered most wasn’t the framework — it was deciding to move the real-time notification surface to Next.js Server Actions with optimistic UI, instead of standing up a full WebSocket infrastructure under the deadline.

That choice was non-obvious: most teams default to Socket.io for “real-time” out of habit. For our scope — financial events that the user is already watching for — Server Actions with optimistic updates and revalidation gave us a working surface in a week and zero operational burden afterward. WebSockets would have cost us two days of setup and a year of maintenance.

Loading diagram…
Notification surface via Next.js Server Actions — no WebSocket layer needed

The KYC onboarding was a multi-step form with conditional branches per identity-document type. We built it as a state machine in the frontend (XState) backed by a single resumable session entity in PostgreSQL, so a user dropping off at step 4 could resume at step 4, not start over.

Outcome

Shipped on day 28, two days ahead of deadline. The notification surface has run in production for months with zero pages. The KYC drop-off rate landed below the team’s pre-launch estimate, and the onboarding state machine has absorbed three feature additions without breaking change.

The architectural decision around Server Actions has held up: we never needed to revisit it. That’s the test of a good architectural call — not whether it’s clever, but whether it stays out of the way after launch.

Technologies used

Nest.js Next.js Turborepo PostgreSQL Server Actions JWT 2FA
Visuals

Screens

Keep exploring

More work

A fuel and cooking-gas marketplace for Cuba, with QR pickup
Fuel & Gas · Web + Android · External integration

A fuel and cooking-gas marketplace for Cuba, with QR pickup

Muévete y Cocina turns the daily scramble for fuel and cooking gas in Cuba into an order-ahead flow: browse nearby service centers and live prices, reserve litres or a gas cylinder, pay, and pick up against a QR. Since the team white-labelled it, the same codebase reaches customers under two selling brands, Mercaful and Gasolero. I proposed and built its offline-first Flutter courier app end to end, shipped heavily on the customer web app alongside the company's frontend lead and a designer, and over time took my work into the backend too: delivery evidence, access control, and per-brand legal documents.

Flutter React Router Vite TypeScript
Read the case study
AI News Intelligence — n8n agent over FastAPI + Redis + SvelteKit
Side project · n8n · Agent · RAG

AI News Intelligence — n8n agent over FastAPI + Redis + SvelteKit

Personal side project: an AI agent that orchestrates news data via n8n, serves it through a FastAPI + Redis cache layer, and talks to users through a SvelteKit chat UI. Whole stack containerized with Docker Compose for one-command deploy.

FastAPI Python Redis Docker
Read the case study
Ranfo: digitalizing a vehicle workshop end-to-end
End-to-end ownership · Solo · 3 months

Ranfo: digitalizing a vehicle workshop end-to-end

Sole technical owner of an end-to-end vehicle workshop digitization — Django + Hetzner + Dokploy + Cloudflare. Non-breaking schema migration mid-flight to support multi-currency payments without losing a single record.

Django PostgreSQL Dokploy Hetzner
Read the case study