depositdirect.net
DepositDirect
A digital deposit guarantee platform. Tenants get a certificate instead of freezing thousands in a bank account. Identity verification, Stripe payments, PDF generation, and 25+ languages, all powered by event-sourced microservices.
Back to ReferencesThe Starting Point

DepositDirect came to us with a simple but powerful idea: why freeze thousands in a bank account when a guarantee serves the same purpose? They needed a platform for the entire process - calculation, identity verification, credit checks, and certificate generation.
The complexity hid behind the simple idea: regulatory requirements at every step, Schufa integration, secure payments and legally compliant PDF certificates in 25+ languages. All of it had to feel as simple as an online order for the end user.
Challenge
Traditional security deposits tie up thousands of euros in bank accounts for years. DepositDirect needed a platform that replaces frozen bank deposits with digital guarantee certificates, handling identity verification, credit checks, payments, and legally compliant PDF certificates across 25+ languages.
Approach
We designed an event-sourced microservices architecture with 8 Go services communicating via ConnectRPC and NATS. A Nuxt 3 frontend handles the customer journey from deposit calculation through identity verification to certificate generation. Stripe processes all payments, and Supabase manages authentication.
Outcome
A production-grade platform with 8 microservices, Stripe integration, Schufa credit checks, and automated PDF certificate generation. Two frontend applications serve tenants and administrators, supporting 25+ languages across European markets.
Two Apps, One Backend
The platform consists of two interconnected applications powered by the same Go microservices backend. Each app serves a different user group with tailored functionality.
Branding & Design System
For DepositDirect, we developed a brand identity that communicates trust, simplicity, and financial reliability. Warm amber tones convey approachability while maintaining the seriousness required for a financial product.
Logo & Wordmark
The DepositDirect logo is a modern wordmark with clean, geometric letterforms. The bold typography communicates stability and trust, while the amber accent color adds warmth and approachability. It works across light and dark backgrounds.
Design System
The design system is built on warm amber tones as the primary accent, complemented by clean whites and neutral grays for backgrounds. shadcn components provide a consistent, accessible interface. The color palette conveys financial trustworthiness while remaining friendly and modern.
Dark Mode
Light Mode
Primary
#316C97
Headline
Aa
PT Serif · Bold · 700
Buttons
Secondary
#D85C2B
Body
Aa
Mona Sans · Regular · 400
Line Weights
1px · Accent
2px · Divider
4px · Section
Icons
Dark
#0A3752
Components
Kautionszertifikat #4821
Modernice transformed our vision of hassle-free deposits into a robust, scalable platform. The event sourcing architecture gives us complete auditability, which is essential in the financial sector.
DepositDirect
Management
Microservices & Event Sourcing
The backend is built on 8 Go microservices using the modernice/goes event sourcing framework. Domain events as the single source of truth, stored in MongoDB, communicated via ConnectRPC (gRPC+HTTP), and distributed through the NATS event bus.
Architecture Decisions
The backend consists of 8 specialized microservices: API gateway, Contract management, Billing, Notification, PDF generation, Auth, Schufa credit checks, and a CLI tool. Each service owns its bounded context with a dedicated event store.
Domain events form the single source of truth: every contract state change, payment event, and verification result is persisted as an immutable event in MongoDB and distributed to all interested services via NATS. This provides complete audit trails essential for financial compliance.
Inter-service communication uses ConnectRPC, which provides both gRPC and HTTP/JSON endpoints from a single Protocol Buffers definition. This enables type-safe communication between services while allowing easy frontend integration.
Frontend
2x Nuxt 3 Apps
Customer application and admin dashboard built with Nuxt 3, Tailwind CSS, and shadcn. Pinia for state management, Stripe.js for payment flows, 25+ languages via Nuxt i18n.
API Gateway
Go + ConnectRPC
Central API service handling authentication, request routing, and frontend communication via ConnectRPC endpoints with both gRPC and HTTP/JSON support.
Microservices
8 Bounded Contexts
Event-sourced services for contracts, billing, notifications, and PDF generation. MongoDB as event store, NATS for event distribution.
Infrastructure
Docker Swarm + GCP
Container orchestration with Docker Swarm. Traefik for routing and TLS, Doppler for secrets, Google Cloud for hosting.
Tech Stack
Core System Features
Deposit Guarantee
Digital deposit guarantee certificates that replace traditional frozen bank deposits. Tenants save liquidity while landlords receive the same security.
Identity Verification
Integrated identity verification flow ensuring regulatory compliance. Document upload, validation, and approval with audit trails for every step.
Payment Processing
Stripe integration for recurring and one-time payments with webhook processing, automated invoicing, and payment status tracking.
PDF Certificates
Automated generation of legally compliant deposit guarantee certificates as PDF documents, ready for landlords and property managers.
Credit Checks
Schufa integration for automated credit assessments during the application process, enabling instant risk evaluation and decision-making.
Notifications
Automated email workflows for contract confirmations, payment reminders, certificate delivery, and status updates across the entire customer lifecycle.
Admin Dashboard
Central management interface for contract administration, identity verification review, customer support, and revenue monitoring with role-based access.
Deposit Calculator
Interactive calculator allowing tenants to instantly see the cost of a deposit guarantee compared to a traditional bank deposit, with transparent pricing.
Deliverables
- 2 Nuxt 3 frontend applications (Customer App, Admin Dashboard)
- 8 Go microservices with event sourcing (modernice/goes)
- ConnectRPC communication (gRPC+HTTP)
- Stripe payment integration with recurring billing
- Supabase authentication integration
- Schufa credit check integration
- Automated PDF certificate generation
- 25+ language support with full localization
- NATS event bus for asynchronous communication
- Docker Swarm infrastructure with Traefik
- Google Cloud deployment with Doppler secrets
- ImmoScout integration for property data
Project Insights
Technical details and key decisions behind the DepositDirect project
Financial products require complete auditability. Event sourcing stores every state change as an immutable event, providing built-in audit trails, regulatory compliance support, and the ability to reconstruct any contract state at any point in time.
ConnectRPC generates both gRPC and HTTP/JSON endpoints from a single Protocol Buffers definition. This means services communicate via efficient gRPC internally, while the frontend can use standard HTTP requests without a separate REST gateway.
The dedicated Schufa microservice handles credit check requests asynchronously. When a tenant applies for a deposit guarantee, the service queries Schufa, processes the response, and emits domain events that trigger the approval or rejection workflow.
Supabase provides a managed authentication service with built-in support for email/password, social logins, and JWT tokens. This reduced development time for auth flows while providing enterprise-grade security out of the box.
A dedicated PDF microservice generates legally compliant guarantee certificates. Templates are rendered with contract data and digitally formatted for both digital distribution and physical printing.
The frontend uses Nuxt i18n with locale-based routing and automatic browser language detection. Translation files are maintained for 25+ languages, and the certificate generation system also supports multilingual output for international markets.
Get in Touch
Now that you've learned about our process, why not take the next step and let us help you take your online presence to the next level? Don't wait – schedule a call with us today and let's discuss how we can give your business the recognition it deserves.