Meltype
This is Japanese input that melts the wall between half-width and full-width, like thawing snow.
AI translation
Keep a private diary that replies to you in a chosen AI voice
AI summary · website content
ProductivityHTML · JavaScriptGitHub @BhawnaVatsa3012OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A private diary that writes back. You choose who you need right now (Dear diary, Best friend, Spouse, Mom, or "You decide"), write, and get a short reply in that voice, ending with a handwritten "I know."
This repository is the web version, ready for Vercel.
| Part | What it does |
|---|---|
index.html | The whole app (built from src/iknow.html). |
standalone.js | Lets the app run on its own website: replies go through /api/sample, exports become normal downloads, and the diary is stored in the phone's own browser. |
api/sample.js | A Vercel serverless function. It adds your Anthropic API key and calls the Claude Messages API. It stores and logs nothing. |
vercel.json | Security headers. No build step is needed. |
Where the diary lives: only in the browser on the phone that uses it (localStorage). There is no account and no database. Clearing browser data or switching phones loses the diary, so users should use Settings → Export my diary now and then.
What leaves the phone: only the text needed to write a reply, sent through /api/sample to Anthropic's API.
Add these under Project → Settings → Environment Variables, then redeploy:
| Variable | Required | Purpose |
|---|---|---|
ANTHROPIC_API_KEY | Yes | Your key from console.anthropic.com. Without it, replies show "Replies aren't switched on yet". |
IKNOW_ACCESS_CODE | Recommended | An invite code. When set, each phone must enter it once before replies work, so strangers who find the link can't spend your API credit. |
IKNOW_DEVICE_SECRET | Recommended | Turns on phone-specific codes (replaces IKNOW_ACCESS_CODE). A long phrase only you know, at least 20 characters. Changing it switches off every phone's code at once. |
IKNOW_REQUEST_WHATSAPP | With phone codes | Your WhatsApp number with country code, e.g. 919800000000. The app's "Request a code" button opens WhatsApp to this number with the phone's ID filled in. |
IKNOW_REQUEST_EMAIL | Optional | An email address for code requests, as well as or instead of WhatsApp. |
IKNOW_REVOKED_DEVICES | Optional | Link IDs or phone IDs to switch off, separated by commas, e.g. X9A5-Y3RJ, NY4C-ECWJ. |
BLOB_READ_WRITE_TOKEN | For sign-in links | Added automatically when you connect a Vercel Blob store to the project (Storage → Create → Blob). |
ANTHROPIC_WORKSPACE_ID | Only if needed | Needed only when your API key isn't tied to a workspace (Anthropic then says the request "must include the anthropic-workspace-id header"). Copy the ID from console.anthropic.com → Workspaces. Easier: create the key inside a workspace instead. |
ANTHROPIC_MODEL | No | Model for replies. Default claude-sonnet-5-5. |
ANTHROPIC_MODEL_QUICK | No | Model for quick tasks (picking a voice, style summaries). Default claude-haiku-5-5. |
The function also limits each IP address to 20 requests a minute (best effort).
Access is managed by a small service (Supabase Edge Function iknow-access, source in supabase/functions/iknow-access/) with its own private database schema iknow.
/owner and create your username and password. To prove it's you, it checks your current IKNOW_ACCESS_CODE (read from your phone automatically if you've used the app there). Only a PBKDF2 hash of the password is stored.IKNOW_REQUEST_WHATSAPP is set)./owner. It takes effect on that phone within about 30 seconds. No Vercel settings, no redeploys.Once the owner account exists, the shared invite code no longer gives anyone access; it is only used as a fallback if the access service is unreachable. Stored per phone: a hash of a random token made by that browser, the name they typed, status and dates. No diary text.
Needs IKNOW_DEVICE_SECRET and a Vercel Blob store connected to the project.
/owner, enter your secret, tap Make a sign-in link, then Copy a message to send.The Blob store holds only iknow-used/<linkId> markers. No names, no diary text. Replies are checked by signature, so there is no lookup per reply.
With IKNOW_DEVICE_SECRET set, every phone (or browser) gets its own ID, like NY4C-ECWJ, the first time it asks for a reply.
/owner on this site (e.g. know-zeta.vercel.app/owner), enter your secret and their phone ID, and get their code, e.g. 772M-GECM.No database is used: a code is a signature of the phone ID made with your secret, so the server can check it without storing anything. The owner page works the code out in your own browser and sends nothing anywhere.
A new browser, a private window, or clearing browser data gives that phone a new ID, so it needs a new code (its old diary is gone in that case anyway).
Edit src/iknow.html, then rebuild index.html:
python3 build.py
src/iknow.html is the same file that runs inside Claude as an artifact. build.py only adds the standalone adapter and web-accurate privacy wording.
Tele-MANAS 14416 / 1-800-891-4416 (India, free, 24×7) and emergency 112. Dear Mann is not therapy, medical, legal or emergency advice.