HANDNOTES FEATURE ASSESSMENT
What the web version at /journal_tools/handnotes/handnotes-app.html did when reviewed on September 27, 2026, what version 2.0.0 (local edition) changes, and what's still worth building.
Bottom line on v1
The typed-note editor worked. Nearly everything else either threw away what you made or depended on server endpoints (/api/notes/sync, /api/ai/*, /api/license/verify) that don't exist on jeffapierson.com. The worst problem: drawings, photos and recordings were never saved at all. The Draw tab's Save button created an empty note titled "Drawing." Photos and recordings lived only in memory and vanished on the next tab switch or reload.
A second serious bug: saving Settings once put the settings record into the same database table as notes. From then on the notes list tried to render that record as a note, hit a missing field, and crashed, so the list stayed blank.
v1 feature by feature
| Feature | v1 status | What actually happened | v2 |
|---|---|---|---|
| Typed notes | Partial | Save worked. Project dropdown always snapped back to "General," so every note was re-filed on save. No way to create a project from the editor. A quote mark in a title broke the title box. NEW threw away unsaved text with no warning. | Fixed Project kept, "+ New project" in dropdown, tags, autosave, unsaved-change warnings, word count |
| Notes list | Broken | Filled only once at page load. Switching to another tab and back showed an empty list. Crashed entirely after Settings had been saved (see above). | Fixed Always current, search covers tags and transcripts, sort options, thumbnails |
| Search | Partial | Title and text only. Threw an error on any note missing a title. | Fixed |
| Drawing save | Broken | Saved a note called "Drawing" with no image in it. Every drawing was lost. | Fixed PNG stored on the note, re-open and edit later |
| Drawing canvas | Broken | Picking a color or the eraser rebuilt the whole page and wiped the canvas. Resizing the window did the same. | Fixed Canvas survives color changes, tab switches and resizes |
| Eraser | Partial | Cut transparent holes instead of painting white, which would have exported as black or checkerboard. | Fixed |
| Undo | Partial | The first stroke could never be undone. No redo. | Fixed 30-step undo and redo, keyboard shortcuts |
| Camera capture | Broken | Photos held in memory only. Gone on tab switch or reload. Camera light stayed on after leaving the tab. | Fixed Saved to note, camera stops on tab change, import from disk |
| Audio recording | Broken | Finished recording was drawn into the list and then immediately erased by a full page re-render. Nothing persisted. | Fixed Saved to note with duration and transcript |
| Transcription | Broken | Never implemented. The Deepgram key field was unused. The transcript box always said "Transcript..." | Fixed Live browser transcription, or Deepgram after recording |
| Waveform | Partial | Drew a frequency spectrum on a stretched 300x150 canvas, blurry and not really a waveform. | Fixed |
| AI assistant | Broken | Locked behind a license check against a server endpoint that doesn't exist, so it always said "Pro feature." The Anthropic key field was unused. | Fixed Calls Anthropic directly with your key, six actions, apply results to note |
| License / Pro tier | Broken | Verification always failed (no endpoint). | Removed Everything unlocked |
| Server sync | Broken | Posted notes to /api/notes/sync, which doesn't exist. | Removed Replaced by backup, ZIP export and folder mirror |
| Server URL, MySQL, storage endpoint fields | Broken | Saved but never used by anything. | Removed |
| Markdown export | Works | Current note text only. | Kept Adds front matter and attachment links |
| ZIP export | Broken offline | Downloaded the JSZip library from a CDN at click time, so it failed without internet. Text only, files named by random ID. | Fixed Built-in ZIP writer, project folders, readable names, attachments included |
| Offline / installable | Broken | Service worker registered from a blob URL, which browsers reject. Manifest pointed at the site home page. | Replaced Real installers for Windows, Mac and Linux |
| Settings storage | Broken | Stored in the notes table, corrupting the list (see above). | Fixed Separate table, old settings migrated automatically |
| Zoom / accessibility | Partial | Page blocked pinch-zoom (user-scalable=no). | Fixed |
| Delete note | Works | Asked for confirmation. | Kept Also removes the note's attachments |
Added in v2.0.0
| Feature | Detail |
|---|---|
| New Attachments | Drawings, photos and recordings stored as real files inside the local database, tied to a note. |
| New Installers | Windows (Desktop + Start Menu + Apps list uninstall entry), macOS (.app bundle), Linux (.desktop). Per-user, no admin rights, dedicated storage folder. |
| New Uninstallers | Keep your notes unless you type DELETE. |
| New Full backup and restore | One JSON file with everything. Restore merges and never deletes. |
| New Folder mirror | Writes Markdown plus attachment files into any folder (Chrome/Edge). |
| New Persistent storage request | Asks the browser not to evict data when disk is low. Shows space used. |
| New Pen pressure and smoothing | Stroke width follows stylus pressure, curves are smoothed, high-rate pen input captured. |
| New Paper styles | Blank, lined, grid. |
| New Photo markup | Open any photo in Draw and annotate a copy. |
| New Import files | Attach images and audio from disk. |
| New Tags | Per note, searchable, shown on cards. |
| New Project management | Add, rename (moves notes), remove empty, default project. |
| New AI actions | Summarize, clean up, action items, title, translate, ask. Model picker. |
| New Keyboard shortcuts | Save, undo, redo. |
| New Data-loss guards | Warnings before leaving with unsaved text, drawing, or an active recording. |
| New Help file | Linked from the header and Settings. |
Still missing, in suggested build order
| Priority | Feature | Why | Effort |
|---|---|---|---|
| 1 | Handwriting to text | The app is called HandNotes, and handwriting can't be searched yet. Claude's vision can read a drawing and return text using the key already in Settings. No server needed. | Small |
| 2 | Trash with 30-day restore | Delete is permanent today. One mis-click costs a note. | Small |
| 3 | Scheduled backup reminder, or automatic backup into the mirror folder | Backups only happen when you remember. Auto-writing a dated JSON into the mirror folder once a day would cover most people. | Small |
| 4 | Test and code-sign the installers | Scripts were tested on Linux here. Windows and Mac scripts need a run on real machines. Signing removes the SmartScreen and Gatekeeper warnings (costs money for certificates). | Medium |
| 5 | Multi-page drawings and a text tool on the canvas | One page per drawing now. Notebooks and typed labels on sketches are the next ask for anyone using a tablet. | Medium |
| 6 | Highlighter, shapes, lasso select and move | Standard in every handwriting app. | Medium |
| 7 | Markdown preview in the editor | Notes export as Markdown but can't be viewed formatted inside the app. | Small |
| 8 | Two-way folder sync | Mirror only writes out. Reading changes back from the folder would let OneDrive or Dropbox carry notes between computers with no server of your own. | Large |
| 9 | Optional passphrase encryption | Notes sit unencrypted in the profile folder. Anyone with access to the computer account can read them. | Medium |
| 10 | Fully offline transcription | A Whisper model running in the browser would remove the last cloud dependency, at the cost of a large download and slow transcription on older machines. | Large |
| 11 | Phone install (Add to Home Screen) | Installers cover desktops. Phones use the web version, which works but has no home-screen icon or offline start. | Small |
| 12 | Note version history | Useful after an AI "Replace note text" you regret. | Medium |
| 13 | Pin, templates, reminders | Nice to have. | Small each |
Known limits of v2
Each copy of the app (installed, web, opened directly) keeps separate notes. Moving between them uses Backup and Restore. Folder mirroring only works in Chrome and Edge, and the browser asks for folder permission again after each restart. Chrome and Edge send live speech to their vendors' services while transcribing. Drawings and photos made in v1 can't be recovered because they were never stored.