Demo videos:
Grant Progress Report ā October
Progress resumed after earlier paperwork delays; the current cycle focused on solidifying the editor UX, hardening the plugin layer, and closing out extended-Markdown support.
Highlights
-
Stable focus & scroll for new blocks.
FlatList reveal retries plus the dedicatedFocusManagerkeep the caret aligned with the userās context (components/editor/core/EditorCore.tsx#L337, components/editor/utils/FocusManager.ts#L46). -
Depth-aware heading and quote UX.
Animated rails reflect hierarchy, while the quote block now tracks per-line depth with visual feedback (components/editor/plugins/built-in/HeadingPlugin.tsx#L65, components/editor/plugins/built-in/QuotePlugin.tsx#L147). -
Contextual tooling for block depth & history.
The floating toolbar exposes level/depth controls and safe delete, while the redesigned top bar centralises add-block and undo/redo (components/editor/components/BlockActionToolbar.tsx#L227, components/editor/core/EditorCore.tsx#L1097). -
Plugin architecture refinements.
Built-in plugins are singletons and feed a sharedPluginRegistry, preventing duplicate registration across renders (components/editor/MarkdownEditor.tsx#L388, components/editor/core/EditorProvider.tsx#L256). -
Extended Markdown parity.
Footnotes, definition lists, and inline extensions (strikethrough, highlight, sub/superscript, emoji) round-trip through the registry with dedicated regression tests (components/editor/utils/MarkdownRegistry.ts#L212, tests/extended-markdown.test.ts#L1). -
Tests
Implemented many tests, you can run it throughbun run test
Next Steps
- Helia remains out-of-scope for Expo/React Native (native bindings missing), so the follow-up milestone will target a direct Pinner.xyz API integration instead.
- Expand collaborative features: introduce workspaces, explore a web build, and address the open bug list (tables, video blocks, assorted UI glitches).
Community & Support
- GitHub issues are enabled with issue/feature-request templatesānew bugs or enhancement ideas are welcome via the tracker: Sign in to GitHub Ā· GitHub
- Pinner.xyz integration, workspace support, web build, and bug fixes will be captured as GitHub issues for community visibility as the roadmap progresses.
Repository: GitHub - StringNick/decanotes
P.S.: Release assets and distribution flow for App Store / Play Store submissions; storefront links and the video demo will follow in the few hours/day.
Hello @StringNick,
Thank you for your final progress report and congratulations on completing your grant!
The Team will reach out to you shortly regarding the wind-down of your grant.
Regards,
Kino on behalf of the Sia Foundation and Grants Committee
Hi @StringNick - please reformat your report to follow the Development Guide guidelines for ease of technical review.
And since this is the final report for your grant, reference the Monthly Grant Report Template | Sia (at the bottom) for the missing items that will also need to be included.
You can tag me in a reply to let me know when itās fully ready for review.
DecaNotes ā Final Grant Report
Executive Summary
In October 2025, DecaNotes reached a stable MVP blockābased Markdown editor, clientāside encryption architecture, and a working renterd storage integration. This cycle focused on extended Markdown parity (including tables), editor UX stability (autosave, focus/scroll, keyboard ergonomics), storage/auth hardening, and distributionāreadiness (versioning, app metadata, privacy policy, documentation).
Repository: GitHub - StringNick/decanotes
Objectives vs. Deliverables
- Objective: Mobileāfirst, openāsource, privacyāfirst notes app with native syncing, decentralized storage (Sia), and no vendor lockāin.
- Delivered (Oct 7 ā Oct 30):
- Extended Markdown: table block support with parsing. feat(editor): add table block support
- Editor ergonomics: new MarkdownEditorRef methods; improved keyboard handling; font/layout simplification. feat(editor): add new methodsā¦, refactor(editor): simplify font stylingā¦
- Quotes: multiālevel quote depth handling. feat(quote): add multi-level quote supportā¦
- Autosave UX: debounced autosave, saveāstatus toast, basic formatting actions. feat(editor): add debounced auto-saveā¦
- Settings: persist autoāsave and enforce in editor. feat(storage/settings/editor): persist auto-saveā¦
- Storage/auth: renterd auth via baseā64; refined save flow. fix(storage): use base-64ā¦
- UI/app configuration:
- Disable IPFS method in UI (pending pinner integration), simplify filters, theme picker, typography/elevation tweaks. feat(ui): disable IPFS methodā¦
- Ināapp version with commit hash link to GitHub; dynamic build number via expoāconstants. feat(settings): display app versionā¦, feat(settings): display dynamic app versionā¦
- Icon/splash updates. chore(app): update app.json icon and splashā¦
- Settings cleanup; Help & Support opens GitHub Issues in browser. refactor(settings): ā¦open GitHub issues
- Docs & legal:
- README updated with project details and simplified instructions. docs: update READMEā¦
- Privacy Policy added (PRIVACY-POLICY.md). docs(legal): add privacy policyā¦
Technical Highlights
- Editor
- Block architecture: tables, quotes with depth, headings, lists, checklists, code, callouts, images, footnotes, definition lists; inline extensions (strikethrough, highlight, sub/superscript, emoji).
- Keyboard navigation and improved ref API for programmatic control. feat(editor): add new methodsā¦
- Debounced autosave and status feedback toasts. feat(editor): add debounced auto-saveā¦
- Storage
- Local offline storage via AsyncStorage.
- Renterd backend with corrected basic auth (baseā64) and refined save flow. fix(storage): use base-64ā¦
- App/UX
- Ināapp versioning with commit hash and dynamic build number for reproducible QA. feat(settings): display app versionā¦, feat(settings): display dynamic app versionā¦
- Theme picker and elevation/typography polish; IPFS method temporarily disabled in UI. feat(ui): disable IPFS methodā¦
Environment
- Framework: React Native with Expo SDK 54 (updated from 53)
- Languages: TypeScript
- Tooling: Bun (tests), Expo CLI
Build & Run (Reproducibility)
- Prereqs: Node/Bun, Expo CLI, Expo SDK 54.
- Steps:
- Clone repository: GitHub - StringNick/decanotes
- Follow README for install/run. docs: update READMEā¦
- Launch mobile via Expo (iOS/Android).
- Verify Settings shows version + commit hash link to GitHub. feat(settings): display app versionā¦
- Tests:
- Run:
bun run test - Focus areas: autosave (toggle persists and governs editor behavior), table parsing/rendering, renterd save/auth flow.
- Run:
Verification Notes
- Autosave:
- Toggle in Settings persists; editor respects setting; toast confirms debounced saves. feat(storage/settings/editor)ā¦, feat(editor): add debounced auto-saveā¦
- Tables:
- Markdown input with table syntax renders block correctly and roundātrips. feat(editor): add table block support
- Renterd:
- Auth header uses baseā64; save flow executes without error. fix(storage): use base-64ā¦
- Versioning:
- Settings screen displays build number and commit link via expoāconstants. feat(settings): display dynamic app versionā¦
Community & Compliance
- Issues enabled; Help & Support opens GitHub Issues for bug reports/feature requests. refactor(settings)ā¦
- Privacy: PRIVACY-POLICY.md included in repo. docs(legal): add privacy policyā¦
Risks, Constraints, Lessons
- Constraint: IPFS Helia lacks native RN/Expo bindings; IPFS path disabled in UI pending a hosted pinner API integration. feat(ui): disable IPFS methodā¦
- Lessons:
- Persisted settings and explicit save feedback reduce dataāloss risk.
- Exposing build/commit ināapp improves reproducibility for technical review and user reports.
Next Steps (PostāGrant)
- Integrate a hosted pinner API for IPFSācompatible workflows while keeping renterd primary.
- Explore a web build; add workspaces/collaboration; address bug list (tables/video blocks polish).
- Finalize App Store / Play Store distribution using updated icon/splash assets. chore(app): update app.json icon and splashā¦
Status
Completed. Reformatted per Development Guide/Monthly Template for technical review, with explicit deliverables, reproducible build/run steps, verification, and artifacts.
- Repository: GitHub - StringNick/decanotes
- Issues: GitHub Issues
Latest build, demo: https://youtube.com/shorts/OYT2dGBNAR8
Hi @StringNick - this is the final notice for your October final report.
As discussed over email, the above report is still not compliant with the format required in the Development Guidelines and your timeline will need to be updated given the delay with posting your app to Apple and Play Stores.
Please post your full and complete report by 9am ET tomorrow (November 4th), to be able to still receive your technical review during this review cycle, otherwise this will add to delays to payment.
DecaNotes Progress Final Report
Progress Reporting
| Milestone | Task | Pull Request(s) | Additional Notes |
|---|---|---|---|
| 1: Advanced Editor Features & Block Management | 1. Multi-level quote support with depth handling | 28b8a19 | Quote block enhancements with proper depth management and multi-line support |
| 1: Advanced Editor Features & Block Management | 2. Font styling and component layout refactoring | a7f63b8 | Simplified font styling patterns and improved component layouts |
| 1: Advanced Editor Features & Block Management | 3. Enhanced MarkdownEditorRef API and keyboard handling | 622fc1b | Added new methods and improved keyboard event handling |
| 1: Advanced Editor Features & Block Management | 4. Table block support with markdown parsing | 17f87cb | Full table block functionality with markdown parsing |
| 2: Editor Infrastructure & Focus Management | 1. FocusManager and virtualized FlatList implementation | 4a904ef (Develop #2) | FocusManager component for block focus/scroll; replaced ScrollView with virtualized FlatList |
| 2: Editor Infrastructure & Focus Management | 2. Focus handles on built-in block plugins | 4a904ef | Converted all built-in blocks to use forwardRef + useImperativeHandle |
| 2: Editor Infrastructure & Focus Management | 3. Block action toolbar and improved quote handling | 4a904ef | BlockActionToolbar for block management; depth management |
| 2: Editor Infrastructure & Focus Management | 4. Keyboard controller integration and reveal flow | 4a904ef | Optional keyboard controller; improved focus/scroll reveal lifecycle |
| 2: Editor Infrastructure & Focus Management | 5. Large cleanup and feature improvements | 4a904ef | Comprehensive refactoring across core, plugins, UI with improved error handling |
| 3: Editor Features & User Experience | 1. Blocks ā Markdown toggle functionality | a24d597 (PR #4) | Convert between block-based editor and raw markdown view |
| 3: Editor Features & User Experience | 2. Markdown to blocks parsing with plugins | 172655c (PR #5) | Markdown parser uses built-in plugins for proper block creation |
| 3: Editor Features & User Experience | 3. Debounced auto-save functionality | 05e5ab6 | Auto-save with debouncing and save-status toast notifications |
| 3: Editor Features & User Experience | 4. Auto-save setting persistence | 2344377 | Persist auto-save preference in settings |
| 3: Editor Features & User Experience | 5. Add block button UI | 4a904ef | Visible āAdd blockā button replaces invisible tap area |
| 3: Editor Features & User Experience | 6. Keyboard dismissal on block actions | 4a904ef | Keyboard dismisses when opening block menu or inserting |
| 4: App Configuration & Settings | 1. GitHub issues template and documentation | 49da486 (PR #3) | GitHub issue templates; cleaned up documentation |
| 4: App Configuration & Settings | 2. App icon and splash configuration | 1913613 | Updated adaptive icons and splash images for iOS/Android |
| 4: App Configuration & Settings | 3. Dynamic app version display | e084880 & d438e92 | Version display with build number; commit hash linking to GitHub |
| 4: App Configuration & Settings | 4. Privacy policy implementation | d438e92 | Added PRIVACY-POLICY.md documentation |
| 4: App Configuration & Settings | 5. Settings UI improvements | 7fc2b2f | Removed notifications toggle; Help & Support opens GitHub issues |
| 5: Storage & Backend Improvements | 1. Base-64 renterd authentication | 88d55b2 | Renterd backend uses base-64 encoding for auth |
| 5: Storage & Backend Improvements | 2. IPFS feature removal from UI | eaf2168 | Removed IPFS mentions and export from UI |
| 6: UI/UX Enhancements | 1. IPFS method disabled with simplified filters | 0741848 | IPFS storage option disabled; simplified filters |
| 6: UI/UX Enhancements | 2. Theme picker implementation | 0741848 | Replaced theme switch with comprehensive picker |
| 6: UI/UX Enhancements | 3. Typography and elevation improvements | 0741848 | Enhanced typography consistency; added elevation system |
| 6: UI/UX Enhancements | 4. Animated block wrappers | 4a904ef | AnimatedBlockWrapper for smooth focus animations |
| 6: UI/UX Enhancements | 5. Enhanced focus states | 4a904ef | Animated focus states with background/border transitions |
| 7: Dependencies & Build Configuration | 1. Dependency updates | 4a904ef | Updated expo, react, react-native, reanimated and others |
| 7: Dependencies & Build Configuration | 2. Bundle identifier update | 4a904ef | Enhanced production build configuration |
| 7: Dependencies & Build Configuration | 3. Build system improvements | 4a904ef | Improved build consistency across targets |
App Store: āDecaNotes App - App Store
PlayMarket: https://play.google.com/store/apps/details?id=com.stringnick.decanotes
Hi @StringNick - great to see the breakdown of your commits for your work but you are missing other elements to your final report so we can hear more fully about your process for this grant. You can copy and paste the questions we need answered to mark this a complete final report from the template at the bottom of this webpage.
Final Report ā DecaNotes (Small Grant, Sia Foundation)
What progress was made on your grant this month?
A significant portion of the Markdown editor and renderer has been implemented, along with a large test suite for the renderer. I additionally built a custom Markdown editor (outside the original grant allocation). Environment and UX were improved: ināapp version with commit hash, dynamic build number, themes, and visual polish. Basic auth (baseā64) for renterd and the save flow were corrected. The IPFS path is temporarily disabled in the UI due to missing native RN/Expo bindings (planned workaround via a hosted pinner API).
Detail tasks worked on this month per milestone with the appropriate Pull Request(s) links as outlined in the guide:
DecaNotes Progress Report: October - November 2025
Progress Reporting
| Milestone | Task | Pull Request(s) | Additional Notes |
|---|---|---|---|
| 1: Advanced Editor Features & Block Management | 1. Multi-level quote support with depth handling | 28b8a19 | Quote block enhancements with proper depth management and multi-line support |
| 1: Advanced Editor Features & Block Management | 2. Font styling and component layout refactoring | a7f63b8 | Simplified font styling patterns and improved component layouts |
| 1: Advanced Editor Features & Block Management | 3. Enhanced MarkdownEditorRef API and keyboard handling | 622fc1b | Added new methods and improved keyboard event handling |
| 1: Advanced Editor Features & Block Management | 4. Table block support with markdown parsing | 17f87cb | Full table block functionality with markdown parsing |
| 2: Editor Infrastructure & Focus Management | 1. FocusManager and virtualized FlatList implementation | 4a904ef (Develop #2) | FocusManager component for block focus/scroll; replaced ScrollView with virtualized FlatList |
| 2: Editor Infrastructure & Focus Management | 2. Focus handles on built-in block plugins | 4a904ef | Converted all built-in blocks to use forwardRef + useImperativeHandle |
| 2: Editor Infrastructure & Focus Management | 3. Block action toolbar and improved quote handling | 4a904ef | BlockActionToolbar for block management; depth management |
| 2: Editor Infrastructure & Focus Management | 4. Keyboard controller integration and reveal flow | 4a904ef | Optional keyboard controller; improved focus/scroll reveal lifecycle |
| 2: Editor Infrastructure & Focus Management | 5. Large cleanup and feature improvements | 4a904ef | Comprehensive refactoring across core, plugins, UI with improved error handling |
| 3: Editor Features & User Experience | 1. Blocks ā Markdown toggle functionality | a24d597 (PR #4) | Convert between block-based editor and raw markdown view |
| 3: Editor Features & User Experience | 2. Markdown to blocks parsing with plugins | 172655c (PR #5) | Markdown parser uses built-in plugins for proper block creation |
| 3: Editor Features & User Experience | 3. Debounced auto-save functionality | 05e5ab6 | Auto-save with debouncing and save-status toast notifications |
| 3: Editor Features & User Experience | 4. Auto-save setting persistence | 2344377 | Persist auto-save preference in settings |
| 3: Editor Features & User Experience | 5. Add block button UI | 4a904ef | Visible āAdd blockā button replaces invisible tap area |
| 3: Editor Features & User Experience | 6. Keyboard dismissal on block actions | 4a904ef | Keyboard dismisses when opening block menu or inserting |
| 4: App Configuration & Settings | 1. GitHub issues template and documentation | 49da486 (PR #3) | GitHub issue templates; cleaned up documentation |
| 4: App Configuration & Settings | 2. App icon and splash configuration | 1913613 | Updated adaptive icons and splash images for iOS/Android |
| 4: App Configuration & Settings | 3. Dynamic app version display | e084880 & d438e92 | Version display with build number; commit hash linking to GitHub |
| 4: App Configuration & Settings | 4. Privacy policy implementation | d438e92 | Added PRIVACY-POLICY.md documentation |
| 4: App Configuration & Settings | 5. Settings UI improvements | 7fc2b2f | Removed notifications toggle; Help & Support opens GitHub issues |
| 5: Storage & Backend Improvements | 1. Base-64 renterd authentication | 88d55b2 | Renterd backend uses base-64 encoding for auth |
| 5: Storage & Backend Improvements | 2. IPFS feature removal from UI | eaf2168 | Removed IPFS mentions and export from UI |
| 6: UI/UX Enhancements | 1. IPFS method disabled with simplified filters | 0741848 | IPFS storage option disabled; simplified filters |
| 6: UI/UX Enhancements | 2. Theme picker implementation | 0741848 | Replaced theme switch with comprehensive picker |
| 6: UI/UX Enhancements | 3. Typography and elevation improvements | 0741848 | Enhanced typography consistency; added elevation system |
| 6: UI/UX Enhancements | 4. Animated block wrappers | 4a904ef | AnimatedBlockWrapper for smooth focus animations |
| 6: UI/UX Enhancements | 5. Enhanced focus states | 4a904ef | Animated focus states with background/border transitions |
| 7: Dependencies & Build Configuration | 1. Dependency updates | 4a904ef | Updated expo, react, react-native, reanimated and others |
| 7: Dependencies & Build Configuration | 2. Bundle identifier update | 4a904ef | Enhanced production build configuration |
| 7: Dependencies & Build Configuration | 3. Build system improvements | 4a904ef | Improved build consistency across targets |
Link to an easy to test version or a demo video.
- Demo video: add the link to the published preview once uploaded.
- If needed, provide test credentials for a preāfunded account/sandbox to validate integrations (renterd), plus brief build/run/verify steps.
Provide an overall summary of everything achieved during this grant.
DecaNotes delivers private decentralized notes with primary storage via renterd and a custom, advanced Markdown editor. Achievements include: a rich block/inline editor, offline local storage, baseline renterd integration, transparent build/versioning ināapp (commit/build), and UX/theme improvements. The IPFS path is temporarily disabled, with a planned integration via a hosted pinner API to preserve compatibility while keeping renterd as the primary backend.
If there were challenges you experienced and/or any work you werenāt able to complete, list it here.
- IPFS (Helia) lacks native RN/Expo bindings; IPFS functionality is disabled in the UI pending hosted pinner API integration: feat(ui): disable IPFS methodā¦
- Some renderer polish items (tables/video blocks) remain in the bug list and are targeted postāgrant.
What lessons have you learned as a result of this grant?
- Persisted settings and explicit save feedback reduce dataāloss risk.
- Exposing build/commit ināapp improves reproducibility for technical reviews and user bug reports.
- Decomposing into blocks/inlines simplifies testing and accelerates editor/renderer work.
What are you most proud of about your work on this grant?
- A highāfunctioning custom Markdown editor with a rich block model and thoughtful UX.
- Reliable renterd storage integration and a clear save flow.
- Transparent, reproducible app builds with ināapp versioning that aid QA and review.
Demo video:
This appears to be the template content here - do you have a demo version or test video to include @StringNick ?
hey, sorry forgot about demo, i added it in a post above
Hello @StringNick - congratulations, your final technical review was successful!
This grant will be marked as āCompleteā here on the Forum and you will be sent an offboarding email soon.
Thank you for continuing to build on Sia.