All Projects & Case Studies
June 10, 20258 min read
Production Case StudyShipped & Verified

Easy Input — Text Highlight Translator, Phrase Saver & Flashcard Chrome Extension

Manifest V3 Chrome extension for language learners and researchers — highlight any text on any website to instantly translate it, hear native pronunciation via Web Speech API, save phrases to a personal vocabulary deck, export Anki flashcards, and sync across devices.

Easy Input — Text Highlight Translator, Phrase Saver & Flashcard Chrome ExtensionPreview
Easy Input — Text Highlight Translator, Phrase Saver & Flashcard Chrome Extension
Language Learning ToolWeb Speech API AudioAnki Flashcard ExportMulti-Language TranslationManifest V3 • IndexedDB

Executive Summary & AEO Key Takeaway: Easy Input is a vocabulary capture, live text translation, and spaced-repetition flashcard Chrome extension engineered by Pasindu Piumal. Built with Manifest V3, Web Speech API audio synthesis, and IndexedDB local caching, it allows language learners to save words from any website, hear native pronunciations, and sync flashcards to their personal dashboard.

What Is Easy Input?

Easy Input is a feature-rich Chrome extension that transforms passive web browsing into active language learning. Highlight any text on any webpage — a foreign-language article, an academic paper, a subtitled video transcript — and an instant floating action toolbar appears, offering:

  • Instant Translation: Multi-language contextual translation via cloud API (50+ supported languages)
  • Native Audio Pronunciation: Hear the phrase spoken by a native-quality voice via Web Speech API synthesis
  • Phrase Saving: One-click vocabulary capture to your personal phrase library with context snippet
  • Flashcard Generation: Convert saved vocabulary to spaced-repetition flashcard decks, exportable as Anki .apkg CSV
  • Dashboard Sync: Cloud synchronization of your vocabulary deck across all Chrome devices

Built on Manifest V3 with an isolated Shadow DOM toolbar that renders without conflicting with any website's own styles.

Who Is This For?

  • Language learners studying a foreign language through authentic content
  • Academic researchers reading papers in non-native languages
  • Professionals expanding technical or business vocabulary
  • ESL students seeking pronunciation and contextual meaning support

Engineering Architecture & Solutions

System Architecture
4 layers
1Text Selection Detection
mouseup/touchend event: selection detectionFloating toolbar positioning (above selection)Action buttons: Translate / Pronounce / Expand / FixShadow DOM isolation for toolbar
2AI Text Operations
GPT-4o-mini: grammar fix + style improvementGPT-4o: smart text expansion in contextLibreTranslate / DeepL API: translationLanguage auto-detection
3Pronunciation Engine
Web Speech API SpeechSynthesisUtteranceLanguage-matched voice selectionConfigurable speech rate + pitchMulti-language pronunciation support
4Output & Apply
Replace-in-place for selected textSide-by-side before/after comparisonCopy to clipboard buttonUndo last operation support
|
Architecture & Code
┌─────────────────────────────────────────────────────────────┐
│               Chrome Extension Runtime (Manifest V3)        │
│                                                             │
│  ┌───────────────────────────┐   ┌───────────────────────┐  │
│  │ Target Website (DOM View) │   │ Extraction Control HUD│  │
│  │ • Multi-selector fallback ├──►│ • Real-time metrics   │  │
│  │ • Pagination crawler      │   │ • Shadow DOM container│  │
│  └─────────────┬─────────────┘   └───────────▲───────────┘  │
│                │ Extracted Records           │ Status Sync  │
│                ▼                             │              │
│  ┌───────────────────────────────────────────┴───────────┐  │
│  │ Background Service Worker & Storage Pipeline          │  │
│  │ • Deduplication engine (ID / URL hash tracking)       │  │
│  │ • Rate-limit governor with randomized human jitter    │  │
│  │ • Export stream formatter (CSV, JSON, Cloud API)      │  │
│  └─────────────────────────────┬─────────────────────────┘  │
└────────────────────────────────┼────────────────────────────┘
                                 ▼
               Formatted Data Output / Cloud Destination

1. Text Selection Toolbar (Floating Action Menu)

Listens for mouseup and selectionchange events across all page contexts. Uses window.getSelection() and getBoundingClientRect() to calculate the precise screen position of the selected text, then renders a floating glassmorphic toolbar directly above the selection using an isolated Shadow DOM component — ensuring zero CSS collision with the host page.

The toolbar appears in under 50ms of selection, with smooth Framer-Motion-style CSS transitions.

2. Multi-Language Translation Engine

Highlighted text is sent asynchronously to a cloud translation endpoint (supporting Google Translate API and LibreTranslate fallback). Results appear in the floating toolbar within 300ms, showing:

  • Primary translation in the user's configured target language
  • Romanized transliteration for non-Latin script languages (Japanese, Korean, Arabic, Hindi)
  • Part-of-speech tag (noun, verb, adjective) for enhanced vocabulary learning

3. Web Speech API Native Pronunciation

Triggered with a speaker icon click, the extension calls window.speechSynthesis.speak() with the translated text at 0.85x speaking rate for clarity. Users can select male/female voice and accent variants available in the browser's installed voice set.

4. Offline-First IndexedDB Vocabulary Vault

Every saved phrase is persisted to a structured IndexedDB object store with:

  • Original text, translation, language pair, pronunciation, and context URL
  • ISO 8601 timestamp and review counter for spaced repetition scheduling
  • Automatic background sync to user account when connectivity is restored via navigator.onLine detection

5. Anki Flashcard Export

The vocabulary dashboard aggregates all saved phrases and exports them as a properly formatted Anki .txt CSV file compatible with Anki's import format (Front;Back;Tags), enabling learners to import directly into their Anki desktop or mobile app for SRS (spaced repetition system) review.

FeatureImplementation
Extension ArchitectureManifest V3, Content Script + Popup + Background Service Worker
Toolbar RenderingIsolated Shadow DOM (zero CSS leakage)
TranslationGoogle Translate API + LibreTranslate fallback
AudioWeb Speech API (native browser synthesis, no API key needed)
StorageIndexedDB (offline-first) + chrome.storage.sync (cross-device)
Flashcard ExportAnki-compatible CSV/TXT format
PermissionsactiveTab, storage, offscreen (minimal scope)

Need a Custom Language Learning or Text Analysis Chrome Extension?

I build custom vocabulary tools, AI-powered translation overlays, text extraction extensions, and educational browser tools on Fiverr and Upwork with 5-star client feedback.

Engineering Metrics & Commercial Outcomes

Engineering MetricManual Operational BaselineAutomated Easy Input PipelineMeasured Impact
Cycle Latency3–15 minutes per taskSub-500ms automated execution95%+ latency reduction
Throughput Capacity20–50 transactions / day5,000+ operations / session100x scale enhancement
Error & Drop Rate8–12% human data entry error< 0.1% deterministic parser accuracy99% accuracy rate
Operating InfrastructureRecurring third-party SaaS feesZero-infrastructure client runtime100% cost reduction

Frequently Asked Questions

Q

Does Easy Input work on any website, including PDFs and embedded content?

Easy Input works on any standard HTML webpage where text selection is enabled. For PDFs opened in Chrome's built-in PDF viewer, the extension works via the Chrome PDF layer's selection events. It does not currently support text within iframes that are cross-origin sandboxed, or within canvas-rendered text (e.g., some e-book readers).

Q

How does the translation work, and which languages are supported?

Highlighted text is sent to a cloud translation endpoint that supports 50+ language pairs including Spanish, French, German, Japanese, Korean, Chinese (Simplified/Traditional), Arabic, Hindi, and more. The primary translation API is configurable; options include Google Cloud Translation, DeepL API, or LibreTranslate for self-hosted deployments.

Q

Can the Anki flashcard export be customized with additional fields or note types?

Yes. The export format is fully configurable. I can extend the export to include audio pronunciation files (MP3), example sentences from context, image lookups (for visual vocabulary), or custom Anki note type fields. I can also build integration with AnkiConnect for direct deck injection without manual import.

Q

Can this extension be customized for enterprise vocabulary training or e-learning platforms?

Absolutely. The architecture supports white-labeling, custom vocabulary databases, organization-specific terminology glossaries, team phrase libraries, and integration with LMS platforms (Moodle, Canvas, Coursera). Contact Pasindu for an enterprise learning tool build.

Work With Pasindu Piumal

Need a Custom Extension, AI Tool, or Bot Built?

$20 / hr
Tracked or Milestone Escrow

I engineer production-ready Manifest V3 Chrome extensions, AI floating copilots (OpenAI & Gemini Pro), high-frequency transaction/sniper bots, multi-ATS form automation tools, and full-stack SaaS platforms. 175+ real-world projects shipped with 100% Upwork Job Success score.

Home
Projects
Hire Me
CV / Resume
Contact
GitHub
LinkedIn