Project Info
Inspiration
Over half of all readers listen to the audiobooks. Yet, only 9% of books are available as audiobooks - and that's doesn't count other written content, like articles, research papers, or blog posts.
What it does
Echo takes any epub or PDF, cleans up any artifacts like footers/headers/page numbers, and turns it into an high quality audiobook within minutes - so you can listen to the latest research paper on your commute. Beyond this, you can TALK to Echo audiobooks. If you have a question about some confusing content, want to dive deeper into a concept, or even just define a word, you can ask Echo, which will respond with context from what you've been listening to :) How we made it We use React and PDF libraries to extract text from PDFs and EPUBs Because PDF has a more flexible format, the text extracted from the PDF is often messy, so we created a text cleaner with Google Gemini 2.0 that removes unwanted elements, like: Page numbers Headers and footers Copyright notices Formatting artifacts Books can be very large, so the text cleaner breaks the book up into many 1000 word chunks and cleans them in parallel in order to reduce latency. After we get the fully cleaned text, we convert it to audio using ElevenLabs. We stream the audio back to the user in chunks so they can start listening right away (as opposed to when everything is done generating. For the interactive audiobook feature, we built a context-aware system that tracks what users are currently listening to. This powers Echo's interactive features, allowing users to ask questions about the content and receive relevant responses based on their current position in the audiobook.
Analysis
View
Metric
- 52
- 6
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- ExpressIn code
- Google GeminiIn code
- JavaScriptIn code
- Next.jsIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Mistral AIClaimed
- OpenAIClaimed
8 of 10 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
77 KB
Source files
24
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
685Degrees/echo-reader
53 files · 14.1 MB · @ 094d66e
Structure
Interface
11 files · 21%Screens, components and styles rendered to the user.
API & routing
2 files · 4%Request entry points: routes, handlers and controllers.
Application logic
6 files · 11%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript96%
- Markdown2%
- JavaScript1%
- CSS1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
echo-frontend/package.json
npm · 27- @google/generative-ai
- @heroicons/react
- @prisma/client
- @types/formidable
- @types/uuid
- clsx
- elevenlabs
- epubjs
- formidable
- lucide-react
- next
- prisma
- react
- react-dom
- react-pdftotext
- slugify
- tailwind-merge
- uuid
- +9 more
echo-backend/package.json
npm · 8- @types/cors
- @types/express
- @types/node
- cors
- dotenv
- express
- ts-node-dev
- typescript
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.