Skip to content
Enzo Monzon
All projects

Project 1 of 4:Internal Operations Platform

In DevelopmentYear 2026

CinnabyteHQ

A centralized workspace for managing internal operations.

CinnabyteHQ is an internal operations platform that centralizes requests, approvals, and ongoing work into one structured workspace. It is a full-stack web app with its own REST API and a PostgreSQL database.

GitHub (opens in a new tab)Live demo — No live demo yet

Status: Runs locally against a Supabase-hosted PostgreSQL database with seeded demo data. Authentication is the next milestone.

4 screenshots

Problem & solution

Problem
Small teams often track internal requests, sign-offs, project work and tasks across scattered tools, which makes it hard to see what is waiting on whom and what changed.
Solution
One workspace where every request follows an explicit workflow. Categories that need sign-off are routed to an approver automatically, and every change is written to an activity log. The server-rendered UI and the REST API share the same workflow rules, so the interface never offers a step the API would refuse.

Technologies

7 technologiesAll implemented

  • AstroServer-rendered pages and API routesImplemented
  • TypeScriptStrict mode across UI, API and servicesImplemented
  • PostgreSQLHosted on SupabaseImplemented
  • REST APIAstro API routes with a JSON envelopeImplemented
  • Node.jsServer runtime via the Node adapterImplemented
  • ZodStrict request validationImplemented
  • Tailwind CSSImplemented

Architecture

Request lifecycle

  1. Astro UI

    Pages · server islands · TS scripts

    Implemented
  2. REST API

    API routes · Zod validation

    Implemented
  3. Service layer

    Workflow · approvals · activity log

    Implemented
  4. PostgreSQL

    Supabase · migration + seed

    Implemented
Pages and server islands call the same REST API the browser uses; only the service layer talks to the database.

Engineering notes

  • One workflow, enforced twice

    A single workflow module defines the allowed status changes. The API rejects invalid transitions with 409 Conflict, and the UI uses the same rules to disable them.

  • Approvals that can’t race

    Decisions only apply while an approval is still pending, and a partial unique index guarantees one pending approval per request.

  • Integrity in the schema

    Enums, length and range checks, deliberate foreign-key delete rules and updated_at triggers are defined in the PostgreSQL migration.

  • A strict API contract

    Every endpoint validates input with strict schemas and returns a consistent data/error envelope with mapped HTTP status codes.

Key technical concepts

  • Workflow state machine
  • Category-based approval routing
  • Layered service architecture
  • Schema-level integrity
  • Input validation
  • Server islands
  • Activity / audit logging

Scope

Built06 items

  • Requests: create, filter, search, comment and move through review
  • Approvals routed by category, with approve / reject decisions
  • Projects and tasks with progress and optimistic task updates
  • Activity log and an overview dashboard computed from the database
  • Command palette search and keyboard shortcuts
  • Light and dark themes with a responsive layout

Planned04 items

  • Authentication and row-level security policies
  • Real-time updates
  • Automated tests and CI
  • Public deployment

Have a question about this project?

I’m happy to walk through the decisions behind it.

Open to internships & collaborations