• Townie
    AI
  • Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
tusharGoyal

tusharGoyal

BionicReader

Public
Like
BionicReader
Home
Code
4
backend
2
frontend
3
shared
1
README.md
Branches
1
Pull requests
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
Code
/
Search
index.ts
https://tusharGoyal--18bfd53433da11f0b5f99e149126039e.web.val.run
README.md

Bionic Reader

A web application that applies bionic reading formatting to PDF and EPUB files to enhance reading speed and comprehension.

Features

  • Upload PDF or EPUB files
  • Process text with bionic reading algorithm (highlighting the first few letters of each word)
  • Responsive reading interface with PDF/EPUB viewer
  • Toggle bionic reading on/off
  • Adjustable settings for bionic reading intensity
  • Dark mode support
  • Font size adjustment
  • Page navigation for multi-page documents

How to Use

  1. Open the application
  2. Upload a PDF or EPUB file
  3. Click "Process File" to upload and process the document
  4. The document will open in the viewer interface
  5. Use the toggle switch to enable/disable bionic reading
  6. Adjust the intensity slider to control how much of each word is bolded
  7. Navigate between pages using the Previous/Next buttons
  8. Adjust font size and toggle dark mode as needed

Project Structure

  • backend/ - Server-side code for handling file uploads and processing
    • index.ts - Main API endpoints and file handling
    • bionicreader.js - Core bionic reading implementation
  • frontend/ - Client-side interface and reading experience
    • index.html - Main upload interface
    • pdf_viewer.html - PDF/EPUB viewer with bionic reading
  • shared/ - Shared utilities and types

Technologies Used

  • Hono (API framework)
  • PDF.js (PDF parsing)
  • EPub.js (EPUB parsing)
  • Tailwind CSS (Styling)
  • Val Town Blob Storage (File storage)

How Bionic Reading Works

Bionic reading works by highlighting (bolding) the first few letters of each word. This creates "fixation points" that help the brain recognize words faster, allowing for quicker reading while maintaining comprehension.

The intensity setting controls what percentage of each word is bolded:

  • Lower intensity (e.g., 20%): Only the first letter or two of each word is bolded
  • Higher intensity (e.g., 80%): Most of each word is bolded

The implementation in bionicreader.js handles:

  1. Splitting text into paragraphs and words
  2. Calculating how many characters to bold based on intensity
  3. Applying HTML formatting to create the bionic reading effect
  4. Safely handling different content types
HTTP
  • index.ts
    tusharGoyal--18…9e.web.val.run
Code
backendfrontendsharedREADME.md
FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.