frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: YT NoteTaker – Simple Manual Note Taking on YouTube Videos

https://kavinaidoo.github.io/ytnt/
2•kavinaidoo•12mo ago
Hi HN,

YTNT is a simple web-app for manually typing notes while watching a YouTube video. Simultaneously type and control playback with keyboard shortcuts. Export to Word (.docx) when you're done.

I'm seeking general feedback.

NOTES:

- The only way to "save" (for now) is to export to a Word .docx

- Speech-to-text only works in Chrome

GitHub: https://github.com/kavinaidoo/ytnt

Blog Post: http://archive.today/FRqwp

Thanks, Kavi

Comments

Leftium•12mo ago
I forked oTranscribe and added some features to solve a similar problem.

- demo: https://otranscribe.netlify.app/?vsl=definedefine

- source code: https://github.com/Leftium/oTranscribe

- CLI tool to generate OTR (oTranscribe) files from (YouTube) SBV/TTML files: https://github.com/Leftium/otrgen

In my case, I wanted to start with the (auto-generated) YouTube transcript and get clickable timestamps. This makes it much faster to search through the content of a video: I can read/search much faster than watching a video, even on 2X speed.

I could also add my own notes to the transcript.

If you add support for loading transcripts like this, it could work cross-browser without the microphone/speech-to-text.

kavinaidoo•12mo ago
Aha, starting with the YouTube transcript is a great idea. I wanted to start with it but I couldn't find a way to get it from the YouTube iFrame API so I went with the Web Speech API to listen and convert.

Forgive me for the confusion, the demo link implies that the transcript is loaded from the video but I see in the code that there's a pre-existing "/txt/definedefine.md" that is loaded. How are these SBV/TTML files downloaded from YouTube in the first place? I assume that it is a separate process? I see you are then using otrgen to presumably convert these so they can be used by oTranscribe.

If I could load the transcripts dynamically when loading the YouTube video that would be a great feature.

Leftium•12mo ago
The demo simply demonstrates how I used my tool. It requires some manual set up:

- TTML files are downloaded via CLI: `yt-dlp.exe --skip-download --write-auto-sub --sub-format ttml`

- TTML files are converted to the OTR .MD format via my CLI tool

- The MD file can be dragged & dropped onto the web app.

---

I think it is possible to download SBV/TTML files, but the download must be done from the server due to CORS restrictions.

My app didn't go this far due to limitations of the (serverless) platform it is hosted on. Also it was faster to just do the steps manually vs. developing a server that does it.

I have seen many services that download the transcript. Here are a few:

- https://youtubetranscript.com

- https://kagi.com/summarizer

- https://www.tubepen.com

However, note YouTube may block your server if you download too many transcripts: https://kagifeedback.org/d/4451-universal-summarizer-cant-fi...

kavinaidoo•12mo ago
I think I'll just have to stick with my current method for now, looks like the only way to get it done with static hosting.
Leftium•12mo ago
I'm planning a beat-aware YouTube player. Unfortunately, it is not possible to access the audio stream data across the YouTube embed. (For beat-detection analysis.)

I considered using the microphone like this. It's nice to see it works. Although there seems to be a time limit to how long the microphone can record?

My plan was to download video (youtube-dlp), then make a CLI tool that analyzes and uploads the beat-detection data. An advantage of the CLI tool is it can complete the analysis faster than playing the video at 1X.

kavinaidoo•12mo ago
Yeah, I also wanted to "pipe" the audio directly to the Web Speech API but had to resort to using the mic. Another feature I wanted to add was to have a keyboard shortcut insert a screenshot of the video into the notes. Handy for diagrams etc but I hit some roadblocks there too and the workarounds were getting crazy.

Regarding the time-limit, I'm entirely accessing the audio stream using the Web Speech API and it "decides" (usually when there's a sufficient pause) when to finalize a recognition result. It was also firing a "recognition.onend" event after a certain amount of time (some old details here: https://stackoverflow.com/questions/38213580/chromes-webkits...) so I have a workaround where if the user did not turn off speech-to-text, it is immediately restarted. You'll see console warnings "userStopped == false - trying to restart" when this happens.

I assume you'll have no such issues because you'll be handling the "raw" audio data and not working through this API. Also, I've noticed that when using the Web Speech API on Safari, it does not "hear" what the tab is playing. It only hears external audio. I'm not sure whether this will be an issue for you but for me it means my app is Chrome only (suboptimal). Forgive me for my naïveté in this arena, It's the first time I'm using any browser audio API.

Would your tool run on a server and work with a frontend for YT link ingestion or will you just use it yourself from the cli?

Leftium•12mo ago
Ideally, my tool would run on the server. Especially if I wanted to monetize the service. (However I think there may be legal issues that are larger than the technical ones...)

However it's just a small hobby project. So realistically I think this is how it will work:

- If user tries to load a video without beat data yet, instructions are shown for how to add the beat data. The instructions will be running CLI command like `npx upload-beat-data [YOUTUBE-URL]`

- The CLI tool will download the audio, then upload the beat data to my site.

- The site will also log which videos got a lot of requests, but are missing beat data. So I can manually add the beat data myself.

Texas sues Netflix for advertising 'bait and switch' and spying

https://www.theverge.com/streaming/928071/texas-netflix-lawsuit-privacy
1•droidjj•1m ago•0 comments

Pure Borrow: Linear Haskell Meets Rust-Style Borrowing

https://discourse.haskell.org/t/pure-borrow-linear-haskell-meets-rust-style-borrowing/13975
1•PaulHoule•1m ago•0 comments

Despite rise of AI is there still hope for EE's translators?

https://www.theguardian.com/technology/2026/may/08/being-human-helps-despite-rise-of-ai-is-there-...
1•speckx•3m ago•0 comments

Freeman Dyson's Model of a Cell

https://chillphysicsenjoyer.substack.com/p/freeman-dysons-model-of-a-cell
1•crescit_eundo•3m ago•0 comments

The Highest-Flying Repo Men Are Collecting Spirit Airlines' Jets

https://www.wsj.com/business/airlines/spirit-airlines-jets-liquidation-repo-men-5c44a46f
1•jbredeche•3m ago•0 comments

Why MistralAI Grows Faster Than OpenAI/Anthropic

https://productify.substack.com/p/why-mistralai-grows-faster-than-openaianthropic
1•gmays•5m ago•0 comments

Contra Kotler and Friston on 'the body keeps the score'

https://essays.debugyourpain.com/p/contra-kotler-friston-et-al-on-the
1•yichab0d•5m ago•0 comments

Podatek od narzędzi. Dlaczego serwery MCP pożerają Twój budżet na AI

https://jakubpradzynski.substack.com/p/podatek-od-narzedzi-dlaczego-serwery
1•jakubpradzynski•6m ago•0 comments

Rassvet, Russia's Answer to Starlink

https://www.wired.com/story/meet-rassvet-russias-answer-to-starlink/
1•smurda•6m ago•0 comments

Are old Java Developer Journals or Dr. Dobbs mags worth anything?

https://old.reddit.com/r/java/comments/1t3uqc7/are_old_java_developer_journals_or_dr_dobbs_mags/
1•theanonymousone•6m ago•0 comments

Wordle to Become Prime-Time TV Show, with Savannah Guthrie as Host

https://www.nytimes.com/2026/05/11/business/media/wordle-nbc-savannah-guthrie.html
1•apparent•6m ago•1 comments

The left-wing case for AI

https://www.seangoedecke.com/the-left-wing-case-for-ai/
1•rhazn•7m ago•0 comments

State of the Map 2027 – Call for Venues

https://blog.openstreetmap.org/2026/05/11/state-of-the-map-2027-call-for-venues-is-now-open/
1•rhazn•8m ago•0 comments

Build a Basic AI Agent from Scratch

https://www.ruxu.dev/articles/ai/build-a-basic-ai-agent/
1•ruxudev•9m ago•0 comments

Microsoft Israel chief leaves amid ethical controversy

https://en.globes.co.il/en/article-microsoft-israel-chief-leaves-amid-ethical-controversy-1001542602
1•bhouston•10m ago•0 comments

Porting 3D Movie Maker to Linux

https://benstoneonline.com/posts/porting-3d-movie-maker-to-linux/
1•speckx•11m ago•0 comments

AIQ Rank – a score for how AI-native your workflow is

https://www.aiqrank.com
2•grahac•12m ago•0 comments

Pull Request: Java language implementation of value classes and objects

https://github.com/openjdk/jdk/pull/31120
2•munksbeer•13m ago•0 comments

Ask HN: Agents for coding feels like a L2 automation system. Yay/Nay?

1•ak681443•14m ago•0 comments

PaidSync, Run Google/Meta/LinkedIn/TikTok Ads from Claude or ChatGPT

https://paidsync.ai/
1•ahmedashrav•16m ago•0 comments

Mythos 'Discovered' a CVE in Its Training Data – That's Still Worrying

https://rival.security/posts/mythos-discovered-a-cve-already-in-its-training-data---and-thats-sti...
1•theanonymousone•16m ago•0 comments

Show HN: I built a mobile website builder on the Claude Agent SDK

https://sitespin.app/
1•adamhsn•18m ago•0 comments

Redistricting, Democrats are playing as the away team

https://www.natesilver.net/p/on-redistricting-democrats-are-playing
1•7777777phil•19m ago•0 comments

Show HN: Design.md and Skill.md Generator Chrome Extension

https://chromewebstore.google.com/detail/ai-design-taste-designmd/peclkdlolmcclhhgpoehpikgknbmkknc
4•novateg•21m ago•0 comments

How to Leave Instagram

https://www.a-side.social/blog/how-to-leave-instagram/
11•proletarian•22m ago•6 comments

AI's Next Phase Plays into TSMC's Hands

https://www.wsj.com/tech/ais-next-phase-plays-into-tsmcs-hands-3d1f2b60
1•Brajeshwar•23m ago•0 comments

Unauthorized Anthropic stock sales and investment scams

https://support.claude.com/en/articles/13704655-unauthorized-anthropic-stock-sales-and-investment...
4•dylanpyle•24m ago•1 comments

Want a better DDD domain model in 5 minutes?

https://www.esdm.io/getting-started/your-first-model-with-ai/
1•goloroden•25m ago•0 comments

Estimating Levenshtein Distance for Large Documents Using Compact Signatures

https://zenodo.org/records/20125438
2•coatespt•26m ago•0 comments

Excavate - Find the "hidden landmines" in your codebase

https://www.npmjs.com/package/excavate
1•Heysonics•27m ago•0 comments