Umova — used technologies
Next.js and Go on AWS, with e-invoicing and open banking wired into the numbers a deterministic backend computes.
Cloud & deployment
- AWS LambdaFrontend served as a container image via the AWS Lambda Web Adapter — no server to patch.
- AWSRuntime for the Go backend and its data stores.
- CloudFrontEdge caching and TLS termination.
Frontend
- Next.js, React, TypeScriptApp Router, server components, standalone build.
- Tailwind CSSUtility-first styling.
- next-intlMulti-language product with translation completeness enforced in CI.
Backend
- GoEvent-driven backend, deterministic financial computation — amounts, dates and interest are never computed by a language model.
- PostgreSQLSystem of record, accessed directly via pgx — no ORM.
- AWS LambdaBackend deployed as a container image, same pattern as the frontend.
- OpenTelemetryTraces and metrics exported via OTLP.
- WebAuthn & step-up authPasskey-based login, with a stronger challenge required for sensitive actions.
- Transactional outboxReliable event delivery from the database to downstream consumers.
Payments & banking
- Revolut Merchant API, PayUCard payments.
- EnableBankingOpen banking integration for account verification and payment reconciliation.
- KSeFPoland's national e-invoicing system — certificate-based auth, invoices validated against the official FA(3) XSD schema.
Compliance & AI
- AWS Bedrock, AWS TranscribeAI-assisted evidence generation and transcription — kept out of the financial computation path by design.
- Automated legal-text ingestionOfficial regulatory publications parsed to feed compliance checks.
- EU data residency gateCI check blocking non-EU regions and AI models outside an EU profile.
Quality & security
- Vitest, PlaywrightUnit and end-to-end testing.
- govulncheck, gofmt, go vetGo toolchain and vulnerability scanning in CI.
- Cloudflare TurnstileBot protection on public forms.
- Cross-repo contract testsFrontend tests read the Go backend's source to stay honest about the API it actually exposes.
- Dependency & vulnerability scanningBlocking gate in CI for production dependencies.
- Dead-code & robustness gatesAdditional CI checks beyond tests and linting.