Skip to content

Darkstrike03/Gensaku

Repository files navigation

源作 Gensaku

A private, offline world-building companion for authors

License: Polyform Noncommercial Flutter Platform

Gensaku (源作 — "original work") is a free, fully offline writing companion designed for fiction authors, light novel writers, and world-builders. Your data never leaves your device — no accounts, no servers, no tracking.


✨ Features

📚 Book & Chapter Management

  • Create and manage multiple books with cover art, synopsis, and date
  • Chapters with titles, numbers, descriptions, and status tracking
  • Chapter status workflow: Draft → In Progress → Revised → Done
  • Drag-and-drop chapter reordering
  • Per-book writing stats: total word count, reading time, completion progress

✍️ Chapter Editor

  • Distraction-free writing environment
  • Formatting toolbar: Bold · Italic · Underline · Bullet list
  • Live word count, character count, and estimated reading time
  • Adjustable font size (12–36pt)

🗺️ Story Toolbox (World-Building Sidebar)

  • Per-book categories for characters, factions, power systems, locations, etc.
  • Add images, descriptions, and detailed notes to every entry
  • Fully customisable — add, rename, or delete any category

🎨 Visual Canvas (Whiteboard)

  • Sticky notes with custom colours, labels, and pinning
  • Connect pinned notes with relationship lines
  • Freehand drawing and image embedding
  • Pan, zoom, and organise your story structure visually

💡 Quick Ideas

  • Capture plot ideas, snippets, and story seeds instantly
  • Lightweight notes kept separate from your main chapters

👤 Offline Profile & Backup

  • Auto-generated local identity (no account needed)
  • Selective encrypted export — choose which books and canvases to back up, protected with AES-256 encryption and your own password
  • Smart import with deduplication — safely merge data across devices
  • Transfer between devices via .gensaku backup files

⚙️ Settings

  • Light / Dark / System theme
  • Writing font picker and size slider
  • Compact card layout option
  • Full data backup and restore

📱 Installation

Android (Direct APK)

  1. Go to the Releases page
  2. Download the latest gensaku-release.apk
  3. On your Android phone: Settings → Install unknown apps → allow your file manager
  4. Open the downloaded APK and install

Windows

  1. Go to the Releases page
  2. Download gensaku-windows.zip
  3. Extract and run gensaku.exe

Web (Online Demo)

A live web build is available at: https://gensaku.vercel.app/

Note: The web version uses browser storage. For full export/import functionality, use the Android or Windows app.


🏗️ Building from Source

Prerequisites

  • Flutter SDK ≥ 3.10
  • Android Studio / VS Code with Flutter extension
  • For Android: Android SDK (API 21+)
  • For Windows: Visual Studio 2022 with "Desktop development with C++" workload

Steps

# Clone the repository
git clone https://github.com/Darkstrike03/gensaku.git
cd gensaku

# Install dependencies
flutter pub get

# Run on Android (with device/emulator connected)
flutter run -d android

# Run on Windows
flutter run -d windows

# Build release APK
flutter build apk --release

# Build release Windows executable
flutter build windows --release

# Build web
flutter build web --release

App Icon

If you want to regenerate launcher icons from assets/icon/icon.png:

dart run flutter_launcher_icons

📂 Project Structure

lib/
├── main.dart                 # App entry, navigation
├── core/
│   ├── book_store.dart       # SharedPreferences persistence layer
│   ├── export_import.dart    # Platform-aware export/import
│   └── theme.dart            # Theme notifier
├── models/
│   └── chapter.dart          # Chapter model + ChapterStatus enum
├── screens/
│   ├── home.dart             # Book library
│   ├── book_screen.dart      # Chapter list + writing stats
│   ├── chapter_editor.dart   # Writing editor with live word count
│   ├── canvas_screen.dart    # Canvas/whiteboard list
│   ├── whiteboard.dart       # Visual whiteboard
│   ├── notes_screen.dart     # Quick ideas
│   ├── account.dart          # Offline profile + encrypted backup
│   └── settings.dart         # App preferences
└── widgets/
    ├── book.dart             # Book card + masonry grid
    ├── bookmodal.dart        # Create/edit book dialog
    ├── chaptermodal.dart     # Create/edit chapter dialog
    ├── sidebar.dart          # Story toolbox (world-building)
    ├── navigationpanel.dart  # Bottom navigation
    └── header.dart           # Home screen header

🔒 Privacy

Gensaku is designed with privacy as a core principle:

  • Zero telemetry — no analytics, no crash reporting, no network calls
  • All data stored locally on your own device using SharedPreferences
  • No account required — your identity is auto-generated and stays on your device
  • Optional encryption — backups are AES-256-CBC encrypted with your password before writing to disk
  • Open source — you can audit every line of code

📜 License

Gensaku is licensed under the Polyform Noncommercial License 1.0.0.

What this means:

  • ✅ You can use Gensaku freely for personal use
  • ✅ You can study and modify the source code
  • ✅ You can share your modifications
  • ❌ You cannot sell Gensaku or any derivative work
  • ❌ You cannot use it as part of a commercial product or service

This license exists to protect the author community. The privacy-focused design of this app should never be weaponised to collect author data commercially or to build subscription traps.


🤝 Contributing

Contributions are welcome under the same noncommercial terms.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin feature/your-feature
  5. Open a Pull Request

Please keep contributions in the spirit of the app: private, offline, and author-first.


🙏 Acknowledgements

Built with Flutter · Fonts by Google Fonts (Caveat & Literata) · Icons from Material Design

About

Gensaku is a specialized, interconnected writing environment designed for authors, mangaka, and scriptwriters. It is a core component of the Otaku's Library ecosystem.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors