ryzerrr commited on
Commit
067b86e
Β·
verified Β·
1 Parent(s): ae7cc03

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +87 -52
README.md CHANGED
@@ -1,68 +1,103 @@
1
- # CopyVault β€” Android Keyboard Prototype
 
 
 
 
 
 
 
 
 
 
 
2
 
3
- A high-fidelity web simulation of CopyVault, a clipboard-search Android keyboard (IME).
4
 
5
- ## About "My Notes"
6
 
7
- The "My Notes" screen you see in the prototype is **NOT** part of the actual CopyVault app. It is a demo host app used to show how the CopyVault keyboard slides up when a user taps any text field.
8
 
9
- **In the real APK build:**
10
- - CopyVault installs as an Android Input Method (IME)
11
- - The user enables it in Settings β†’ System β†’ Keyboard & Input Methods
12
- - The "My Notes" demo screen does NOT exist β€” the keyboard appears in ANY text field across the entire OS (Messages, Chrome, Gmail, WhatsApp, Notes apps, search bars, etc.)
13
- - To build the real APK, port this prototype's UI/UX/data model to native Android (Kotlin + Jetpack Compose + Room for storage)
 
14
 
15
- ## Run locally
16
 
17
- ```bash
18
- bun install
19
- bun run dev
20
- # open http://localhost:3000
21
- ```
 
 
22
 
23
- ## Tech stack
24
 
25
- - Next.js 16 (App Router)
26
- - TypeScript 5
27
- - Tailwind CSS 4
28
- - shadcn/ui
29
- - Zustand (state, persisted to localStorage)
30
- - Framer Motion (animations)
31
- - Lucide icons
 
 
32
 
33
- ## File structure
34
 
35
  ```
36
- src/
37
- β”œβ”€β”€ app/
38
- β”‚ β”œβ”€β”€ page.tsx # Marketing + phone frame
39
- β”‚ β”œβ”€β”€ layout.tsx
40
- β”‚ └── globals.css # Monochrome theme + trapezium CSS
41
- β”œβ”€β”€ components/
42
- β”‚ └── copyvault/
43
- β”‚ β”œβ”€β”€ HostApp.tsx # Notes host app + keyboard overlay
44
- β”‚ β”œβ”€β”€ PhoneFrame.tsx
45
- β”‚ β”œβ”€β”€ ThemeProvider.tsx
46
- β”‚ β”œβ”€β”€ keyboard/
47
- β”‚ β”‚ β”œβ”€β”€ CopyVaultKeyboard.tsx # Root IME + trapezium tabs + theme dropdown
48
- β”‚ β”‚ β”œβ”€β”€ ClipboardPanel.tsx # Search + clip list
49
- β”‚ β”‚ β”œβ”€β”€ TypingPanel.tsx # QWERTY
50
- β”‚ β”‚ β”œβ”€β”€ EmojiPanel.tsx # Emoji + GIF
51
- β”‚ β”‚ └── ClipCard.tsx # Clip rendering + smart actions
52
- β”‚ └── app/ # (unused in keyboard-only build β€” kept for reference)
53
- └── lib/
54
- └── copyvault/
55
- β”œβ”€β”€ store.ts # Zustand store
56
- β”œβ”€β”€ seed.ts # Demo data
57
- β”œβ”€β”€ entities.ts # Entity detection
58
- β”œβ”€β”€ types.ts
59
- └── search.ts
60
  ```
61
 
62
- ## Themes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
 
64
- Light / Dark / AMOLED / System β€” all monochrome (black/white/gray).
 
 
65
 
66
- ## Privacy
67
 
68
- Local-only by default. No telemetry. No cloud. (Cloud sync is a Pro feature shown as a CTA but not implemented.)
 
1
+ ---
2
+ license: mit
3
+ tags:
4
+ - android
5
+ - keyboard
6
+ - ime
7
+ - clipboard
8
+ - react
9
+ - nextjs
10
+ language:
11
+ - en
12
+ ---
13
 
14
+ # CopyVault Keyboard
15
 
16
+ **Search your clipboard like you search the web.** An Android keyboard (IME) that captures everything you copy and lets you search & re-paste it from any app.
17
 
18
+ ## Downloads
19
 
20
+ | File | Size | Description |
21
+ |------|------|-------------|
22
+ | [copyvault-keyboard.apk](https://huggingface.co/ryzerrr/copyvault-keyboard/resolve/main/copyvault-keyboard.apk) | 4.5 MB | Pre-built Android APK (ready to install) |
23
+ | [copyvault-full-project.zip](https://huggingface.co/ryzerrr/copyvault-keyboard/resolve/main/copyvault-full-project.zip) | 1.9 MB | Complete source: web app + Android project |
24
+ | [copyvault-full-project.tar.gz](https://huggingface.co/ryzerrr/copyvault-keyboard/resolve/main/copyvault-full-project.tar.gz) | 1.3 MB | Same, as tarball |
25
+ | [BUILD-GUIDE.md](https://huggingface.co/ryzerrr/copyvault-keyboard/resolve/main/BUILD-GUIDE.md) | β€” | Step-by-step build instructions |
26
 
27
+ ## Install the APK
28
 
29
+ 1. Download `copyvault-keyboard.apk` to your Android phone
30
+ 2. Tap the file to install (enable "Install from unknown sources" if prompted)
31
+ 3. Open **Settings β†’ System β†’ Keyboard & Input Method**
32
+ 4. Enable **CopyVault Keyboard**
33
+ 5. Set CopyVault as your default keyboard
34
+ 6. Copy anything anywhere β†’ it's captured to your searchable history
35
+ 7. Tap any text field β†’ use the **Clipboard** tab to search & paste
36
 
37
+ ## Features
38
 
39
+ - **Searchable clipboard history** β€” capture everything, search by text/type/source/time
40
+ - **Smart entity detection** β€” URLs, emails, phones, OTPs, tracking numbers, crypto addresses, code, colors, passwords
41
+ - **Three-panel keyboard** β€” Clipboard / Type (QWERTY) / Emoji
42
+ - **Trapezium-shaped tabs** β€” sleek, unique monochrome design
43
+ - **Themes** β€” Light / Dark / AMOLED / System
44
+ - **Incognito mode** β€” stops capture when enabled
45
+ - **Snippet templates** β€” type `;sig` + space β†’ expands to full signature
46
+ - **Local-only storage** β€” no cloud, no telemetry
47
+ - **System clipboard monitoring** β€” captures clips from any app
48
 
49
+ ## Architecture
50
 
51
  ```
52
+ User types on keyboard
53
+ ↓
54
+ TypingPanel β†’ useUI.typeChar("q")
55
+ ↓
56
+ UI store (imeMode=true) β†’ window.AndroidKeyboard.commitText("q")
57
+ ↓
58
+ WebAppInterface.commitText() β†’ InputConnection.commitText()
59
+ ↓
60
+ Text appears in the active app
61
+
62
+ User copies text anywhere
63
+ ↓
64
+ Android ClipboardManager fires listener
65
+ ↓
66
+ CopyVaultKeyboardService injects JS: window.__copyVaultAddClip(text, "Android")
67
+ ↓
68
+ Zustand store adds clip to history
69
+ ↓
70
+ Clip appears in the Clipboard panel, searchable
 
 
 
 
 
71
  ```
72
 
73
+ ## Build from source
74
+
75
+ See [BUILD-GUIDE.md](https://huggingface.co/ryzerrr/copyvault-keyboard/resolve/main/BUILD-GUIDE.md) for complete instructions.
76
+
77
+ Quick version:
78
+ ```bash
79
+ bun install
80
+ BUILD_EXPORT=true bun run build
81
+ node scripts/fix-assets.js
82
+ cp -r out/* android-keyboard/app/src/main/assets/
83
+
84
+ cd android-keyboard
85
+ echo "sdk.dir=/path/to/Android/Sdk" > local.properties
86
+ ./gradlew assembleDebug
87
+ adb install app/build/outputs/apk/debug/app-debug.apk
88
+ ```
89
+
90
+ ## Tech stack
91
+
92
+ - **Web app**: Next.js 16, TypeScript 5, Tailwind CSS 4, shadcn/ui, Zustand, Framer Motion
93
+ - **Android**: Kotlin, InputMethodService, WebView, ClipboardManager
94
+
95
+ ## Requirements
96
 
97
+ - Android 7.0 (API 24) or higher
98
+ - JDK 17 for building
99
+ - Android SDK 34 for building
100
 
101
+ ## License
102
 
103
+ MIT