Intellireading API server exposes the Intellireading CLI Library through FastAPI. It is the backend of the Intellireading site.
Example of a text converted to a metaguided text:
This repo is part of the Intellireading project, which aims to help people with dyslexia, ADHD, or anyone who wants to improve their reading focus and speed.
- Intellireading site, which allows anyone to convert an EPUB to the metaguided version.
- API Server, that support the Intellireading site.
- Command-Line tool. A standalone tool and library that can be used to metaguide EPUB files.
- Calibre Plugins. A set of plugins that can be used to metaguide EPUB files using Calibre.
Metaguiding is a technique that can be used to improve your reading focus and speed (sometimes called Bionic Reading). It is based on the idea that you can use a visual guide to help your eyes focus on the text you are reading. In this case, the visual guide is done by bolding a part of the text, creating visual anchors that your eyes can use to focus on the text. This is similar to the way a finger can be used to guide your eyes along a line of text, which has been shown to improve reading speed and focus. (study: "Does finger-tracking point to child reading strategies")
However, unlike a finger, the visual guide is not distracting, and it can be used to guide your eyes along multiple lines of text at once. This allows you to read faster, and with less effort.
Metaguiding is particulary useful for people with dyslexia or ADHD, but it can be used by anyone who wants to improve their reading focus and speed. For more information, visit the Intellireading website.
This project is also a playground for my FastAPI-bootstrap, which is a project template that includes a lot some best practices and tools that I use in my FastAPI projects. You can find more information about the bootstrap in the FastAPI-bootstrap repository. A typical deployment would be composed of the following containers:
- api-proxy: An NGINX server that acts as a reverse proxy for api-server (FastAPI).
- api-server: A FastAPI server that exposes the Intellireading CLI library through a REST API and is instrumented with OpenTelemetry, sending traces, metrics, and logs to an otel-collector.
- otel_collector: An OpenTelemetry collector that exposes syslog and otel endpoints to receive logs, traces, and metrics from the api-proxy and api-server and forwards them to a remote OTEL compliant backend, which may be Jaeger, Prometheus, New Relic, Datadog, or any other backend that supports the OpenTelemetry protocol.
Some of the tools and libraries used in this project are:
- FastAPI: A modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.
- Hatch: A modern project, package, and virtual env manager for Python.
- OpenTelemetry: A set of APIs, libraries, agents, and instrumentation to provide observability.