How to use Claude to build a terminal EPUB reader
A non-Rust programmer used conversations with Claude Code to build and iterate on Repy, a terminal EPUB reader with speech, dictionary lookup, navigation, and persistent settings.
Suggested prompt
Suggested prompt written by Agents In Use, not the source author. Replace bracketed inputs and review tool permissions first.
Build [terminal EPUB reader] in Rust for use over SSH and tmux. Implement [navigation requirements], persistent book position, configurable text-to-speech, and selected-word dictionary lookup. Work with me conversationally to refine features and address bugs.
Reach people exploring AI agents
See placements →Evidence at a glance
Sourced account- Source poster / publisher
- dawdler-purge
- Original account
- Read the source ↗
- Published
- Source link checked
- Reported result
- The author reported a Rust terminal EPUB reader exceeding 5,000 lines, with navigation, speech, dictionary lookup, and per-book settings stored through SQLite.
- Human involvement
- The author supplied requirements and iterated through conversation; the post does not describe code review or testing procedures.
A linked account supports attribution. It does not mean we independently reproduced its result.
Report an issue with this case
Open correction emailOpens your email app with the case link included. Nothing is sent automatically.
How the agent did it
- Described a terminal EPUB reader intended for SSH and tmux use.
- Claude Code implemented the application in Rust.
- Used the same conversational workflow to add features, fix bugs, and refactor.
The creator of Repy wanted to read EPUB books over SSH and inside tmux without leaving the terminal. They began with a Rust reimplementation of epy, a Python command-line ebook reader, and expanded it into a larger terminal application. The author says they do not know Rust: they described what they wanted, and Claude Code wrote the implementation.
The resulting reader includes Vim-style navigation, bookmarks, a table of contents, visual selection with clipboard copying, and regular-expression search across chapters. SQLite preserves each book's width and reading position. Its text-to-speech feature reads sentence by sentence, underlines the current passage, and scrolls to keep spoken text visible. Microsoft Edge TTS is the default, with other commands configurable.
Dictionary lookup operates on a selected word, with support for detected dictionary tools or a configurable command. A separate shortcut requests a Wikipedia summary. The author describes the application as more than 5,000 lines of Rust and says every feature, bug fix, and refactor went through the conversational workflow.
Who it's for: Terminal-oriented readers interested in directing application development without existing Rust expertise.
Prompt
Suggested prompt (written by Agents In Use, not the author's)
Source: Hacker News · dawdler-purge
Frequently asked questions
Did the author already know Rust?
No. The author explicitly says they do not know Rust and describes supplying requirements conversationally while Claude Code wrote the implementation.
How does Repy's text-to-speech feature behave?
It reads sentence by sentence, underlines the current passage, and uses smart scrolling. Microsoft Edge TTS is the default, with espeak, say, or a custom command configurable.
More details
About this account
Claude Code wrote the implementation from conversational requirements, and the author used that workflow for every feature, bug fix, and refactor.
Platform: Hacker News. Attribution: https://news.ycombinator.com/item?id=47021114. Prompt: Suggested (written by Agents In Use, not the author's). Sourced by the Agents In Use pipeline.
Credit: dawdler-purge on Hacker News
Source published
Added to Agents In Use
Source checked
Tools and topics
Claude Code · Rust · SQLite · edge-playback
Rust · EPUB · Terminal · Text-to-speech
Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.