Fishhook Software

Philosopher by day,
software engineer by night

Fishhook Software is the workshop of J. McKenzie Alexander — a small collection of focused tools for academic and writing work. A task manager that expects your notes to be full of mathematics and diagrams. A reference manager that keeps your whole BibTeX library in order. A Markdown system you extend from inside the document. A note-taking app, on the desktop and the iPad, whose reading mode is a real typesetting engine. And a code editor built entirely around a Lisp you can reshape while it runs.

Each one is built by hand — no frameworks reached for by reflex, no build step where a plain file will do — and made to still run, and still make sense, ten years from now.

We shape our tools, and thereafter our tools shape us. — John M. Culkin
6
Projects
4
Desktop apps
1
Markdown engine
1
Pair of hands

The Workshop

Six tools, one bench. They don't share a codebase or a framework, but they share a temperament: small, sharp, and built for work that runs on citations, equations, and long documents.

Approach

There's no manifesto here, but there are habits. They're the reason these tools feel related even though no two of them are written the same way.

Built by hand

Plain HTML, CSS, and JavaScript; a custom Lisp; Electron only where a desktop app earns it. Folio has no build step at all — the source is the program. The bet is that durable, boring technology outlives the framework of the year, and that software you can read end to end is software you can keep fixing.

Made for footnotes and equations

These tools assume your work has citations, mathematics, and diagrams in it. BibTeX, LaTeX, MathJax, CSL, and TikZ aren't bolted-on plugins — they're the things the tools were built to handle in the first place.

One pair of hands

Every tool is designed and built end to end by one person, so the seams are deliberate and the whole thing fits in a single head. Nothing is the way it is because a committee couldn't agree on something else.

Yours, and local

The desktop apps keep your work on your own disk; the web tools run entirely in the browser. Your documents are files you own, in formats you can read without the app that made them.

Folio macOS app

A task manager for people whose notes have diagrams in them.

Folio organises academic work the way it actually accretes: projects that hold tasks, tasks that hold subtasks nested as deep as the problem demands. Everything shares one common set of fields — notes, dates, tags, priority, attachments — so any item can become any other without losing what's attached to it. A stray subtask can be promoted to a full project; a project that fizzled can be demoted back to a single task. Nothing is thrown away in the conversion.

The notes are where it earns its tagline. Markdown, LaTeX mathematics, and diagrams render inline, citations are pulled straight from your BibTeX library, and any view exports cleanly to PDF. A built-in script editor and an optional Claude panel handle the repetitive parts.

Under the surface it's deliberately unfashionable — vanilla JavaScript, HTML, and CSS, with no framework and no build step — wrapped as a native macOS app with Electron, and backed by an Automerge CRDT so your data stays consistent and stays yours.

Bibliofile macOS app

A modern home for the BibTeX library at the heart of your work.

Bibliofile is a native macOS reference manager — a from-scratch replacement for BibDesk, the tool Mac academics have leaned on for the better part of two decades. It keeps your BibTeX (.bib) database — the bibliography that every paper, talk, and book draws on — organised, searchable, and clean, without the aging interface BibDesk never quite outgrew.

It's built by someone who lives in a .bib file every day, which is really the only qualification for making a tool like this: the thousand small frictions of wrangling references are exactly the ones it sets out to remove. It's the newest tool on the bench, and the one most directly scratching its author's own itch.

BibTeX is the common thread across the workshop: the library you curate in Bibliofile is the same .bib file that Folio cites from, JMarkdown typesets, and Clew autocompletes.

JMarkdown CLI · open

Markdown that you extend from inside the document.

JMarkdown begins with familiar Markdown and lets the file itself teach the parser new tricks: custom delimiters built on any Unicode symbol, regex-based extensions for patterned text, and JavaScript functions you define in the document and call from the prose as it renders. On top of that sits a directive system for richer blocks — strategic-form games, TikZ and Mermaid diagrams, asides, optional sections — alongside MathJax math, footnotes, GitHub-style tables and alerts, emoji, and Font Awesome icons.

/italics/, *boldface*, and __underline__ — H_2O, E=mc^2.

:::strategic-form-game
  A 2×2 payoff matrix, rendered straight from the source.
:::

The point of all this is a single source with two destinations: the same .jmd file produces both polished HTML and LaTeX — which is exactly how its author wrote the book The Rise of Computational Philosophy. Citations, naturally, come straight from your BibTeX library.

Clew-app macOS · Windows · Linux

A thread through your notes.

Clew is an open-source, Obsidian-style note app whose reading mode is a real typesetting engine. It opens vaults — any folder of Markdown files, existing Obsidian vaults included, which it never modifies — and renders every note with JMarkdown: LaTeX mathematics, theorem environments, citations from your BibTeX library, and TikZ, MetaPost, and TeX diagrams typeset in the page by a WebAssembly TeX, with nothing to install. The same source exports to HTML, LaTeX, or PDF.

Around that sits everything a vault wants: wikilinks and backlinks, a graph view, full-text search, a canvas that draws, interactive maps, a diary with composed views, and queries and kanban boards that write straight back to each note's frontmatter. There is no database file — every row and every card is a plain Markdown note. A whole vault publishes as a static website, and a note API and per-vault plugins make it programmable to the bone.

No accounts, no cloud, no lock-in. Clew is free software under the GPL.

Clew-iOS Beta · TestFlight

The same Clew, now on the iPad.

Clew for iOS is a real port, not a companion app. The entire desktop renderer — the same web components and the same CodeMirror editor — runs unmodified inside a WKWebView; the JMarkdown engine runs in a Web Worker, and Swift supplies what Electron used to. Tabs, the file explorer, backlinks, queries, mathematics, theorems, and diagrams all come with it, and TikZ and TeX still typeset on the device.

The canvas gains something the desktop can't offer: draw on it with an Apple Pencil, pan and pinch-zoom with two fingers, then open the same .canvas file on your Mac and find your handwriting waiting in it. Vaults live in the Files app, so iCloud or any file provider can carry them.

Clew for iPad is in beta on TestFlight. To try it, email for an invitation; a public TestFlight link will follow when the open beta starts.

Godot Pre-release

The editor I've been writing while waiting to find the one I wanted to use.

Godot is a code editor built the way Emacs might be if it were started today: a custom dialect of Lisp in which every command, every key binding, and every colour is data you can change while the editor runs — sitting on a fast JavaScript core and an Electron presentation layer. Tree-sitter highlights 36 languages with cross-language injection, so the CSS inside a <style> block is coloured as CSS. Sublime-style multi-cursor, resizable panes with tab strips, code folding, and a real terminal round out the editing surface.

Its newest layer is an in-app Claude agent that designs and builds new views, then drives the editor — with your approval — to put them to work. It's the most ambitious thing on the bench, and it has a full site of its own.

Contact

Fishhook Software is one person. The quickest way to reach me about any of these tools — a bug, a question, an idea — is email.