For developers and students

Tech challenges, ready to pick up.

Real problems people have written down in open-source issue trackers, developer threads and the gaps in public data. Every one is sourced, has a brief and a builder's kit, and is sized so a first version fits a weekend, a few weeks or a semester.

“There is no royal road to geometry.”
Euclid · as reported by Proclus
  • Kit readyA few weeks

    Developer tools · Anywhere

    Desktop GIFs users can't post GIF comments on YouTube from a computer.

    Solved looks like

    A desktop YouTube user can post a GIF comment with the extension and it stays up after reloading the page.

    Proof1 source · 4 quoted claims · github.com/rayytor · Oct 2026

    MarketNot sized yet

    Kit5 steps · 20 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Open data · Anywhere

    Ferry riders in Newfoundland and Labrador can't see provincial ferry times in trip-planning apps because the schedules are only PDFs.

    Solved looks like

    A GTFS timetable feed for at least three provincial routes, including Fogo Island and Bell Island, built from the PDFs, that passes the MobilityData GTFS validator with no errors and loads in a trip planner. A short note lists anything the PDFs leave unclear.

    Proof2 sources · 3 quoted claims · gov.nl.ca, 511nl.ca · Oct 2026

    MarketNot sized yet

    Kit5 steps · 21 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Climate & energy · Anywhere

    Web developers using CO2.js can't produce a standard Software Carbon Intensity score for their site.

    Solved looks like

    An sci() function in CO2.js that takes operational emissions, embodied emissions and a functional unit and returns a score, with unit tests based on the SCI specification and a documented page-visit example.

    Proof2 sources · 3 quoted claims · github.com/thegreenwebfoundation, sci.greensoftware.foundation · Dec 2025

    MarketNot sized yet

    Kit5 steps · 19 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Accessibility · Anywhere

    Screen-reader users in JupyterLab aren't told when things happen on screen, because the app has no shared way to announce them.

    Solved looks like

    A JupyterLab plugin with a public announce() function and settings to turn announcements off and set a delay, old messages cleared automatically, and at least one real feature using it. Tested with NVDA and VoiceOver.

    Proof1 source · 3 quoted claims · github.com/jupyterlab · May 2026

    Market2 reactions on the issue

    Kit5 steps · 19 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Accessibility · Anywhere

    Screen-reader users in Thunderbird for Android can't reach the quick actions sighted users get by swiping.

    Solved looks like

    Every configured swipe action is offered as a TalkBack action on each message in the list users actually get, confirmed on a real device by a TalkBack user.

    Proof1 source · 3 quoted claims · github.com/thunderbird · Sep 2026

    MarketNot sized yet

    Kit5 steps · 16 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Hardware & IoT · Anywhere

    Meshtastic radio owners can't stop the GPS draining the battery while the device sits still.

    Solved looks like

    A firmware option that puts the GPS into low-power mode after a set time with no motion and wakes it on movement. On a bench test with an accelerometer-equipped node, current draw measured with a USB power meter drops while still and position updates resume within a minute of moving.

    Proof1 source · 3 quoted claims · github.com/meshtastic · Jun 2026

    Market7 reactions on the issue

    Kit5 steps · 21 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Developer tools · Anywhere

    Developers can't easily keep track of which agent skills they have installed or whether they still work.

    Solved looks like

    A command-line tool that lists every skill installed across agents on a machine, flags duplicates and broken file references, checks each SKILL.md against the spec, and runs each skill's example prompts as a smoke test. Demonstrated on a folder of 20 community skills.

    Proof2 sources · 3 quoted claims · news.ycombinator.com, agentskills.io · Sep 2026

    Market320 points on Hacker News

    Kit5 steps · 15 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Developer tools · Anywhere

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

    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.

    Proof2 sources · 3 quoted claims · github.com/astral-sh, docs.astral.sh · Sep 2026

    Market56 reactions on the issue

    Kit5 steps · 20 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Infra & DevOps · Anywhere

    Teams that chat on Matrix can't get Alertmanager alerts there without running a separate bridge.

    Solved looks like

    A Matrix receiver in Alertmanager configured with homeserver address, room id and an access token read from a file, posting firing and resolved alerts with the standard templates, with an integration test against a local Matrix server in Docker.

    Proof1 source · 3 quoted claims · github.com/prometheus · May 2026

    Market21 reactions on the issue

    Kit5 steps · 20 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Security & privacy · Anywhere

    Meshtastic users can't share their location on the mesh without risking showing where they live.

    Solved looks like

    A firmware setting for up to three privacy zones (centre and radius). Inside a zone, the position sent is rounded to the zone's precision; outside, the normal setting applies. Checked on a bench node with simulated GPS that the exact home position is never transmitted.

    Proof1 source · 3 quoted claims · github.com/meshtastic · Oct 2025

    Market11 reactions on the issue

    Kit5 steps · 22 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Security & privacy · Anywhere

    Yarn users can't block a package update that suddenly arrives without the provenance its earlier versions had.

    Solved looks like

    A Yarn plugin or patch that, at install time, fails with a clear message when a package that had provenance in earlier versions resolves to a version without it. Tested against a local test registry with a downgrade case and a never-had-provenance case.

    Proof2 sources · 3 quoted claims · github.com/axios, github.com/yarnpkg · Apr 2026

    Market59 reactions on the issue

    Kit5 steps · 21 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Web & mobile · Anywhere

    Riders who spot a wrong bus or train time in an app have no easy way to tell whoever publishes the data.

    Solved looks like

    A small web service and form: given a Transitous trip id, it works out which feed the trip came from, returns the right contact (or says none is known) and a prefilled report. Tested on 20 trips from different feeds.

    Proof1 source · 3 quoted claims · github.com/public-transport · Oct 2026

    Market5 reactions on the issue

    Kit5 steps · 22 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    Data & pipelines · Anywhere

    Data teams on Airflow 3 don't get their pipeline-level failure alerts, because the callback never runs.

    Solved looks like

    A test that reproduces the bug on current main, and a fix so a DAG-level failure callback fires exactly once when a run fails, including on timeout, checked with LocalExecutor and KubernetesExecutor.

    Proof1 source · 4 quoted claims · github.com/apache · Jul 2026

    Market1 reactions on the issue

    Kit5 steps · 21 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.

  • Kit readyA few weeks

    AI & agents · Anywhere

    People filing in NL courts can't quickly check that every case they cite actually exists.

    Solved looks like

    A free web tool where someone pastes a draft and gets back every case and statute citation in it, each marked as found on CanLII (with a link), not found, or found with a different name or year. Tested on 20 real Canadian decisions with planted fake citations, it catches every planted fake and wrongly flags fewer than 1 in 10 real citations.

    Proof2 sources · 3 quoted claims · court.nl.ca, damiencharlotin.com · Oct 2026

    MarketNot sized yet

    Kit5 steps · 22 tools · starter prompt ready

    1. Sourced (done)
    2. Kit (done)
    3. Wanted (next)
    4. Building
    5. Solved
    Open the kit →

    Be the first to want this solved. Nobody is building it yet.