01 / Product / Live

A problem is more useful when the next question is close by.

LabFisika is a physics problem bank built around the moment after a student gets stuck: find a problem, ask for a hint, and keep reasoning.

Shown hereProblem → tutor hint
Built withNext.js · Postgres · AI tutor
Continue through the work

What is real: the animation is a recording of the public LabFisika interface. The Explore view opens the live tutor.

A short product reelPlays once when visible · muted

02 / Research / Building

Can echoes tell us the shape of a pipe?

SonoLab is an open research path from pulse-echo measurements to geometry. The first thing to show is not a claim, but the evidence trail.

Shown hereToF → joint fit → 3D survey
Built withFDTD · SPECFEM · blind evaluation

What is real: the playback and images are committed Block 8 artifacts from SonoLab. The browser opens the viewer; it does not run the solver.

A real-data instrumentWatch once, then take control

03 / Data platform / Public

A map for the context around infrastructure.

Pipeline Context Atlas puts Canadian pipeline infrastructure beside people, water, fire, and regulator-reported incidents. The map is the public-facing part of a data pipeline underneath.

Shown hereRecorded map tour
Built withMapLibre · DuckDB · Parquet
Open the full map

Product boundary: this is a public exploration surface, not an operations or safety system.

Recorded map tourPlays once when visible · muted
Open live map

Recorded demonstration. The live map can change as its open-data sources are refreshed.

04 / Internal tool / LAN-only

The useful part of an office system is the record it leaves behind.

KJRI Ops brings supplies and vehicle use into one small PWA for an office network. The work is deliberately ordinary: make the next record easy, shared, and recoverable.

Shown hereATK issue → vehicle return
Built withNode · SQLite · PWA

Privacy boundary: the reel was recorded against a temporary fixture database. The real product remains LAN-only and its operational data is not part of this portfolio.

A real interface, safe fixture dataPlays once when visible · muted

Something I keep returning to

How do you make a difficult thing easier to use without pretending it is simple?

That question shows up in all four projects, even though the people and technologies are different.

About

I care about the part after the demo.

The part where someone has to use the thing on a phone, on an office network, with an incomplete dataset, or with a question the system cannot answer yet.

I am interested in software engineering, data products, scientific computing, and the decisions that connect them.

  • turning messy inputs into usable tools;
  • making system boundaries visible;
  • leaving behind a way to check the result.

Contact

If the work sounds useful, I would be glad to talk.

Find me on LinkedIn, browse the code on GitHub, or .

Project notes