Datopian Portfolio
Datopian Portfolio
Interactive visualisations of the Datopian portfolio — force-directed map and indented tree, both drawing from the same markdown data source.
This page is intentionally light. The portfolio tree is the main overview. If you want detail on a specific initiative or project, open it from the tree or map via View.
If you want to understand how the KB works or how to add new information, use:
Visualisations
Draws from index.js, generated by portfolio/scripts/build-index.js from frontmatter in initiatives/ and projects/.
For the reasoning behind the current structure, see Portfolio Structure Rationale.
Building the data index
# Rebuild manually
python3 portfolio/scripts/build-index.py
# Alternative Node-based rebuild
cd portfolio/scripts && npm install
node build-index.js
If the repo hook is enabled with git config core.hooksPath .githooks, the pre-commit hook rebuilds portfolio/index.js automatically when any initiatives/*.md or projects/*.md file is staged.
Changes merged or pushed to main on GitHub also trigger a GitHub Actions workflow that rebuilds and commits portfolio/index.js automatically, so web edits and clones without hooks still get reflected in the tree.
How To Use This
- Use Portfolio Tree for the clearest overview of the current structure.
- Click
Viewon any item to open its own page. - Keep richer detail on the item page itself, not here.
- Edit the markdown source files in
initiatives/andprojects/, not the visual pages directly.
This means:
portfolio/README.mdstays lightweightinitiatives/*.mdandprojects/*.mdare the real source material- the tree and map are the main overview surfaces
portfolio/index.jsis a generated data layer, not the primary editing surface
Marketing is a grouping initiative under Internal Systems. It exists to organize related internal initiatives and projects, not to function as a bounded project.
Scope
The portfolio covers:
- products
- services
- internal initiatives
- bounded projects nested under those initiatives
It is not meant to be a second knowledge base or a duplicate reporting layer.
Conventions
Initiatives
Initiatives are enduring efforts — products, services, or ongoing internal work with no fixed end date.
- File:
initiatives/{slug}.md— stable semantic slug (e.g.queryless.md,ckan-co-stewardship.md) - Template:
docs/initiative-template.md - Required frontmatter:
title,type,offer,status,north_star,created
| Field | Values |
|---|---|
type | product | service | internal |
status | active | paused | archived | idea |
offer | true = external-facing; false = internal |
parent | slug of parent initiative (e.g. ckan for ckan-co-stewardship) |
Projects
Projects are bounded efforts nested under an initiative — they have a definition of done.
- File:
projects/YYYY-{slug}.md— year prefix + semantic slug (e.g.2026-ckan-portal-upgrade.md) - Template:
docs/project-template.md - Required frontmatter:
title,status,created,parent
| Field | Values |
|---|---|
status | active | paused | archived | done |
parent | slug of parent initiative (e.g. ckan) |
owner | lead person (optional) |
Current structure
The current top-level portfolio split is:
External OffersInternal Systems
Within External Offers, the main structure is:
Core Data InfrastructureAI-Native OffersFlowershow
Within Internal Systems, the main structure is:
MarketingBizDevRFP and Proposal SystemOpenGov Instances CampaignCold Emailing CampaignRevival of Past Opportunities
Company Operating System