Abstract
Butterfly is an open-source Mobile App Development project. 🎨 Powerful, minimalistic, cross-platform, opensource note-taking app. Butterfly is an open-source app for people who think better with space around their ideas. Instead of writing everything from top to bottom on a fixed page, you get an endless workspace where you can place notes, sketches, diagrams, images, and documents wherever they make sense. It is built using Dart, Flutter, Android. Key capabilities include: Tunable drawing tools: Shape each pen around your workflow with smoothing, thinning, pressure behavior, zoom-dependent strokes, and shape detection; Mixed content: Combine handwriting, text, Markdown, shapes, images, photos, PDFs, SVGs, rulers, grids, textures, laser pointer notes, and presentation tools; Always editable: Move, resize, recolor, reorder, and refine most elements later instead of starting over. The complete source code is publicly available on GitHub under the GNU Affero General Public License v3.0, making it a useful reference for students building a Mobile App Development mini project or final-year project.
1. Introduction
Butterfly is an open-source app for people who think better with space around their ideas. Instead of writing everything from top to bottom on a fixed page, you get an endless workspace where you can place notes, sketches, diagrams, images, and documents wherever they make sense.
Use it for class notes, meeting notes, research, math, worksheets, planning, whiteboarding, storyboards, product sketches, or any project that starts messy and needs room to grow. Write by hand with a stylus, touch, or mouse, type text and Markdown, add shapes and lines, place images and photos, import PDFs, SVGs, and image files, then export your work as PDF, SVG, images, or portable Butterfly files.
2. Objective
🎨 Powerful, minimalistic, cross-platform, opensource note-taking app
This project demonstrates how Dart, Flutter, Android can be applied to a real-world Mobile App Development problem.
3. Key Features / Modules
- Tunable drawing tools: Shape each pen around your workflow with smoothing, thinning, pressure behavior, zoom-dependent strokes, and shape detection.
- Mixed content: Combine handwriting, text, Markdown, shapes, images, photos, PDFs, SVGs, rulers, grids, textures, laser pointer notes, and presentation tools.
- Always editable: Move, resize, recolor, reorder, and refine most elements later instead of starting over.
- Project structure: Organize large documents with multiple pages, page folders, layers, named areas, and waypoints.
- Reusable setup: Save templates, packs, palettes, stamps, and text styles so your favorite layouts and tools follow you.
- Quick start: Jump in from recent files, search, folders, imports, quick-start templates, and storage locations.
- Local first: Work offline, store files locally, choose a different data directory, or connect WebDAV and Nextcloud.
- Flexible export: Share your work as PDF, SVG, images, or portable Butterfly files.
- Experimental collaboration: Work together with end-to-end encrypted sessions through Swamp or a self-hosted WebSocket server.
4. Technology Stack
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Flutter SDK
- Android Studio or VS Code with Flutter plugin
- Android / iOS device or emulator
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/LinwoodDev/Butterfly.git
cd ButterflyFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add push notifications with Firebase Cloud Messaging
- Add offline support with local caching
- Publish an internal test build on the Play Store
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Which framework is used and why (native vs cross-platform)?
- How is app state managed across screens?
- Where is the data stored — locally, Firebase or a REST backend?
- How are permissions (camera, location, storage) handled?
- How would you publish this app to the Play Store / App Store?
9. Source Code & License
This project is developed by LinwoodDev and published on GitHub under the GNU Affero General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on a Mobile App Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Mobile App Development Internship