You've reached Brett Kromkamp's GitHub profile. Find me on Mastodon.
I contribute to and maintain Contextualise, TopicDB and a couple of other open source projects. I also have several published Python packages on PyPI.
Projects I am currently working on, include:
- Suite of iOS apps using Swift and RealityKit, Apple's high-performance 3D framework
- Contextualise, a knowledge management system using the Python programming language and Flask web framework
Contextualise is an effective tool particularly suited for organising information-heavy projects and activities consisting of unstructured and widely diverse data and information resources
Contextualise is a set of tools that share one information model: topic maps. A topic map holds knowledge as topics, the associations between them, the occurrences that describe them, and the scope that says in which context each statement is true. The tools do not share a server, an API or common application code. They share a file and a schema.
The ecosystem tests one claim. Topic maps are a meta model, and scope makes them expressive enough to hold many kinds of knowledge without a change to the model. Each tool is evidence for that claim, because each one puts a different kind of knowledge into the same model.
A tool is a member when it reads a topic map, writes one, or does both. No other test applies.
- The pipeline writes a topic map about a subject from source material, in numbered passes. A language model drafts each pass, and a person approves it.
corpus-mapreads a folder of Markdown documents and writes a map of what they are about. It first proposes the vocabulary as a topic map that a person reviews. Then it chooses the core subjects of the whole set, grouped in areas. Every statement keeps the scope of the document that made it.scenario-plannermakes possible future scenarios for a domain from real sources, and exports its graph as a topic map.topic-map-editoropens a topic map and edits all of it, scope included, then writes the file back.
topic-map-engineholds the model, the traversal and the scope matching, with no framework attached. It also holdsTMQL, a small query language that walks, filters and scopes in one query.
structure-mapreads a topic map and writes a diagram for diagrammer, a report with its sources, and the topic map itself. The diagram is a first layout that a person keeps arranging in diagrammer, and a diagram that a person changed is never overwritten.
diagrammerdraws a topic map as an isometric diagram that a person arranges. It has two vocabularies: Place, for subject matter that is spatial, and Structure, for subject matter that is not. Each object binds to a topic or an occurrence, so the diagram is a view onto the map.experience-builderturns a topic map into a configurator for a real-world walk. The walker's choices select which scoped variant of each stop's content they read.systems-builderreads stocks, flows and feedback loops from a topic map and simulates them. Its whole vocabulary is declared inside the map, not added to the engine.
Development of web content models, concepts, creation processes and tools: mix art and code to build interactive, engaging web experiences
Developing a combined Angular and Pixi.js-based web application —for storytelling purposes— that allows a user to navigate between a collection of narrative events. Each event has an accompanying 2.5D, isometric environment with participants and items that can be interacted with. Interactions include (but, are not limited to) displaying more information about the selected object and high-lighting a set of objects by tag. Narratives are Contextualise topic maps.
I will see you again, in the place where no shadows fall. — Ambassador Delenn, Babylon 5



