openFTTH
FeaturesHow it worksDocsChangelogGitHub

About

About openFTTH

Designing a fibre-to-the-home area by hand takes days before anyone knows what it will cost. openFTTH does it from a street map in about a minute, on your own computer, and records the reason for each decision.

Principles

Four rules the code follows.

01

The model never writes a number

Every change to a design is an engine tool call with ids and rule references. Solvers and rule checkers produce the numbers and record a reason for each.

02

Risky steps need a person

Routing outside ducts, adding a trench, rewinding a design and exporting for construction are refused without an approval.

03

Same inputs, same design

A fixed solver setup and seed; the test suite fails if the Gent sample stops coming out byte-identical.

04

Local first

The app, the crew and the engine run on your computer. Network fetches are explicit, named steps.

How it is built

Three parts on your PC.

  • The design enginePython with OR-Tools CP-SAT and rule checkers: ingest, twin, rules, solve, validate, deliver. It also runs headless from the command line.
  • The harnessNode: the crew, approvals and the runtime log, served on your own machine.
  • The Windows appRust: the map, the conversation and the approval cards. It starts the other two when you open it.

Who builds it

Manas Dutta

Developer of openFTTH. Write with questions or ideas.

Open source, under the MIT licence.

Use it, change it and build on it, commercially too. Map data comes from OpenStreetMap contributors under the Open Database Licence.