Independent developer

Systems that talk to your catalog

Integrations for library systems (Koha, Z39.50/SRU, MARC, SIP2), custom catalogs, and the automations, full-stack sites and shop connectors around them — one desk, no juniors.

What connects to whatAn ILS, a catalogue and self-service on the left, wired through one integration layer in the middle to a website, a shop and scheduled jobs on the right. The protocols are named on each wire: Z39.50 and SRU, MARC21 and SIP2 on the way in; HTTP and JSON, REST, and cron or events on the way out.Z39.50 / SRUMARC21SIP2HTTP / JSONRESTcron / eventsKoha / ILSCatalogueSelf-serviceSiteShopJobsIntegrationone deskWhat you runWhat I buildWhat you get
Fig. 1 — the shape of every project on this page

What I build · six terminals

Services

01

Library systems

Circulation, cataloging and discovery on Koha and other open ILS platforms. Z39.50 and SRU search, MARC import/export, SIP2 self-service.

02

Custom catalogs

Purpose-built catalog and discovery interfaces where an off-the-shelf ILS front end doesn't fit — search, browse and metadata modeled around how your collection actually works.

03

System integrations

APIs and data pipelines that connect what you already have: ILS to ERP, catalog to discovery layer, legacy system to modern frontend.

04

Automations

Scheduled jobs and event-driven scripts that do the repetitive work: batch record updates, sync jobs, report generation — running unattended, logging honestly when they don't.

05

Full-stack websites

Design-to-deployment builds: content-managed sites, staff-facing tools, public catalogs. Postgres or MySQL underneath, a framework only where it earns its keep.

06

Shop integrations

Storefronts wired into inventory, payments and fulfillment — WooCommerce, Shopify or a custom cart, connected to whatever backend runs the business.

How I work

One developer, one point of contact

You talk to the person writing the code, every time — clean handover, no vendor lock-in.

  1. Step 01

    Scoping call

    What you run, what it has to do, and what I would tell you not to build.

  2. Step 02

    Small deliveries

    Reviewable pieces, in order, each one running before the next one starts.

  3. Step 03

    Handover

    Source, deployment and the reasons written down. Nothing needs me afterwards.

Showcase projects · state on the left

The work

live, open it source you can read written up next

Library systems

Koha migration

Moving a library catalogue to new servers and newer Koha releases, and bringing bibliographic and holdings records over from whichever system it ran on before.

Write-up due
System integration

SRU search for MARC exports

Query any SRU endpoint from the browser — pick a catalogue and index, or write the CQL yourself — and pull the hits back as MARC21 or UNIMARC.

Live — open it >>
Automation

Nightly inventory-to-catalog sync

Stock moves into the catalogue overnight in parallel batches, tuned to finish fast, with logging and error reporting that says exactly what went through and what didn't.

Write-up due
Full-stack website

Public catalog & discovery site

A Blacklight OPAC over several back-end stores, where signing in decides which catalogues and records you see — built to stay quick and personal on very large collections.

Write-up due
Shop integration

Storefront-to-warehouse sync

Thousands of dropship products kept current between supplier and shop, with discounts applied automatically and product copy and SEO written with help from AI.

Write-up due
Developer tooling

monidesk

A small tool that shows what a machine is busy with — processor, memory and disk, all on one screen.

Open source >>
Developer tooling

auto-tunnel

Services running on a remote server appear on your own machine, opening and closing as those services do.

Open source >>
Search engine

A MARC21 catalogue served from memory

170,938 records parsed, indexed, graphed and drawn by one static Go binary — search in microseconds, a navigable graph, a generated building, and an assistant that can only cite what the catalogue handed it.

Read the write-up >>
Cataloguing

Enrichment agents for MARC21 records

Hand a thin record an ISBN, a publisher page, a PDF or a photograph of its title page, and read back field-level proposals with confidence scores — accepted one at a time, or above a bar you set.

Read the write-up >>
Cataloguing

Accepted proposals, written back to Koha

The other half of marc-flow — a webhook receiver that takes a finished job, decides which proposals clear the bar, and writes them onto the biblio they came from without touching the record's identity.

Read the write-up >>
Parsers

MARC21 for Go, ported from pymarc

A Go port of pymarc covering binary MARC21, MARC-8, MARCXML and MARC-in-JSON — 4x to 11x faster on 138,076 real catalogue records, and byte-identical on the way out.

Read the write-up >>
Developer tooling

lunette

A terminal browser for MARC21 files — record list on the left, record on the right, five views, and an encoding check that catches the mislabelled UTF-8 most OAI-PMH endpoints emit.

Open source >>
Search engine

Notenzoeker

5,553 sheet-music titles from the Brauer webshop, crawled into one static page — instrument, publisher, composer and level as facets, search and sort that answer as you type, and a link back to the shop to order.

Live — open it >>

Get in touch

Tell me what system you're running

Email directly — I read and answer everything myself, and I'll tell you if it isn't work I should take.