Portfolio logo
Inventory System
Professional ExperienceBusiness System

Inventory & Spending Control Platform — Automatic Rules for Teams and Departments

A product distribution platform where companies decide exactly who can order what — and how much they can spend. The rules apply automatically. No admin has to check, approve, or chase anything manually.

Full-stack developer — built the access rules engine, portal setup workflow, and bulk product tools

8,000+

Products managed across the platform

3 levels

Spending rules by category, subcategory, or individual item

Per-group limits

Every team gets its own budget and product access

Automatic

Rules enforce themselves — no manual admin work

Key highlights

  • 8,000+ products with automatic spending and access rules per team
  • Three-level budget enforcement — category, subcategory, and individual product
  • Business rules update in the platform — no developer needed for rule changes

Data layer

MongoDB

Node.js + Express (TypeScript)

System Preview

System preview

Problem

When a company shares products or a budget across multiple teams, someone always takes more than their share. Other teams get less than they need. Managers spend time policing what should be automatic. The harder version: different teams need different rules. One department gets a higher budget. Another can only order from certain categories. These rules have to work at the same time, for every team, without anyone managing them day to day.

Solution

Built a platform where the company sets the rules once — which teams can order which products, and how much they can spend — and the system enforces everything from that point on. No team can exceed their limit. No team can see products they're not allowed to order. Nothing crosses between groups. Vendors can set up multiple portals, each with its own rules and product catalog. Spending limits can apply broadly across a category or drill down to a specific item. When the business wants to change the rules, they update them in the platform — not in a database.

Features

Capabilities & System Features

Security & Auth
Approval workflows — set orders to require sign-off, or allow open access
Data & Storage
Bulk product upload and editing for large catalogs
CSV import and external data connections
Users & Tenancy
Spending limits by team, category, subcategory, or individual product
Each team only sees the products they're allowed to order
Automation & Jobs
Automatic enforcement — limits apply without any admin involvement
Core
Multiple portals — each vendor or department gets its own configured environment
Flexible budget resets — monthly, yearly, or based on joining date
Required add-ons auto-bundle with products at checkout
Draft and publish — test a portal before going live

Engineering challenges

Complex problems solved

01

Spending Rules That Work at Three Levels at Once

Problem

A team might have an overall budget for a category, a smaller sub-budget within it, and a specific limit on one particular item. All three need to apply at the same time — and when a team hits a lower limit, it should automatically fall back to the next level up. One team's spending can never affect another team's budget.

Solution

Built the rules engine so all three levels check in order — specific item first, then subcategory, then overall category — with automatic fallback built in. Every team's budget is completely isolated. One team's orders have no path to affect another's limit.

Impact: 8,000+ products now enforce spending rules automatically. What used to require manual admin oversight now runs on its own. Changing or adding a rule type doesn't require touching the product database.

02

Teams Only Ever See What They're Allowed to Order

Problem

If a team can see a product they're not allowed to order, trust is already broken — even if the order eventually gets blocked. Access control can't just be a warning at checkout. It has to happen before the product ever appears on screen.

Solution

Built the product display so it filters based on the team's access rules before anything reaches the screen. The configuration interface also only shows valid options when vendors are setting up rules — so invalid setups can't be created in the first place.

Impact: Teams only see products available to them. Vendors configure with confidence. No accidental access, no cleanup needed after rollout.

03

Required Add-Ons That Don't Throw Off the Budget

Problem

Some products must include a mandatory accessory — it can't be ordered without it. But if the accessory counts against the team's spending limit, people hit their budget faster than expected and the numbers stop making sense to anyone looking at reports.

Solution

Built add-ons so they automatically bundle with the main product at checkout, but are excluded from the spending limit calculation. The budget tracks what the business actually cares about — the main product — not the system-required extras.

Impact: Orders include required items automatically. Budget numbers stay accurate and trustworthy. No one hits their limit unexpectedly because of a system-required attachment.

04

Changing the Rules Without Calling a Developer

Problem

Business rules change. A team gets a bigger budget. A new product category gets added. If every rule change requires a technical database update, the business is always waiting on a developer to make simple adjustments.

Solution

Built the rules engine so all the logic lives in the application layer, not the database. Changing a rule means updating the platform — not running a database operation. The 8,000+ product catalog doesn't need to be touched when business rules change.

Impact: The business updates spending rules, access levels, and category structures without a developer involved. Changes go live immediately.

Architecture

System structure

Frontend

React (TypeScript, complex multi-step form handling)

Backend

Node.js + Express (TypeScript)

Database

MongoDB

Technologies

Tooling used

ReactTypeScriptNode.jsExpressMongoDBREST API

Need something similar built?

Describe your system — the workflow, the users, the constraints. I'll respond with what it would take to build it properly.

Send your project brief