Coder Social home page Coder Social logo

spotread's Introduction

SpotRead

Highlight text as you read.

Development

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can edit the home page at app/page.tsx. The page auto-updates as you edit the file.

Learn More

To learn more about Next.js, take a look at the following resources:

You can also check out the Next.js GitHub repository.

spotread's People

Contributors

havijw avatar

Watchers

 avatar

spotread's Issues

Replace buttons with text entry field

Currently, text is highlighted/unhighlighted by clicking buttons. A big step toward actually highlighting with speech would be replacing the buttons with text entry, and highlighting the next word when it is typed into the entry box. In particular, with built-in speech recognition, this might actually be able to do the job.

This will probably be useful to keep in forever as a kind of "debug" mode for the matching algorithm, which will presumably eventually be more complicated.

Add pre-commit hooks

Hooks are the most basic QA/automation possible, and are relatively easy to implement. Minimum config is linting and formatting. I should look into other options, like a typescript type checker similar to mypy.

Add content editing

Currently, the content is a constant string. There should be a way to edit this, which means it will need to be a state variable. There should be editing and reading modes for the page, and likely the best way to do this is to have tabs for editing and reading modes.

Eventually, this should probably be a rich text editor like Quill, CKEditor, TipTap, TinyMCE, or another, since that will be a nicer experience for organizing content.

Auto scroll when reading

The reading content should have a max height and scroll to maintain the content in the center of the container.

Fuzzy match to check whether to continue

Currently, I only do very basic token cleaning (lowercasing, removing non-word characters). For the speech entry to work naturally, I need to handle things like "want to" vs "wanna", homophones, numbers, etc.

Another issue is that I need to allow a word to not be matched and still move on, so that if the matching fails the whole highlighting doesn't completely stop.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.