Skip to content
AtheronLABS

You're visiting from the United States. Prices are shown in US dollars. Not right?

labs@atheron:~/work/team-portal$ cat team-portal.md

The team portal

One back office for everything.

Hiring, pay, invoices, clients, projects, support queues and the community, in one place, on one database. Every screen asks the database who is allowed to see it, so a permission granted once holds everywhere.

Our own buildBack office, one database, many areas

// what it does

  • Runs hiring end to end: vacancies, applicants, scorecards, interviews, offers and onboarding.
  • Holds employment records, and reads the company's legal identity from one record so every document agrees.
  • Keeps the books: invoices, payments, taxes and the rate card our own estimates are priced from.
  • Runs projects and client billing for the Labs studio, with milestones, approvals and timesheets.
  • Answers support from every site in one set of queues, and moderates the community rooms.

// how we built it

  • Permissions live in the database, so a screen, a function and a report cannot disagree about who may act.
  • Every service signs in with its own login and is allowed only what it needs.
  • More than five hundred migrations, applied in order and recorded, so any environment can be rebuilt from nothing.
  • The whole suite, mutation tests and secret scans are re-run by a separate server every few hours.
  • A privacy inventory says how long every column of personal data is kept, and a test fails when one is missing.

// the size of it

applications
Six on one database: the team portal, the members portal, the careers site, the client portal, the sign-in service and the desk console
migrations
More than 500, each applied in order and recorded
test files
More than 370, run before anything is deployed
checks
Suite, mutation tests and secret scans every few hours on a separate server

// stack

  • Next.js
  • React
  • TypeScript
  • PostgreSQL
  • Microsoft Graph
  • Tailwind CSS

// where it stands

Running every day. It is the back office we work in, not a product we sell, and what we learned building it is what we build client back offices with.

// a comparable build

Build
≈ US$236,000 to US$361,000, within 46 weeksCAD 335,700 to 513,500
Hosting
≈ US$344 a monthCAD 490 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

the effort in it

Development
1407 to 2152 h
Frontend developer
305 to 467 h
Product designer
274 to 420 h
Senior frontend developer
183 to 280 h
Senior product designer
183 to 280 h
In all
3258 to 4984 h

what this price covers

A back office of this size as one build: the areas above, the permission model under them, and the migrations and tests that keep it safe to change.

An estimate for a build like this one, worked out from our rate card as you read it. It is not a quote. Yours changes with your scope, and we write a real one after a call.

Open this in the estimator →

// start

Want one built like this?

The same team, the same tests, the same care. Tell us what you need, or price it yourself first.

The team portal: one back office for a whole company | Atheron Network Labs