Every Line of Business Logic. Extracted.
Migration doesn't start with building the new system. It starts with understanding the old one — completely. Our team extracted Onroute.io from 1,235 FileMaker scripts to a modern stack. We know what that takes.
Complete Extraction
Every script, calculation, relationship, value list, custom function, and privilege set — extracted from the DDR and translated into documented, reviewable specifications that your engineering team can build from.
Business Rule Documentation
The AI doesn't just extract structure — it interprets intent. Complex multi-step scripts become readable business rules. Cascading calculations become documented logic flows. Nothing gets lost in translation.
Architecture Mapping
Your FileMaker relationship graph becomes an entity-relationship diagram. Your privilege sets become RBAC policies. Your layouts become UI wireframes. Every architectural decision is preserved and mapped to modern equivalents.
Incremental Migration
You don't have to migrate everything at once. We extract modules independently so you can rebuild high-value features first while the FileMaker solution continues to run for everything else.
Zero Downtime Transition
Run the new system alongside FileMaker with data synchronisation between both. Migrate users gradually, validate business logic parity at every step, and cut over with confidence.
From FileMaker to TypeScript — Onroute.io Extraction
<Step enable="True" name="Set Variable">
<Name>$orgId</Name>
<Value>
GetValue(
ExecuteSQL("SELECT org_id
FROM OrgSharing
WHERE user_id = ?"; ""; "";
Get(AccountName)
); 1
)
</Value>
</Step>
<Step enable="True" name="If">
<Calculation>
$orgId ≠ "" and
$$currentUser_isAdmin = 1
</Calculation>
</Step>async function getOrgSharing(
userId: string
): Promise<OrgSharing | null> {
const result = await db.orgSharing.findFirst({
where: { userId },
select: { orgId: true },
});
return result;
}
async function canModifySharing(
user: AuthUser
): Promise<boolean> {
return user.role === "admin"
&& user.orgId !== null;
}FAQ
Common questions about FileMaker modernisation
How long does a full FileMaker extraction take?
It depends on solution complexity, but most extractions complete in 1–2 weeks. A typical solution with 50–100 scripts and 20–30 tables produces a full specification document within days. Larger enterprise solutions with hundreds of scripts may take longer, but the AI handles the heavy lifting.
Can we migrate incrementally instead of all at once?
Yes — incremental migration is our recommended approach. We extract modules independently so you can rebuild high-value features first while the FileMaker solution continues to run for everything else. Data synchronisation keeps both systems in step during the transition.
What modern stacks do you recommend after extraction?
It depends on your team and requirements. Common targets include Next.js with PostgreSQL for web applications, React Native for mobile, and Node.js or Python services for backend logic. The extraction output is stack-agnostic — documented business rules and data models that any competent engineering team can build from.
What happens if extraction finds business logic nobody knew about?
This happens on every engagement — usually within the first week. Privilege-set calculations, validation rules, and trigger cascades routinely encode rules the current team doesn't know exist. We surface every finding in a written 'business rules document' and walk through it with you before any rebuild starts; you decide whether each rule still needs to survive the migration, gets removed, or gets refined.
How do we keep the FileMaker system and new system in sync during migration?
Via the FileMaker Data API and a small bidirectional sync worker. The worker watches for changes on the FileMaker side and mirrors them into the new system's database (typically Postgres) using a deterministic mapping built from the extraction. Direction reverses once a module is fully cut over. We have reference implementations for the common patterns — record CRUD, deletions, soft-deletes, audit trails — so the sync layer typically takes a week, not a quarter.
What's the typical cost difference vs a traditional rewrite?
Extraction-first engagements typically come in at 30–60% of the cost a conventional firm quotes for an equivalent rebuild, primarily because (a) the extraction phase is days rather than months, (b) AI-augmented engineers ship the new modules 5–10x faster, and (c) the incremental cutover eliminates the painful 'rebuild from scratch' phase that drives most rewrites over budget. The exact saving depends on your existing system complexity — happy to provide a fixed-price estimate against a DDR.
Start your extraction
Our team extracted Onroute.io — 1,235 FileMaker scripts — to a modern stack with full fidelity. Send us a DDR export and we'll show you what your extraction looks like.
Want the methodology first? Read the extraction-first migration guide.