Built for a UK services business. Client and admin portal.
Sanco Services: a jobs, quotes and invoicing portal
A private admin portal and public website for a small owner-run business, replacing paper and messages for quotes, invoices, jobs and customers.
At a glance
- Organisation
- A small, owner-run services business in the UK
- What was built
- Website with lead capture, plus a private admin portal and no-login customer links
- Built by
- The studio’s founder, before Tibyan Labs was formed
- Status
- Built
- Built with
- Next.js, React, TypeScript, Tailwind CSS, Supabase (Postgres), Resend, Vercel

The situation and problem
Sanco Services is a small, owner-run business. Small firms like this often keep their paperwork in phone messages, notebooks and one-off documents: who the customers are, which jobs are booked, what has been quoted, what has been invoiced and what is still unpaid. The portal was built so the owner can answer simple questions quickly, such as who owes money and whether a customer has accepted a quote, and send professional paperwork from a phone.
What was built
- A public website with a contact form that saves every enquiry, so a lead is never lost in a message thread.
- A private admin portal for the owner, built to work well on a phone. It holds customers (including customers with more than one address), jobs with status and a work log, quotes, invoices, payments and enquiries.
- Numbered quotes and invoices that are produced as PDF documents and can be sent by email or by a ready-made message link.
- Customer links that need no account. A customer opens a private link to view or download an invoice, or read a quote and accept it with one tap. A quote turns into an invoice in one step.
- A dashboard showing money owed, today’s jobs and recent activity.
- Editable settings for business details, payment terms and reusable line items.
How it was built
The portal sits behind email sign-in restricted to an approved list of administrators. The database allows access only through the application, with row-level security switched on for its tables. Customer links use long random tokens that are stored only in scrambled form, and invalid links give no clue about whether a document exists. Public actions are rate limited, and the portal keeps an audit trail of important changes. Invoice numbers are allocated by the database, so a double tap cannot duplicate one. Entries are checked on the server before saving. The build log records rounds of browser testing and code review.
What it shows a prospective client
Sanco shows what a modest, focused business system looks like: affordable, clearly scoped and built around how the owner works. It is the studio’s example of replacing a spreadsheet and message threads with software for quotes, invoicing and customer records, alongside a public website and private back office.
Current status
The portal and website are built and deployed. The latest build record is dated May 2026 and lists set-up steps before full production use, such as verifying the email domain and enabling two-step sign-in. Day-to-day use is not confirmed, so none is claimed. The portal has no automated test suite yet.
Facts
- The database has 19 migrations, with row-level security enabled on its tables.
- Quotes and invoices each have their own number sequence, allocated by the database.
- Customer links work without an account and are protected by random tokens and rate limiting.
- The admin portal covers customers, jobs, quotes, invoices, payments and enquiries.
- No customer, pricing or banking information appears in this case study.
Selected screens
Each caption says what the screen shows and when it was captured. An organisation or place shown on them does not endorse Tibyan Labs.



Inside the system
These screens use invented demo data, not real customers, jobs or payments.




What this means for your project
If you need something similar, see portals and internal systems for packages and prices.
Related: Tahawi Institute