Block-based notes
Each note is a stack of blocks, like a Jupyter notebook. Mix text, Markdown and code, then add, reorder and edit freely.
case study, 2024 to 2026A note app for developers. Text, Markdown and code live together in one note, and anything you share from another app turns into a clean code note.

Developers keep snippets in chats, screenshots, text files and note apps that break the formatting. I wanted one place where code stays readable, where a photo of code becomes real text, and where sharing a file from any app takes one tap.
Each note is a stack of blocks, like a Jupyter notebook. Mix text, Markdown and code, then add, reorder and edit freely.

Python, Dart, C++, Go, Java, JavaScript, TypeScript, SQL, Kotlin, Bash, Arduino, assembly and more. Highlighting runs asynchronously, so long notes stay smooth.

Point the camera at code on a screen or in a book. Google ML Kit reads it on the device and turns it into an editable block.

CodeNote is a share target and an Open With handler for source files. It detects the language and builds a formatted note instantly, and shares notes back as .py, .txt or other files.

Group and tag notes by topic. The full version adds real-time group chat that keeps code formatting, plus cloud sync and notifications.


| No. | Part | Used for |
|---|---|---|
| 01 | flutter_bloc, dartz | State and error handling |
| 02 | GetIt | Dependency injection |
| 03 | Hive | Offline-first storage |
| 04 | Firestore, FCM | Sync, chat, notifications |
| 05 | ML Kit, TFLite | On-device AI |
| 06 | SDK 36, Java 17 | Forced across every plugin |