Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

📖 HyperText

The Ultimate Reading Companion — Seamless, Immersive, Intelligent.

Stars License Next.js


HyperText is designed for readers who refuse to be interrupted. Whether you're diving into a novel or a technical document, HyperText provides a fluid, distraction-free environment with powerful AI-assisted tools at your fingertips.

✨ Core Features

🎧 Pair it up with your Eleven Reader, Enjoy a seamless reading.

Listen to your books with human-like intonation while you follow along—perfect for multitasking or auditory learners.

⚡ Instant Word Meanings (Zero Lag)

Never lose your flow over an unfamiliar word.

  • Zero Latency: Click any word to get its meaning instantly.
  • Context-Aware: Powered by Google Gemini AI, definitions are intelligently tailored to the sentence context.
  • Seamless UI: Definitions appear in a non-intrusive sidebar, keeping your reading focus sharp.

📚 Multi-Format Support

Upload and read your favorite content in multiple formats:

  • EPUB — Full support with chapter navigation.
  • PDF — High-fidelity rendering for documents.
  • Plain Text — For quick notes or drafts.

🔐 Cloud Library (Supabase)

  • Securely authenticate with Email/Password or Google Sign-In.
  • Your reading history and library are synced to the cloud.
  • Access your books from any device.

📜 Reading History Panel

Pick up right where you left off. HyperText tracks your reading sessions and lets you resume with a single click.


🛠️ Tech Stack

Layer Technology
Framework Next.js 16 (App Router)
Language TypeScript
Styling Tailwind CSS 4
AI Google Gemini AI (via @google/genai)
Auth & DB Supabase
Animations Framer Motion
Icons Lucide React
EPUB epub.js
PDF react-pdf

🚀 Getting Started

Prerequisites

  • Node.js v18 or higher
  • A Supabase project (for auth & database)
  • A Google AI API key (for Gemini)

Installation

  1. Clone the repository:

    git clone https://github.com/nawaaaaaAaar/hypertext.git
    cd hypertext
  2. Install dependencies:

    npm install
  3. Configure environment variables: Create a .env.local file in the root directory:

    # Supabase
    NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
    
    # Google Gemini AI
    GOOGLE_API_KEY=your_google_api_key
    # Optional: Add more keys for rate-limit round-robin
    # GEMINI_API_KEY_1=...
    # GEMINI_API_KEY_2=...
  4. Run the development server:

    npm run dev
  5. Open your browser: Navigate to http://localhost:3000 and start reading!


📂 Project Structure

hypertext/
├── src/
│   ├── app/             # Next.js App Router pages
│   │   ├── page.tsx     # Home / Upload page
│   │   ├── read/        # Reading view
│   │   ├── library/     # User's saved books
│   │   └── auth/        # Authentication callbacks
│   ├── components/      # Reusable UI components
│   │   ├── EPUBViewer.tsx
│   │   ├── PDFViewer.tsx
│   │   ├── ContextSidebar.tsx  # Word definitions panel
│   │   └── HistoryPanel.tsx
│   └── lib/             # Utilities & API clients
│       ├── gemini.ts    # Gemini AI API wrapper
│       ├── supabase.ts  # Supabase client
│       └── apiKeyManager.ts # Key rotation for rate limits
├── public/              # Static assets
└── package.json

🤝 Contributing

We love contributions! Whether it's fixing a bug, improving documentation, or adding a new feature, your help is welcome.

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/amazing-feature).
  3. Commit your changes (git commit -m 'Add amazing feature').
  4. Push to the branch (git push origin feature/amazing-feature).
  5. Open a Pull Request.

📄 License

Distributed under the MIT License. See LICENSE for more information.


Made with ❤️ for readers who value flow.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages