diff --git a/docs/architecture/platform/android-prompts.md b/docs/architecture/platform/android-prompts.md deleted file mode 100644 index ec8c798..0000000 --- a/docs/architecture/platform/android-prompts.md +++ /dev/null @@ -1,627 +0,0 @@ -# MonOCR Complete Product Blueprint Prompt - -## Product Name - -MonOCR - ---- - -# Product Mission - -MonOCR is an open-source OCR tool designed to extract text from images and documents written in the **Mon language (mnw)**. - -The project exists because: - -- Mon language digital tools are extremely limited -- major tech companies do not support Mon -- Mon language usage is declining according to UNESCO - -MonOCR is part of **MonDevHub**, an initiative focused on: - -- digitizing Mon texts -- preserving cultural heritage -- enabling future Mon AI tools -- building community datasets - -The application should reflect: - -- respect for language -- cultural preservation -- transparency -- privacy -- open-source collaboration - -This product is not a commercial AI SaaS. - -It is a **community-driven digital preservation tool**. - ---- - -# Target Platforms - -The product must be designed for consistent UX across: - -### Web - -Primary platform. - -Runs OCR directly in browser. - -### Mobile - -Android and iOS. - -Supports camera scanning. - -### Desktop - -Electron or Tauri. - -Supports batch OCR and large files. - ---- - -# Design Philosophy - -The interface should feel like: - -- an academic research tool -- a digital archive utility -- a serious open-source project - -Avoid: - -- flashy startup aesthetics -- overly playful design -- aggressive marketing tone - -Inspired by: - -- Wikipedia -- Internet Archive -- Linear -- Vercel documentation -- Notion - ---- - -# Core UX Principles - -### 1. Privacy-first - -Make it clear that: - -OCR runs locally in the browser. - -Files are not uploaded unless the user chooses to share them. - ---- - -### 2. Simplicity - -The core workflow must be extremely simple. - -Upload -> OCR -> Copy text. - ---- - -### 3. Community Collaboration - -Encourage but never force participation. - -Users may: - -- report OCR errors -- submit corrections -- contribute scanned texts - ---- - -### 4. Transparency - -Explain that: - -- the model is early-stage -- accuracy will improve with community help - ---- - -# Design System - -Create a shared design system used across web, mobile, and desktop. - ---- - -## Color System - -Primary -deep maroon (cultural heritage tone) - -Accent -soft green for status - -Background -warm neutral white - -Example palette: - -Primary: #7C1D1D -Accent: #2E8B57 -Background: #FAFAF9 -Text: #1A1A1A -Muted: #6B7280 - ---- - -## Typography - -Fonts must support Mon script well. - -**Corrected 2026-08-26. This section used to specify "Noto Sans Mon / Noto Serif / -Inter". Do not follow it.** Two things were wrong: - -- **"Noto Sans Mon" is not a font.** The Noto family for this script is Noto Sans - Myanmar. -- **Noto Sans Myanmar cannot render this app's output.** Measured against the - model's 276-character charset with fontTools: it covers **96 of 276**, and the - 180 it misses include **every ASCII letter and every ASCII digit** — it is a - script-only font with no Latin alphabet. English and numbers in a recognised - page would render as tofu. Its Mon coverage is fine (9/9); Latin is the problem. - -What actually ships on all three apps, and what to keep using: - -| | Font | Charset coverage | Mon block | Shaping | -|---|---|---|---|---| -| Primary | **Pyidaungsu 2.053** (bundled) | 213 / 276 | 9 / 9 | `mym2`, full feature set | -| Latin/UI | Inter | Latin only, no Myanmar | — | — | - -Pyidaungsu's 63 uncovered codepoints are all accented Latin and symbols -(`é ü ñ ç ø š ² § π`), not Mon or Burmese: Mon is complete, Burmese U+1000–U+103F -is complete, and ASCII is 95/95. If those accented characters ever need to render, -**Padauk** covers 274/276 under the same OFL 1.1 licence and is already vendored at -`MonFontsArchive/unicode/Padauk/` — that is the fallback to reach for, not Noto. - -**Never select a font by coverage alone.** `MonFontsArchive/zawgyi/UniMon.ttf` -scores 275/276 — better than anything else measured — and is unusable: it is -Zawgyi-encoded, registers its OpenType features under the **Arabic** script tag, -and puts a medial-YA glyph at U+103A where ASAT belongs. Check the GSUB script tag -is `mymr` or `mym2` before trusting a number. - -Use: - -large readable Mon text -clear line spacing - ---- - -## Spacing - -Use generous spacing. - -Avoid dense UI. - ---- - -# Product Architecture - -The application contains several main modules. - ---- - -# Module 1: OCR Workspace - -This is the main screen. - -Primary user workflow: - -Upload -> OCR -> Extract text. - ---- - -## Upload Component - -Allow multiple input methods. - -Supported: - -drag and drop -file selection -camera capture (mobile) -PDF upload - -Supported formats: - -PNG -JPG -WEBP -PDF - ---- - -## OCR Processing - -Show processing stages. - -Examples: - -Loading OCR model -Processing image -Extracting text - ---- - -## Image Preview - -Display the uploaded image. - -Features: - -zoom -pan -rotate - -Optional future feature: - -crop tool - ---- - -## OCR Results Panel - -Display extracted text clearly. - -Include statistics: - -word count -character count -processing time - ---- - -## Action Buttons - -Copy text -Download TXT -Download JSON -Share text - ---- - -# Module 2: OCR Error Reporting - -This feature is critical for improving the model. - -Users can report errors after OCR results. - ---- - -## Feedback Modal - -Fields: - -Feedback Type - -Options: - -OCR Error -General Feedback -Dataset Contribution -Feature Request -Other - ---- - -## OCR Error Mode - -If OCR Error is selected: - -Show original OCR result. - -Allow user to submit: - -Corrected text. - -This creates valuable training data. - ---- - -## Description Field - -Multiline text input. - -Users can write in: - -Mon -Burmese -English -Thai - ---- - -## File Attachments - -Allow uploading supporting files. - -Supported types: - -Images -PDF -TXT -DOCX - -Used for: - -screenshots -datasets -example texts - ---- - -## Identity Option - -Users can choose: - -Anonymous submission - -or - -Provide contact info. - -Fields: - -Name -Email - -Both optional. - ---- - -## Consent Checkbox - -Important for dataset usage. - -Example: - -"I allow this data to be used to improve MonOCR." - ---- - -# Module 3: Dataset Contribution - -Dedicated page for sharing Mon texts. - -Purpose: - -build datasets for future Mon language models. - ---- - -## Dataset Submission Form - -Fields: - -Dataset title -Description -Language type - -Options: - -Mon -Mon + Burmese -Other - -Upload files. - ---- - -## Supported Files - -PDF -Images -TXT -DOCX - ---- - -## Dataset Notice - -Explain clearly: - -Datasets help improve Mon language AI tools. - ---- - -# Module 4: Documentation - -Provide a documentation section. - ---- - -## Documentation Pages - -### Getting Started - -Explain how to use MonOCR. - ---- - -### Image Quality Tips - -Explain how to get better OCR results. - -Example tips: - -high resolution -good lighting -straight alignment - ---- - -### Supported Formats - -List supported file types. - ---- - -### Privacy - -Explain local processing. - ---- - -### Contributing - -Explain: - -reporting issues -dataset sharing -GitHub contributions - ---- - -# Module 5: About Page - -Explain the mission. - -Content example: - -MonOCR is an open-source OCR project developed by MonDevHub to preserve and digitalize the Mon language. - -Due to the lack of available datasets, the OCR model was trained using manually collected text images. Community participation is essential to improve the model and build future Mon language technologies. - ---- - -# Module 6: Community Page - -Encourage collaboration. - -Sections: - -Report OCR errors -Contribute datasets -Join development - -Include GitHub link. - ---- - -# Navigation - -Main navigation structure. - -Header navigation: - -Home -Documentation -Community -About -GitHub - ---- - -# Footer - -Footer includes: - -MonDevHub -GitHub -Documentation -Dataset contribution -Contact - ---- - -# Mobile UX - -Mobile layout must be optimized. - -Flow: - -Header -Engine ready badge -Image preview -Extracted text -Actions -Feedback - ---- - -# Desktop UX - -Desktop layout should use a two-column layout. - -Left column: - -image preview - -Right column: - -OCR text results - ---- - -# Performance Requirements - -The application must be: - -fast -lightweight -offline capable - -Avoid heavy frameworks. - ---- - -# Accessibility - -Ensure accessibility compliance. - -Support: - -screen readers -high contrast mode -large font options -keyboard navigation - ---- - -# Analytics (Optional) - -Only collect minimal anonymous metrics. - -Examples: - -OCR usage count -processing speed - -Never collect user files without explicit permission. - ---- - -# Future Feature Expansion - -Design architecture that can support: - -multi-page OCR -batch processing -model versioning -language dataset hub -Mon language tools - ---- - -# Emotional Tone - -When users use MonOCR they should feel: - -This project respects Mon language and culture. - -Their participation helps preserve the language. - ---- - -# Final AI Builder Prompt - -Use the following to generate the product UI. - -Design and build a cross-platform OCR application called MonOCR for Web, Android, iOS, and Desktop. The application extracts text from images and PDFs written in the endangered Mon language (mnw). OCR processing runs locally on-device to ensure privacy and offline usage. The UI must be clean, minimal, and accessible, inspired by Wikipedia, Internet Archive, and modern developer tools. Include image upload, OCR processing, extracted text display, copy/download features, OCR error reporting, dataset contribution forms, documentation pages, and an about section explaining the mission of preserving the Mon language. The interface must remain consistent across platforms and emphasize privacy, transparency, and community collaboration.