Knowledge out of one head
When only one developer understands the solution, every change is a risk. Documentation makes the design readable by anyone on the team.
Living Documentation
Most custom solutions live in one developer's head. FM Dojo turns yours into clear, readable documentation that explains every table, field, calculation, relationship, and script in plain language — and regenerates it from the real schema each time something changes, so the knowledge never goes stale.
Why it matters
Good documentation is not a one-time export that ages out of date. It is a faithful, current description of how the solution works — useful the day you onboard a new developer, hand off to a partner, or simply want to understand what you own.
When only one developer understands the solution, every change is a risk. Documentation makes the design readable by anyone on the team.
Each new snapshot regenerates the document from the real schema, so the documentation describes what the solution is today — not what it was a year ago.
Tables, fields, calculations, and relationships are explained in clear sentences, so owners and new hires can follow how the solution fits together.
A real sample
Below is documentation generated from a small example solution: a customer database with companies, contacts, and invoices. Every line is produced from the schema itself, so it is accurate by construction and never invented.
This solution contains 3 tables, 17 fields, 3 table occurrences, 2 scripts, 2 relationships, 3 layouts, 2 value lists and 1 custom function.
Technical ID: 3
| Field | Type | Details |
|---|---|---|
| InvoiceID | Number | Technical ID: 301 Primary key for the invoice. Auto-enter serial number (next 20460, +1, OnCreation), cannot modify Validation: not empty, unique, always Index: All |
| CompanyID | Number | Technical ID: 302 The company being billed. Validation: not empty, during data entry Index: All |
| InvoiceDate | Date | Technical ID: 303 Auto-enter creation date Index: All |
| Subtotal | Number | Technical ID: 304 Sum of line items, entered before tax. |
| TaxRate | Number | Technical ID: 305 Decimal tax rate, e.g. 0.0825 for 8.25 percent. |
| GrandTotal | Number (Calculated) | Technical ID: 306 Subtotal plus tax, rounded to cents. Always current. |
| Status | Text | Technical ID: 307 Where the invoice sits in the billing cycle. Validation: member of "Invoice Status", during data entry Index: All |
Field calculation
Round ( Subtotal * ( 1 + TaxRate ) ; 2 )
CompanyID = CompanyID. Relationship: Companies→Contacts; ID: r1.CompanyID = CompanyID. Relationship: Companies→Invoices; ID: r2.The full document also covers every table, the complete script inventory, value lists, and custom functions.
What the document covers
Get clear, always-current documentation for your own FileMaker solution, so the knowledge lives with the team instead of in one person's memory.