A local-first, offline inventory, recipe, and bookkeeping app for small bakeries — built in Rust as a full-featured portfolio project.
This app is designed to:
- Track ingredients and inventory
- Save and scale recipes
- Log sales and expenses for basic accounting
- Work entirely offline, storing data locally using SQLite
- Be packaged into a desktop app (GUI coming after MVP)
| Component | Technology | Notes |
|---|---|---|
| Language | Rust 🦀 | Fast, safe, and modern |
| Database | SQLite | Local storage, no server required |
| GUI (post-MVP) | Tauri or Iced | Desktop-native or hybrid frontend |
| Packaging | Cargo + Tauri (later) | To create a .app file for macOS |
| Version Control | Git + GitHub | Public portfolio and changelog |
- Create and update inventory items
- Store and retrieve recipes
- Calculate cost per recipe or unit (includes MSRP per unit)
- Track expenses and income
- Export reports (CSV)
- Clean CLI interface with grouped menus and utilities
🎯 MVP delivered and tagged as
v1.0.0-mvp
Post-MVP planning underway!
| Field | Type |
|---|---|
| id (PK) | INTEGER |
| name | TEXT |
| unit | TEXT |
| quantity | REAL |
| cost_per_unit | REAL |
| Field | Type |
|---|---|
| id (PK) | INTEGER |
| name | TEXT |
| instructions | TEXT |
| yield | INTEGER |
| Field | Type |
|---|---|
| recipe_id (FK) | INTEGER |
| ingredient_id (FK) | INTEGER |
| quantity_required | REAL |
| Field | Type |
|---|---|
| id (PK) | INTEGER |
| date | TEXT |
| transaction_type | TEXT |
| amount | REAL |
| description | TEXT |
src/
├── main.rs
├── db.rs # SQLite interface
├── models.rs # Structs for inventory, recipes, etc.
├── cli.rs # Command-line interface logic
- GUI interface using Tauri (Rust + Web frontend)
- Barcode scanning (e.g. via mobile app or QR code)
- Cloud backup/sync (optional)
- Ingredient usage projections
- User roles or multi-user support
Sarah Dowd
CS @ SNHU | Aspiring Software Engineer | Baker & Entrepreneur
GitHub Profile
MIT License — Free to use and modify
Built for passion, practice, and pastries 🍞