← All projects
Full-Stack · AI-Assisted Development
LinkinForLife Business Manager
Role-based internal system for inventory, sales, trade-ins, CRM and finance.
- Status
- Prototype
- Year
- To confirm
- Role
- Designer and developer
- Client
- Shared with permission
01
Overview
A role-based web app with admin and staff accounts, covering inventory, sales, trade-in pipeline, CRM, finance reporting, an audit log and JSON backup/restore. It currently runs on seeded demo accounts and data.
- React
- TypeScript
- Vite
- Tailwind CSS
- react-router-dom
- Recharts
02
The challenge
A phone and electronics retailer needed one place for stock, sales, swap/trade-in intake, customer leads and finance, with staff unable to see cost or margin.
03
System requirements
- Inventory for new and swap-in stock, cost and margin hidden from staff, CSV export
- Sales log against in-stock items with auto-computed margin and void for mistakes
- Swap / trade-in pipeline: intake → refurbishing → relist as inventory
- Customer and lead CRM with outcome tracking
- Finance & reports (admin): P&L, revenue / staff / top-seller charts, expenses
- Staff & roles, audit log, JSON backup and restore
04
Solution architecture
Responsibility
React + Vite UI
Single-page app with react-router-dom routes per module.
05
Implementation

Inventory screen as an admin: sale price, cost price and margin columns, stock status filters and CSV export. Seeded demo data. 
Finance and reports screen as an admin: revenue, COGS, profit and expense charts, plus staff performance. Seeded demo data.
06
Technical decisions
- Hide cost and margin from staff accounts while admins see them
- Record every create, update and delete in an audit log with who and when
07
Results and validation
Content needed: measured results with period and method. Never estimated.
Evidence
- Project README documents modules, roles and seeded demo accounts.
08
Lessons learned
Content needed: what you would do differently
Content checklist (remove once filled)
- A staff-role screenshot showing cost and margin hidden, and a mobile view
- Year, and whether it is live or demo-only
- Permission to name the client
- Where data is stored in the deployed version
09