This is a submission for the GitHub Finish-Up-A-Thon Challenge
What I Built
It started with a frustration most people probably recognize but never think to solve.
I had a long article open. Research material, the kind that runs fifteen pages and demands your full attention. I also had dishes to wash, laundry to fold, and a walk I had been putting off. The article sat there, patient and unread, while the rest of my life waited on the other side of the screen.
I looked for something that would just read it to me. Something simple: paste the text, press play, and walk away. Everything I found either had a character limit, required an account, wanted me to upload a file, or produced audio that sounded like it was being read by a machine that had never encountered a human sentence before.
So I built it myself.
LongUnlimitedReader is a browser-based voice reader. You paste any amount of text, an article, a research paper, a chapter, anything, and it reads it back to you out loud. No character cap. No account. No file upload. No server. Everything runs in the browser using the Web Speech API, which means your text stays on your device and playback is instant.
That is the whole idea. The student who needs to get through fifty pages of dense material before tomorrow. The researcher has a stack of papers and not enough hours. Anyone who learns better through listening, or who simply needs their eyes and hands free while their brain keeps working. This was built for them.
Demo
To run it locally:
npm install
npm run dev
Or try the deployed version directly:
https://flutter-delta-silk.vercel.app/
The Comeback Story
The first version was finished in February and then quietly forgotten.
Not abandoned, forgotten. There is a difference. Abandoning something means you made a decision. This one just drifted to the back of the repository list, behind newer projects and more urgent things, the way drafts do when you are not quite ready to call them done but not motivated enough to push them forward.
Then I came across the Finish-Up-A-Thon challenge, and I recognized it immediately. This was the project. The one sitting in a tab I never fully closed.
I went back and looked at it with fresh eyes. The core worked. Paste text, press play, and hear it read back. That part was solid. But it was also the only part. The interface was rough around the edges in ways I had stopped noticing. It needed a proper shape before it could be something I was willing to hand to someone else.
So I came back to it. Cleaned up the code, tightened the UI, and made the experience feel intentional rather than assembled in a hurry. The voice reader that started as a weekend solution to a personal frustration finally became the thing I had pictured when I first started building it.
It still does one thing. It reads your text to you. It does that one thing without limits, without friction, and without asking anything from you in return.
My Experience with GitHub Copilot
I have been writing code long enough to know the parts I find tedious: the repetitive structural work, the boilerplate that has to exist but teaches you nothing by writing it. Copilot handled a lot of that.
Where it genuinely helped was in the places where I knew the shape of what I wanted but did not want to spend time writing it out by hand. It understood the context quickly and kept up with the direction I was already moving in. That kept the momentum going during the parts of the project that could have easily stalled.
Where I stayed careful was anywhere the correctness mattered in ways that were not obvious from the surface. The Web Speech API has browser-specific behavior that Copilot did not always account for. I learned to treat its suggestions as a strong first draft and verify the parts that touched real API behavior.
The honest version is that it felt like pair programming with someone fast and well-read who occasionally needed to be corrected. For a project like this, that was exactly what I needed to get it finished.


Top comments (0)