spark-it solutionsspark-it
Business Manager
Web

Business Manager

Internal business management app for tracking inventory, clients, and quotations in one place.

Objective

The Goal

Build a private internal business management app to centralise day-to-day operations - inventory levels, client records, and outgoing quotations - in a single dashboard instead of scattered spreadsheets.

Challenge

The Problem

Stock counts, client information, and pricing all needed to stay in sync so that a quotation always reflected accurate, current inventory and pricing, without staff manually cross-checking multiple sources before sending it out.

Solution

How We Solved It

A React + Tailwind CSS dashboard backed by Supabase (PostgreSQL) as the single source of truth - inventory, clients, and quotations are all relational tables, so stock and pricing update once and reflect everywhere they're used.

What We Built

Key Features

Inventory Tracking

Live stock levels per item, with quantities updating as items are used in quotations.

Client Directory

Centralised client records with contact details and quotation history per client.

Quotation Builder

Build itemised quotations by pulling directly from live inventory and pricing, avoiding manual re-entry.

Dashboard Overview

At-a-glance view of stock levels, recent quotations, and client activity.

Role-Based Access

Supabase Auth restricts the dashboard to authorised staff only.

Outcome

Results

Internal toolType
Inventory · Clients · QuotationsCore Modules
Single relational Postgres backendData Source

Lessons Learned

Tying quotations directly to live inventory data eliminated the most common source of pricing errors - staff no longer had to check a separate stock sheet before quoting a client, since the numbers were already connected.

Built With

Tech Stack

frontend
ReactTailwind CSSTypeScript
backend
SupabasePostgreSQLSupabase Auth
infrastructure
Supabase Cloud