TammSolutions
Full-stack development
A content-managed website for a Netherlands-based legal firm, built end to end. Public marketing pages, a full admin dashboard, and a contact-and-scheduling flow. Visitors book time and get in touch through a form, every submission lands in the admin panel as a managed list, and transactional email keeps both sides in the loop.
The problem
A law firm needs a site that looks the part, that they can update themselves without calling a developer, and that never lets a potential client slip through the cracks. Off-the-shelf builders don't fit the workflow, and a plain brochure site can't handle bookings. TammSolutions is the full thing: a professional site plus the tooling to run the inbound side of the business.
What it does
Capability | What it means |
|---|---|
Public site | Marketing pages for the firm's services |
Admin dashboard | Manage all content without touching code |
Scheduling & contact | A booking/contact form whose submissions surface as a managed list |
Transactional email | Automated confirmations and notifications |
How it works
The public pages are driven by content managed in the admin dashboard, so the firm edits their own site. When a visitor submits the scheduling or contact form, the submission lands in the admin as a managed list the team can work through, and transactional email fires to confirm and notify. Nothing depends on someone remembering to check an inbox.
Highlights
- Built the full app end to end: public site, admin, and the flow between them
- Self-serve content: the firm updates pages without a developer
- Submissions surface as a managed list, backed by transactional email
Stack
Next.js ·
TypeScript ·
Prisma ·
PostgreSQL ·
Transactional email
Why this stack
Choice | Why | Instead of |
|---|---|---|
Next.js | One framework for the public site and the admin dashboard | a static site plus a separate admin app |
Prisma / PostgreSQL | Content and form submissions model cleanly and relationally | a headless CMS that's overkill for the firm's needs |
Transactional email | Confirmations and alerts that don't rely on a human checking a queue | leaving follow-up to someone remembering to look |
Client work, so it's not about what's fun to build. It's about what the firm actually needs, working every time. That's the whole job.