Back to Portfolio Case Study

One Portal. Three Payment Gateways. Zero Passwords.

A self-service business portal that handles authentication, payments, and content delivery from a single VPS. No SaaS subscriptions, no per-seat fees, no vendor lock-in.

Client relationships should not live in email threads

Managing clients through email threads and manual invoicing wastes hours every week. Files get lost. Invoices get forgotten. Payments require follow-up. The admin work scales linearly with every new client, and none of it is billable.

A portal that handles the whole client relationship

Authentication, payments, content, and files in one place. Self-hosted and fully owned.

Passwordless Auth

Magic link authentication. No passwords, no resets, no friction. Clients are in within seconds with nothing to forget or reset.

Multi-Gateway Payments

Stripe for card payments, cryptocurrency payment processing for clients who prefer it, and a third payment gateway option for flexibility. Clients pick their preferred payment method at checkout.

File Management

File management system for deliverable handoffs. Clients access project files organized by project without sending a message. Self-hosted on a single VPS with no vendor lock-in.

Notion Integration

Blog content and client documents synced from Notion. 20+ block types rendered natively. Author in Notion, publish automatically.

Self-Hosted Infrastructure

Runs on a single VPS behind Caddy. No managed services, no per-seat pricing, no surprise bills. The entire portal is owned outright.

How it connects

One system handles auth, payments, content, and file delivery. No third-party dashboards to manage. No per-seat pricing.

CLIENT Browser diazovate.com Portal Frontend + API SERVICES Auth Service Magic link + JWT Stripe Card payments NOWPayments Crypto payments Notion Blog + documents n8n Workflow automation PostgreSQL + PostgREST + Caddy Single VPS | TLS | Reverse proxy | Docker

What changed

Zero Client "can you resend that?" emails
Zero Passwords to manage or reset
Zero Third-party subscriptions required

Clients log in with one click and pay however they want. Documents update automatically from wherever your team writes them. The admin work that used to scale with every new client just stopped.

The stack

Frontend
JavaScript HTML/CSS
Backend
PostgREST PostgreSQL Node.js
Payments
Stripe NOWPayments PayPal
Integrations
Notion API n8n
Infrastructure
Caddy Docker Linux VPS

The portal

Screenshots coming once content is finalized.

Customer Dashboard

Screenshot coming soon

Invoice View

Screenshot coming soon

Need a client portal that actually saves you time?

Self-hosted, multi-payment, zero-password. Built to run on a single VPS. dan@diazovate.com

Book a Call 30-minute call. No pitch deck.