The project currently depends on a Google Cloud classroom project and on managed Google services. Neither can be handed to The Public Knowledge Workshop to run, so as things stand the site cannot outlive its original infrastructure. This is the biggest single blocker to the project having a future.
What needs to change
- Storage. Replace BigQuery with something self-hostable. The schema in
db/schema.bq.sql is ordinary relational work apart from the embedding arrays; PostgreSQL with pgvector is the obvious candidate.
- Embeddings. Replace Gemini embeddings with a self-hostable model, or cost the managed option explicitly so whoever runs it knows the bill.
- Summarisation. Same question for the LLM summary generation in
src/mk_tracking/summary_creation/.
- Hosting. Put the FastAPI app and the built UI on persistent hosting rather than a lab environment.
- Scheduling. Ingest, issue scoring, and summary generation need to run on a schedule rather than by hand.
- Secrets. Everything through environment variables, with
.env.example kept current.
Staging it
This does not have to land in one piece. A reasonable order is storage first (it unblocks local development for everyone without cloud credentials), then embeddings, then scheduling, then hosting.
A self-hosted rewrite is already named as planned in the README. Contributions toward any single step here are welcome, and any one of them is a meaningful contribution on its own.
The project currently depends on a Google Cloud classroom project and on managed Google services. Neither can be handed to The Public Knowledge Workshop to run, so as things stand the site cannot outlive its original infrastructure. This is the biggest single blocker to the project having a future.
What needs to change
db/schema.bq.sqlis ordinary relational work apart from the embedding arrays; PostgreSQL withpgvectoris the obvious candidate.src/mk_tracking/summary_creation/..env.examplekept current.Staging it
This does not have to land in one piece. A reasonable order is storage first (it unblocks local development for everyone without cloud credentials), then embeddings, then scheduling, then hosting.
A self-hosted rewrite is already named as planned in the README. Contributions toward any single step here are welcome, and any one of them is a meaningful contribution on its own.