← Back to the problem

The builder's path

Five steps from a problem to its solution.

For: Python developers using uv can't cap how much disk its cache uses.

“The unexamined life is not worth living.”

ὁ δὲ ἀνεξέταστος βίος οὐ βιωτὸς ἀνθρώπῳ

Socrates · Plato, Apology 38a

Routes to a solution

Six ways to take this forward

Each route is a different kind of journey, with real people and organisations to contact at each step, starting with those in every country.

  1. Step 1

    Build in the open

    Publish the code and invite contributors from the community.

  2. Step 2

    Fund the maintainers

    Sponsors, collectives and open source grants.

  3. Step 3

    Get it adopted

    Civic tech groups and public bodies take it up.

What this problem needs

Ideas, sources and tools for this problem, from first interviews to funding.

  • Automation
  • Open data

Ideas to explore

  • Idea 1Size check after syncAfter each install, measure the cache and, if over the limit, remove the oldest unused archives first.
  • Idea 2Warning onlyA smaller first step: print a one-line warning when the cache passes a size, with the command to prune it.

Specific to this problem

Talk to first

Starter prompt

Built from this problem's brief. Paste it into Claude or any AI assistant.

Help me design and build a first working prototype for this problem in Anywhere.

Problem: Python developers using uv can't cap how much disk its cache uses.
Who it hurts: Developers and CI administrators who use uv, a widely used Python package manager.
The moment it hurts: When a laptop or build server runs out of disk and the uv cache turns out to be tens of gigabytes.
What people do today: People run uv cache clean or uv cache prune by hand or from their own scripts.
Why it is still unsolved: The issue is labelled ‘needs design’; evicting entries safely while other uv processes use the cache is not trivial.
What solved looks like: A design note and prototype for an opt-in size limit that removes least-recently-used entries after an install, without breaking other uv processes running at the same time. Tested by filling a cache past the limit and checking it ends under the limit while recent packages still install offline.
Where: Anywhere

First, list what you would need to learn from the people affected before building, as interview questions.
Then propose the simplest version that would help, the screens or messages it needs, and the data it would use.
Keep it cheap to run, accessible, and respectful of people's privacy. Flag anything you are unsure about instead of guessing.
  1. Understand it

    Talk to the people who live it before you build.

    “In the fields of observation chance favours only the prepared mind.”

    Dans les champs de l'observation le hasard ne favorise que les esprits préparés.

    Louis Pasteur · lecture at the University of Lille, 7 December 1854
  2. Prototype with AI

    Get a working version in front of people fast.

    Using AI is not cheating. Every tool carries the work of the people who made it, and using it well is how knowledge has always moved forward. The thinking, the care for the people who live the problem, and the judgement are still yours.

    “The Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.”
    Ada Lovelace · Notes on Menabrea's Sketch of the Analytical Engine, Note A (1843)
  3. Find the data

    Open data that fits this problem.

    “You cannot step twice into the same river.”
    Heraclitus · Fragment B91, via Plato's Cratylus
  4. Build it

    Tools matched to what this problem needs.

    “Tasks are achieved by effort, not by wishing.”

    उद्यमेन हि सिध्यन्ति कार्याणि न मनोरथैः

    udyamena hi sidhyanti kāryāṇi na manorathaiḥ

    Hitopadeśa · Introduction
  5. Launch and get support

    Ship it responsibly, and find help and funding.

    “Act, keeping in view the welfare of the world.”

    लोकसंग्रहमेवापि सम्पश्यन्कर्तुमर्हसि

    lokasaṅgraham evāpi sampaśyan kartum arhasi

    Bhagavad Gītā · 3.20

Kit written for this problem from its brief; every link was checked. Links go to each provider's own site. Zetema is not paid for any listing.