[{"id": 15581, "state": 1, "location": "Slalom Build", "location_slug": "slalom", "sequence": 0, "name": "Docstrings as a Database \u2014 Building a Documentation Pipeline with Python & 11ty", "slug": "Docstrings_as_a_Database_Building_a_Documentation_Pipeline_with_Python_11ty", "authors": "Roger Steve Ruiz", "description": "# Docstrings as a Database\r\n## Building a Documentation Pipeline with Python & 11ty\r\n### Elevator Pitch\r\nA contract renewal is coming. Your team has built a complex system over years, but the people who need to understand its value - subject-matter experts, product folks, the client - don't read code. Swagger/OpenAPI tells them what the API accepts and returns, but not what the system does or why.\r\nThis talk is the story of how I built a documentation site that solved that problem: a local-first, portable doc site that treats Python docstrings as a database of business logic.\r\n### What You'll Learn\r\n- How to extract structured data from Python docstrings using `griffe` and `docstring-parser`- Why a Python \u2192 JSON \u2192 11ty pipeline decouples data from presentation and keeps templates lean- How to build a hard validation guardrail - if docs are incomplete, the site doesn't build- How persona-based information architecture serves both SMEs (process maps) and developers (API references) from the same data- How a local-first approach bypasses bureaucratic hosting approvals entirely\r\n### Who This Is For\r\nPython developers who have ever wished their docstrings did more than sit in an editor. Developers working on government or regulated projects where hosting approvals are a bottleneck. Anyone who's watched knowledge walk out the door when a contract ends.\r\nNo prior experience with 11ty, griffe, or static site generators needed.\r\n### About the Speaker\r\nI'm a developer currently working on public health data modernization projects. I contribute to and builds tools that help teams document what they know before they forget it. You can find him at `hi@rog.gr` or `@rogeruiz` on most platforms.", "start": "2026-08-21T00:10:00Z", "duration": "00:10:00", "released": true, "license": "CC 0", "tags": "", "conf_key": "2828", "conf_url": "https://www.chipy.org/meetings/1179/", "host_url": null, "public_url": null, "rax_mp4_url": null, "archive_url": null, "archive_mp4_url": "", "twitter_url": null, "comment": "", "start_at": "00:05 21.08.2026"}]