Client
Benjamin C. Wenzel Specialist Criminal Defense Attorney (Fachanwalt für Strafrecht), Berlin www.anwalt-wenzel.com
Status
Platform built and launched from scratch, with ongoing SEO and public content operations
The brief was never 'build an attorney website'.
Criminal defense runs on trust under pressure. Publicly, the site has to project expertise, clarity, and an immediate way to reach the attorney. Behind the login, the platform has to carry inquiries, document exchange, internal review, deadlines, agreements, billing status and highly sensitive client communication.
So we built one connected product system: public information and service pages for discovery and trust; guided intake for new inquiries; a protected client portal; an internal workspace for the firm; and matter-linked documents, tasks, agreements and traceable state changes.

A custom platform for a criminal defense practice where public discovery flows straight into controlled matter handling: legal website, structured intake, protected client portal, internal workspace, document workflows, billing status and traceable matter events — one system on both sides of the login.
01
Structured intake: guided questions, registration or login, and a personal client portal
02
Authenticated client workspace tied directly to the live case record
03
Internal dashboard for staff and attorney: new cases, unread messages, deadlines, tasks, case activity
04
Managed case entities for document requests, client tasks, consultations, agreements, billing state and traceable events
05
Role-based product logic across client, staff and admin flows
The platform links inquiry, professional review, mandate acceptance, matter handling and billing status. Submitting an inquiry does not itself create an attorney-client relationship.

For clients, there is one clear path from first inquiry to an accepted matter: submit structured information, create protected access, upload documents, see status and requested next steps, respond to the firm's requests, and view consultations and agreements.
For the firm, every case behaves like a managed unit of work — case review, conflict-check status, deadlines, office tasks, document requests, internal notes, client activity, mandate onboarding, agreements, billing state, and a close/archive lifecycle.
01
Structured intake with guided questions instead of unstructured lead capture
02
Authenticated client portal connected to live case state
03
Case messaging, document exchange and managed client tasks
04
Consultation requests and scheduling with separate acceptance by the firm
05
Mandate onboarding, agreements, invoices, payment requests and status tracking
06
Notification layer driven by database state rather than fragile UI state
The public site is a core part of the platform, not a marketing shell around it. Its pages combine legal information, local discovery and direct contact routes for people who often need help urgently.







Next.js App Router, Neon Postgres and Prisma form the foundation, with Neon as the single source of truth for case records, documents, messages, tasks, consultations, agreements, billing state and traceable workflow events.
01
Next.js App Router for public, authenticated and internal product flows
02
Neon Postgres + Prisma for case, workflow and access data modelling
03
External object storage for files, with metadata and permissions handled in the database
04
Role-based route protection and case-level access checks
05
Payload validation and explicit flow separation for client, staff and admin actions
06
Activity logging for sensitive workflow state changes
The decisive architectural call: business logic and traceability live in the product layer, and files are managed assets — never the system of record.

A system holding legal matter data cannot treat access design as an afterthought. The model is a controlled access hierarchy for clients, staff and admins — not a generic website account area.
01
Email verification code flow for user access
02
Password recovery and password-change workflows
03
Soft-delete profile removal
04
TOTP second factor for staff/admin accounts with recovery codes
05
Case access validation by role and relationship to the matter
06
Activity records for sensitive actions and workflow state changes
Day-to-day matter handling runs on explicit product entities and controlled state transitions inside the internal workspace.
01
Formal review layer for new matters
02
Conflict-check entity
03
Client tasks and office tasks
04
Deadline management and timeline events
05
Admin dashboard and notification logs
06
Billing state and mandate state
07
Close/archive lifecycle for every case
The platform carries the full path — from inquiry through explicit mandate acceptance to structured matter handling in the firm's own system.
The hard design problem: making the authenticated product layer feel native to a criminal-defense brand instead of a generic SaaS tool bolted onto a law firm's site.
01
One visual language across public pages, intake, authentication, client portal and internal screens
02
Calm, restrained interface aligned with legal trust expectations
03
Clear workflows for users in urgent or emotionally difficult situations
04
Operational density for staff without losing clarity
05
Shared interface patterns between client-facing and internal tools
Selected product screens from the intake, client portal, internal workspace and operational case management layer.












The finished platform joins the firm's public presence to protected workflows for accepted defense matters.
A prospective client gets a clear route for an urgent inquiry. Once the firm reviews and accepts the mandate, protected matter information and next steps open up. The firm, in turn, manages inquiry review, documents, deadlines, billing status and matter history in one system.
That is well beyond lead generation: public information, inquiry, explicit mandate acceptance, client access and internal matter handling connected through one product architecture.
Live domain: www.anwalt-wenzel.com
