Bops
A team of AI bots that runs your business ops: inbox, pipeline, invoices, reports. Each one has its own computer, email and phone number, and remembers everything.
翻訳待ち
SCIP est un logiciel Windows tout-en-un : Track suit la marchandise, Optimise décide quoi commander, chez qui, quand et par quel itinéraire. Tout tourne sur votre PC, aucune clé requise.
翻訳待ち
ビジネスTypeScript · RustGitHub @R2ostersオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
SCIP - logiciel de bureau (Windows, macOS, Linux) qui suit la marchandise et decide quoi commander : suivi routier et maritime, balises GPS, prevision, allocation, tournees, recommandations expliquees. S'installe et tourne sur le PC, sans serveur ni cle.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Track cargo from a supplier's gate to a customer's dock, and decide what to order, from whom,
when and by which route. One product, two bounded contexts, and a closed loop between them.
Website: ·
Download for Windows: latest release
(the site's source is in site/)
That loop is not a diagram in a slide deck. It runs, and the section
Verify it yourself walks the whole thing end to end in about
three minutes.Read the full README ↗Track cargo from a supplier's gate to a customer's dock, and decide what to order, from whom, when and by which route. One product, two bounded contexts, and a closed loop between them.
Website: https://r2osters.github.io/supply-chain-project/ ·
Download for Windows: latest release
(the site's source is in site/)
TRACK observes shipment SHP-… will miss its promise
↓ durable domain event
OPTIMIZE recomputes stockout risk for the SKUs on board
↓
OPTIMIZE recommends order 3 000 units from Supplier C — with reasons and assumptions
↓ a human accepts
TRACK executes a real draft purchase order exists and is tracked
That loop is not a diagram in a slide deck. It runs, and the section Verify it yourself walks the whole thing end to end in about three minutes.
SCIP is a Windows desktop application. Run SCIP-Setup-<version>.exe, then open SCIP
from the Start menu. Everything runs on this computer: the app starts its own PostgreSQL +
PostGIS, API and AI engine, and stores its data in %LOCALAPPDATA%\com.scip.desktop.
On first launch, create your company and administrator account, or choose
Explore with demo data (demo accounts: [email protected] / DemoPassw0rd!2026).
Live ships (Baltic Sea), aircraft, disasters, weather and public cameras work with no key; the
optional keys (worldwide ships, road traffic, satellite fires) go in Réglages → Sources de données,
or into your own build via apps/desktop/keys.local.json.
SCIP answers this PC only by default. To connect drivers' phones (http://<this PC>:3001/drive)
or GT06 GPS trackers (TCP port 5023), enable Réglages → Réseau local and restart SCIP. See DEPLOYMENT.md for the network,
backup and build details, and docs/desktop-architecture.md
for how the pieces fit.
You need: Node 20+, Docker Desktop (for the development database), Python 3.12, and for the desktop shell Rust (stable, MSVC).
git clone <this repo> && cd "supply chain project"
cp .env.example .env
npm install
npm run db:up # PostgreSQL 16 + PostGIS on localhost:5433
npm run build --workspace @scip/shared
npm run db:migrate:deploy --workspace @scip/api
npm run db:seed --workspace @scip/api
The AI service (Python 3.12: OR-Tools and scipy ship wheels for it):
cd services/ai
python -m venv .venv
.venv/Scripts/python -m pip install -r requirements.txt
.venv/Scripts/python -m uvicorn app.main:app --port 8000
Then the API and the web app, each in its own terminal from the repo root:
npm run dev:api
npm run dev:web
Open http://localhost:3000 and sign in as [email protected] / DemoPassw0rd!2026.
To build the installer instead:
npm run desktop:stage
npm run build --workspace @scip/installer
The first command downloads the pinned runtimes and builds every component into
apps/desktop/src-tauri/resources; the second writes the installer to
apps/installer/dist/SCIP-Setup-<version>.exe.
| URL | |
|---|---|
| Web app | http://localhost:3000 |
| API | http://localhost:3001/api/v1 |
| API reference (Swagger) | http://localhost:3001/api/v1/docs |
| AI service | http://localhost:8000 · docs at /docs |
| Postgres | localhost:5433 |
Claims are cheap. Each of these takes under a minute and either works or doesn't.
The forecast really compares models. Open Forecasting, pick SKU-006, run it. Six models
are scored by walk-forward validation and the table shows every WAPE, not just the winner's.
Selection is by WAPE rather than MAPE because MAPE divides by the actual, so one zero-demand day
makes it infinite — and zero-demand days are the norm for slow movers.
The allocator really solves. Open Allocation, pick a product, ask for 20 000 units within 7 days with a 50 % concentration cap. It solves in single-digit milliseconds and will often exclude the cheapest supplier — a 12-day lead time breaches the deadline and a 75 % on-time record carries a heavy risk penalty. That is the non-obvious answer, and it is the one a weighted-scoring heuristic gets wrong.
The supplier scores are measured, not asserted. The seed generates each supplier from a known
profile, then the platform derives reliability from the resulting purchase-order history using the
same code path the API uses. Run npm run db:seed --workspace @scip/api and compare the two
columns it prints:
SUP-C Tema Port Distributors measured on-time 96.9% (generated from 97%)
SUP-A Volta Grain Cooperative measured on-time 94.8% (generated from 92%)
SUP-D Ashanti Wholesale Group measured on-time 89.3% (generated from 86%)
SUP-B Sahel Commodities Ltd measured on-time 79.2% (generated from 75%)
SUP-E Abidjan Import Partners measured on-time 74.2% (generated from 70%)
The loop really closes. Open Advice, press regenerate advice, then accept & execute
on an ORDER_NOW. A real draft purchase order appears under Orders with an ai marker linking
it back. Accepting performs the action — it does not tick a box.
The map really moves. Open Live map. Vehicles advance along real Ghanaian corridors, the
indicator reads streaming when the WebSocket is connected, and clicking one shows its driver,
speed, shipment and ETA.
You can find a ship by typing its name. Open Vessels and type Ashanti, or an IMO number, or
an MMSI — one box, and the system works out which kind of identifier it was given. Former names are
searched too, because ships are renamed on sale and old paperwork carries the old name. The eight
demo vessels sail real great-circle tracks between real ports on a liner rotation: when one
arrives, the return leg opens.
This is the beginning of the README. Read the rest at the original. Read the full README ↗