CraftedTerms Document-Preparation SaaS
A B2B document-preparation SaaS that pairs a public marketing and SEO site with an authenticated workspace. Customers submit document requests and download finished files; operators work a review queue; admins manage users, roles, and an audit view. Built on Next.js and Supabase.
This is a full B2B SaaS: a public site for acquisition and an authenticated workspace where real work happens across customer, operator, and admin roles, live at craftedterms.com.
Problem
A document-preparation service needs more than a form: it needs accounts, a request intake, a fulfillment queue for the people doing the work, file delivery back to the customer, and admin controls — a full multi-role application, not a single page.
Context
This is a complete SaaS application with a public side and a workspace side, live at craftedterms.com. The public side is a marketing and SEO site rendered from MDX content; the workspace side carries customer, operator, and admin roles.
Inputs
- Customer document requests and uploaded files
- Service definitions and pricing primitives
- Operator handling actions and finished document files
Technical approach
The application is a Next.js App Router project split into a public route group and a workspace route group. The public group serves marketing pages, services, guides, articles, FAQ, pricing, and legal pages from MDX content. The workspace group carries three roles: customers create and track requests and manage files; operators work a request queue with per-request detail and handling views; admins manage users, assign roles, and review an audit view. Auth, accounts, files, operator actions, admin operations, and internal maintenance jobs run through API routes. Supabase provides auth, Postgres, and storage; the UI is built on Radix primitives with a Tailwind component layer, with react-hook-form and Zod for forms.
Stack
- Next.js (App Router) and React
- Supabase (auth, Postgres, storage)
- Radix UI primitives and Tailwind CSS
- react-hook-form and Zod
- MDX content (next-mdx-remote, gray-matter)
What was built
A two-sided SaaS: a public marketing/SEO site and an authenticated workspace. Customers register, submit document requests, track status, manage files, and download finished documents. Operators handle a request queue with per-request views and deliver files. Admins manage users and roles and inspect an audit trail.
Deployment
Live at craftedterms.com.
What can be reused
- Public-site plus authenticated-workspace split in one Next.js app
- Customer, operator, and admin role separation with a review queue
- MDX-driven public content alongside an application backend
Boundaries
- No customer documents, accounts, or credentials are exposed
Explore
Have a process, dataset, or camera footage to work from?


