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 References
Project Overview

The Starting Point

European apartment building — the housing market DepositDirect serves

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.

01
Step 1

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.

02
Step 2

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.

03
Step 3

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.

8
Microservices
2
Frontend Apps
25+
Languages
8+
Docker Services
Platform

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.

Brand Identity

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.

DepositDirect logo on dark background
DepositDirect logo on light background

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.

DepositDirect Logo

Dark Mode

DepositDirect Logo

Light Mode

Primary

#316C97

#F4FBFF
#BDE1FB
#87C4EF
#5DA4D7
#316C97
#0A3752

Headline

Aa

PT Serif · Bold · 700

Buttons

Secondary

#D85C2B

#FFEBE3
#FBCFBD
#F79872
#D85C2B
#BA491D
#7D2705

Body

Aa

Mona Sans · Regular · 400

Line Weights

1px · Accent

2px · Divider

4px · Section

Icons

Shield
Document
Money
Key
Check
Building

Dark

#0A3752

Components

Kaution suchen...
Gesichert Ausstehend Entwurf

Kautionszertifikat #4821

100%
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

DepositDirect

Management

Technical Architecture

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.

API Gateway
Contract
Billing
Notification
PDF
Auth
Schufa
CLI

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.

1

Frontend

2x Nuxt 3 Apps

Nuxt 3Vue 3Tailwind CSSshadcnPiniaStripe.js

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.

2

API Gateway

Go + ConnectRPC

GoConnectRPCSupabase AuthJWT

Central API service handling authentication, request routing, and frontend communication via ConnectRPC endpoints with both gRPC and HTTP/JSON support.

3

Microservices

8 Bounded Contexts

ConnectRPCMongoDBNATSgoesEvent Sourcing

Event-sourced services for contracts, billing, notifications, and PDF generation. MongoDB as event store, NATS for event distribution.

4

Infrastructure

Docker Swarm + GCP

Docker SwarmTraefikDopplerGoogle Cloud

Container orchestration with Docker Swarm. Traefik for routing and TLS, Doppler for secrets, Google Cloud for hosting.

Tech Stack

Nuxt 3 + Vue 3
Go 1.23
ConnectRPC (gRPC+HTTP)
MongoDB (Event Store)
NATS (Event Bus)
Tailwind CSS + shadcn
Pinia (State)
Stripe.js (Payments)
Supabase (Auth)
Docker Swarm
Traefik
Google Cloud + Doppler
Platform Features

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
0
Microservices
0
Frontend Apps
0
Languages
0
Docker Services

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.