(:Jonas)-[:IS_A]->(:SoftwareEngineer)

(:Jonas Fiers)

Software Engineer · Ghent, Belgium

I turn tangled, high-stakes processes into things that just work.

About

I'm a software engineer in Ghent who spends most days somewhere between low-code platforms, graph databases, and whatever full-stack problem needs solving next. I like systems that hold up when it actually matters — think secure claims forms, traceability reports under real food-safety pressure, and data views that suddenly need to handle 10x more without blinking. Outside of client work, I build my own stuff, mostly as an excuse to learn something new the hard way.

10×
more data in the reimbursements view — loading 50% faster, not slower
5×?→1
API calls for the payment page — used to be 5 per payment shown, now always 1
Zero
weeks of downtime during a major food-safety crisis — a competitor caught in it was down for 6
13
OutSystems certifications & specializations, from Associate Developer up to Expert Developer

Experience

(:Jonas)-[:WORKS_AT {since:"2024-09"}]->(:CM)

Software Engineer — CM (Christelijke Mutualiteit)

Sept 2024 – Present · Brussels, Belgium

Form editing platform — built in OutSystems, giving business teams a no-code way to build secure claims forms that pull in external data automatically and hand submissions straight to the people who process them. No more waiting on a developer for every tweak.
Reimbursements visualization — an OutSystems screen that shoved 10x more data into the member view, stretched the visible history from 2 years to 3, and somehow made it load 50% faster. Everyone wins.
Payment visualization rework — reworked in OutSystems, taking a page that made 5 API calls per payment and got it down to 1 for the whole thing. The backend sends its thanks.
(:Jonas)-[:WORKED_AT {"2020-07":"2024-07"}]->(:FrontierOutSystems)

OutSystems and Neo4j Consultant — Frontier OutSystems

Jul 2020 – Jul 2024 · Brussels, Belgium

Traceability reporting platform — built in OutSystems with a Neo4j graph engine underneath, cracking open a bottleneck nobody had managed to fix in ten years — right as a major food-safety crisis made it urgent. Kept the production line running with zero downtime, while a competitor caught in the same crisis was shut down for 6 weeks — saving the company millions, with insurance savings still rolling in.
Experiment comparison platform — an OutSystems app that gave research teams a proper way to line up experiment runs side by side instead of digging through spreadsheets.
Market share reporting tool — the in-house OutSystems dashboard leadership used to keep tabs on global market share and sales.
(:Jonas)-[:WORKED_AT {"2016-08":"2020-03"}]->(:EetkaffeeMultatuli)

Restaurant Supervisor — Eetkaffee Multatuli

Aug 2016 – Mar 2020 · Ghent, Belgium

Ran the floor during peak chaos hours — turns out managing a packed Saturday night dinner service isn't so different from managing a production incident.

Personal projects

(:Jonas)-[:BUILT]->(:Splitty)

Splitty

My answer to "who owes who" after one too many group trips. A Splitwise-style app I built mostly to get properly hands-on with graph data modeling — who paid, who owes, who settled, all mapped as a graph in Neo4j, with a Node.js API and React frontend. Self-hosted, naturally.

Splitty's actual data shape: You paid for an Expense, "Cabin weekend" for €96, which is owed by Mila (€32) and Theo (€40). Balances are derived from these PAID and OWED_BY relationships, not stored directly between people. PAID OWED_BY €32 OWED_BY €40 Cabin weekend €96 You Mila Theo

MATCH (payer:User)-[:PAID]->(e:Expense)-[o:OWED_BY]->(u:User) RETURN payer, e, o, u

splitty.jonasfiers.eu →
MOVE SPLITTY TO CATALOG-74.

=^.^= CATALOG-74

Splitty, sent back to 1974. Splitty derives your balance fresh on every request by traversing a live graph — nothing is ever stored. CATALOG-74 derives the same balance the way a real COBOL shop would: batch-aggregate the day's transactions and write the answer to a flat file. It is stored this time — just never more current than the last nightly run. Add an expense and the number on screen won't move until the batch says otherwise.

READY
SUBMIT CATALOG74.JCL(RUNBATCH)
JOB CATALOG7(JOB03142) SUBMITTED
IEF403I CATALOG7 - STARTED
IEF404I CATALOG7 - ENDED
READY
catalog74.jonasfiers.eu →
MOVE COPYBOOK TO JSON.

🎨 PICASSO Work in progress

Copybook parsing is a solved problem — everywhere except inside OutSystems, whose Forge has no COBOL connector. So mainframe integrations on the platform get hand-rolled: someone reads the copybook's PIC clauses and types the byte offsets into a config file by hand. CATALOG-74's own specs.js is exactly that — a human worked out that PIC 9(7)V99 occupies nine bytes at offset 12, and typed it in. PICASSO fills that gap natively: a .NET copybook parser, built to become an Integration Studio Extension, that derives the layout from the .cpy itself and is validated against a real COBOL compiler. Point it at CATALOG-74's own copybooks and watch it reproduce the exact offsets a human once hand-mirrored.

PICASSO reading a CATALOG-74 fixed-width record: the same undifferentiated bytes on the left are derived into four typed, named fields on the right — USER-ID as Integer, USER-NAME as Text, TOTAL-PAID as Decimal, and NET-BALANCE as a signed Decimal whose trailing sign byte belongs to that one field. 0 0 0 0 0 2 M I L A     0 0 9 6 0 0 0 3 2 0 0 USER-ID · Integer USER-NAME · Text TOTAL-PAID · Decimal NET-BALANCE · Decimal

Skills

(:OutSystems) (:Neo4j) (:Cypher) (:SystemIntegration) (:DataModeling) (:LowCode)

Education & certifications

2009 – 2012Arteveldehogeschool — Journalism
2002 – 2009OLVP-Lokeren — Accounting and Computer Science
OutSystems certifications & specializations (13) Certifications (6): Expert Developer, Professional Developer (Reactive & Traditional), Associate Developer (ODC, Reactive & Traditional)
Specializations (7): Architecture (O11 and ODC), Security, Front-end Developer, Mobile Developer, Web Developer (O11 and ODC)
view credentials →
Neo4j Certified Professional

Languages

Dutch — native
English — fluent
French — professional working
Portuguese — professional working
German — still ordering coffee level

(:You)-[:CAN_REACH]->(:Jonas)

Let's connect

(:ThisSite)-[:RUNS_ON]->(:HomelabProxmoxLXC) — self-hosted; only the edge is rented. · Privacy