Software
These are a few of the open source tools I’ve built.
Triiiceratops
Web ComponentA modern, lightweight IIIF viewer built with Svelte and OpenSeadragon. It is distributed as a web component that can be dropped into any HTML page or frontend framework.
SvelteTypeScriptIIIFTailwindOpenSeadragon
Criticus
Desktop AppThe workbench for transcription and collation. Handles the conversion between TEI XML transcriptions and the JSON format that collation algorithms need. It includes many other utilities such as exporting a critical apparatus to a fully formatted Word document.
PythonBeeware TogaTEI XML
Apatosaurus
Web PlatformA web app for publishing and analyzing collation data. Takes TEI collations and renders them as an interactive apparatus. Integrates Joey McCollum's open-cbgm library for genealogical analysis.
DjangoHTMXPostgreSQLAWS ServerlessTEI XMLopen-cbgmTailwind
Technical Stack
Top Languages & Frameworks
| Layer | Technologies |
|---|---|
| Databases | PostgreSQL, SQLite, CouchDB/PouchDB |
| Backend | Python, Go, TypeScript |
| Web Frameworks | Django, Wagtail, Django Ninja, DRF, SvelteKit, Astro |
| Frontend | JavaScript/TypeScript, HTML, CSS, React, Vue, Svelte, HTMX, Tailwind |
| Desktop | Python (Beeware Toga, Tkinter, Qt, Web views), C# (MAUI) |
| Data Formats/Schemas | TEI XML, IIIF, YJS/CRDT, ProseMirror/TipTap/HocusPocus |
| AI/LLMs | Vercel AI SDK (OpenAI, Anthropic), LangChain, Gen AI SDK (Gemini) |
Top Infrastructure Experience
- Docker for containerization
- AWS EC2, ECS, Lambda, S3, RDS, Batch, CloudFront, Route 53, IAM, SES, etc.
- CloudFlare Workers, Pages, R2, KV, Vectorize
- DigitalOcean Droplets, App Platform, Managed Databases, Spaces
- GitHub Pages, Releases, Actions
- LLM Providers OpenAI, Anthropic, Gemini, Local Workflows with VLM and Ollama