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
.apkgCSV - 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
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.onLinedetection
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.
| Feature | Implementation |
|---|---|
| Extension Architecture | Manifest V3, Content Script + Popup + Background Service Worker |
| Toolbar Rendering | Isolated Shadow DOM (zero CSS leakage) |
| Translation | Google Translate API + LibreTranslate fallback |
| Audio | Web Speech API (native browser synthesis, no API key needed) |
| Storage | IndexedDB (offline-first) + chrome.storage.sync (cross-device) |
| Flashcard Export | Anki-compatible CSV/TXT format |
| Permissions | activeTab, 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 Metric | Manual Operational Baseline | Automated Easy Input Pipeline | Measured Impact |
|---|---|---|---|
| Cycle Latency | 3–15 minutes per task | Sub-500ms automated execution | 95%+ latency reduction |
| Throughput Capacity | 20–50 transactions / day | 5,000+ operations / session | 100x scale enhancement |
| Error & Drop Rate | 8–12% human data entry error | < 0.1% deterministic parser accuracy | 99% accuracy rate |
| Operating Infrastructure | Recurring third-party SaaS fees | Zero-infrastructure client runtime | 100% cost reduction |
Frequently Asked Questions
QDoes 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).
QHow 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.
QCan 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.
QCan 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.
