← Selected work

Hackathon · Business software

Astra ERP

A collaborative business-management prototype for inventory and operations.

My roleCo-built the FastAPI backend and React/TypeScript interface with Joseph Khemmoro and the team.

Finalist & invited presenter · Google IBM AI Hackathon

Explore the workflow

Interactive walkthrough

From stock levels to a reviewable order draft.

Change an item's quantity to see how inventory state affects a replenishment decision.

Synthetic inventory item

Select a stage to inspect its role in the workflow.

Step 4: Review the order. Review before leaving the workflow.

Sample business / InventoryLow

Packing boxes

5On hand
20Minimum
Illustrative replenishment draft
Packing boxes15 units

A shortfall is a prompt for review, not a placed order.

Human review

Inspect quantities → compare suppliers → decide

Step 04 / Inspect

Review before leaving the workflow.

A stock signal and suggested quantity support a human decision. The repository provides supplier search links; those are not a completed checkout or a live price quote.

Draft item: Packing boxes
Suggested units: 15
Supplier price: not fetched
Order submitted: no

Packing boxes: Low. The illustrative shortfall draft contains 15 units for review.

Synthetic inventory using the documented stock rules. This draft calculates shortfall; supplier search and submission are not executed.

Inventory implementation

Results

  • Finalist and invited presenter at the Google IBM AI Hackathon.
  • The team's source repository documents the application and setup.
Engineering details

Small businesses often manage inventory and operations across disconnected tools. We explored a single interface for those workflows within a hackathon.

01

Connect the workflows

A React/TypeScript frontend and FastAPI backend present business data in one multi-tenant demo.

02

Build a working prototype

Supabase/PostgreSQL supports the data layer, with IBM WatsonX used for AI-assisted features. The project was built collaboratively under event constraints.