Skip to content

AstraCore OS

The system our own remote team runs the company on: projects and tasks, HR and leave, finance, compliance deadlines and documents, behind one sign-in.

Status

In daily use by our team

What it is

Internal operations platform

Built with

  • React 19
  • Vite
  • Node.js
  • Express 5
  • Prisma
  • PostgreSQL
  • Cloudflare R2
  • ClickUp API

Related services

The problem

A remote team working across several projects had its work spread over a task tool, spreadsheets, chat threads and shared folders. Approvals waited on whoever remembered them, nobody could see workload at a glance, and legal and tax deadlines depended on someone keeping a calendar up to date.

What we built

  • Projects and tasks with kanban boards, checklists, comments, attachments and an activity trail
  • Two-way task sync with ClickUp, so the team could move over without a hard cut-off
  • Role hierarchy from founder to staff, with each screen and API action checked against the role
  • Leave requests, balances and approvals; performance reviews and bonuses
  • Invoices with automatic numbering, and a finance summary
  • Clients and deals pipeline
  • Daily stand-ups, KPIs per department, and SOPs with read tracking
  • Compliance tracker for legal and tax deadlines
  • Guided onboarding checklist for new team members
  • Document storage, notifications and an audit log of major actions
  • Google sign-in alongside email and password, with password reset
How it works
  1. 01

    Sign in

    Short-lived access token plus a refresh cookie; Google or email.

  2. 02

    Role check

    Every request is authorised on the server against the user’s role.

  3. 03

    Module

    Tasks, HR, finance, compliance and the rest share one database.

  4. 04

    Audit

    Major actions are written to an audit log as they happen.

  5. 05

    Notify

    The people who need to act see it in their notifications.

Decisions worth explaining

Sync with the old tool instead of a hard switch

Tasks sync both ways with ClickUp, so people could keep working while the team moved across. Replacing a tool everyone depends on in one day is how adoption fails.

Permissions enforced on the server

Hiding a button is not access control. Each API route checks the role itself, so finance and HR data stay with the people allowed to see them.

Built around Kenyan rules

Leave and compliance were set up for how a Kenyan company actually has to operate, rather than adapted from a generic HR template.

Start Here

Tell us what you want to build or fix.

Three things are enough: your name, how to reach you, and the problem in your own words. You don’t need to know which service you need.

We use these details only to reply to you and, if we work together, to manage that work. Privacy notice