DEV·TV is a free, open-source TV for developer content: one index.html, no backend. This week it got a new key, ★ YOU ON TV.
Type any GitHub username and the TV breaks into a special report about that developer, built only from their public profile:
- BREAKING: "Octo Dev has been shipping on GitHub since 2016. Sources confirm they have not stopped."
- BY THE NUMBERS: stars across their own repos
- LANGUAGE DESK: their top language, with a joke to match. For Rust: "The borrow checker has issued a statement of approval."
- FAN FAVOURITE: their most-starred project
- DEVELOPING STORY: their latest push
- AUDIENCE: their followers
Then copy a link (?on=username opens straight on that report), post it on X, or download a 1200×675 card with the link printed on it.
How it works
Two public GitHub API calls from the visitor's own browser: the profile, and up to 100 repos. No keys, no login, nothing stored. Forks are left out of every count, so one popular fork can't inflate someone's stars, and everything from the profile is escaped before it reaches the page. The card is drawn on a canvas, so there's no screenshot library either.
From report to Spotlight
DEV·TV has a Spotlight channel for community projects. The report ends with a Submit for Spotlight button:
- You pick one of your top three original repos. Forks, archived repos and your profile README repo are skipped, because "most-starred" is often an old tutorial or a template.
- The details are filled in from the repo, and you can edit them first.
- Nothing is sent until you tap, and I choose what goes on the channel by hand.
Because anyone can type any username, the submission I receive says GitHub ownership isn't verified, so I check before I feature anyone.
Limits
GitHub allows 60 unauthenticated requests per hour per IP. If you see "rate limit reached", wait a few minutes.
Try it
- Live: https://shouvik12.github.io/devtv/
- Source (Apache-2.0): https://github.com/shouvik12/devtv
Press ★ YOU ON TV, type your username, and tell me what your report says.

Top comments (8)
@nyaomaru would love to have one of your projects featured on DevTv
Thanks! Of course 😸
I’d love that!
Awesome, thank you! 😸 Two easy ways to send it in:
Pick the project you'd like featured, tweak the details if you want, and send it. I'll take it from there and let you know when it's on air!
I sent you an email to submit. Please check it 😸
Concept thú vị — biến commit history, PR reviews, issue discussions thành "breaking news" segments. Nhớ năm nào team mình làm internal dashboard tương tự: mỗi sprint có "anchor" đọc top contributors, hotfixes gấp, tech debt "weather forecast". Devs thực sự xem hết 10 phút mỗi Thứ 2 sáng vì format quen thuộc, dễ tiêu thụ hơn wall of text.
Điểm mạnh ở đây là zero-backend — drop
index.htmllên Netlify/Vercel/GitHub Pages là chạy. Không lo migration, không lo billing, không lo DB corrupt. Mình thấy pattern này sẽ càng phổ biến: tooling dạng "single HTML artifact" cho internal use (runbook, onboarding, retro board, architecture decision log).Một gợi ý nhỏ: nếu thêm "ticker" chạy dọc dưới màn hình hiển thị real-time CI status (pass/fail/flaky) từ GitHub Actions API — chỉ cần fetch JSON public, không cần auth — thì cảm giác "news room" sẽ sống động hơn hẳn. Còn easter egg: cho phép embed video demo từ Loom/Streamable trực tiếp vào segment "field report" khi merge feature lớn (site: labagent .tech)
Thanks! The "anchor reading the sprint" format is a great example of why the TV framing works: people will sit through a familiar format that they'd skip as a wall of text.
The single-HTML-artifact pattern is exactly what I was going for. No backend means nothing to maintain or pay for.
A CI status ticker from public GitHub Actions data is an interesting idea. The ticker is already there, so it would fit naturally. I'll keep it in mind.
Good question. GitHub allows 60 unauthenticated requests per hour per IP. The page fetches the profile and repos together, and if either one is rate-limited, it shows no report, just an error message, usually with roughly how many minutes until the limit resets (taken from GitHub's own reset header). Every channel loads independently, so the non-GitHub channels (Hacker News, DEV, Hugging Face, papers, CVEs and the rest) keep running uninterrupted, and GitHub channels fall back to the last stories they loaded. There's no backend or token in the browser, so that's the tradeoff for zero infrastructure.