sbinabdullah/quaro

A platform for open-pit mine planning and optimization, enabling mining operations to model geology, optimize extraction schedules, and evaluate economic outcomes.

★ 2Forks 0PythonGitHub ↗Compare

README

Quaro MVP

Quaro is a browser-based MVP for open pit planning from existing block models.

Workflow:

  • upload a CSV block model and map required fields
  • compute an economic block model from price and cost assumptions
  • run ultimate pit optimization or nested pit shells at multiple revenue factors
  • inspect bench-by-bench reporting, grade-tonnage curves, and scenario comparisons
  • export pit blocks, shell geometry, and summary metrics
Pit optimization & scenario comparison Bench reporting & grade-tonnage curve
Nested shells with revenue factor slider Full model with nested pits

Repo Layout

  • backend/ - FastAPI API and optimization logic
  • frontend/ - React + Three.js UI
  • data/ - local project storage generated at runtime
  • MVP_DESIGN.md - MVP design document

Backend

Run the API:

uv run uvicorn backend.app.main:app --reload

API base URL:

  • http://127.0.0.1:8000

Run tests:

uv run python -m pytest backend/tests

Frontend

Install dependencies:

cd frontend
npm install

Start the dev server:

npm run dev

Frontend URL:

  • http://127.0.0.1:5173

Sample Data

A small example block model is included at backend/sample_block_model.csv.

Suggested field mapping:

  • x -> x
  • y -> y
  • z -> z
  • grade -> grade
  • tonnage -> tonnage
  • dx -> dx
  • dy -> dy
  • dz -> dz
  • rock_type -> rock_type
  • bench -> bench

Notes

  • The MVP assumes regular block models.
  • Pit optimization is a first-pass regular-grid ultimate pit solver designed for MVP speed, not final production-grade reserve workflows.
  • Rendering is optimized for preview and demo use, with a practical UI target of moderate model sizes.

Contributors

sbinabdullah

Issues