Skip to content
/ JotPad Public

JotPad is a cross-platform FOSS note-taking app with a messaging-style interface

License

Notifications You must be signed in to change notification settings

odest/JotPad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
JotPad Logo

JotPad

Chat-Based Note-Taking for the Modern World

License: GPL-3.0 Version Platform Made with

JotPad Screenshot

Table of Contents


๐Ÿš€ What is JotPad?

JotPad is a FOSS note-taking application that transforms the way you capture and organize your thoughts. Instead of traditional note-taking, JotPad lets you message yourself - just like your favorite chat apps! ๐Ÿ’ฌ

Imagine having a conversation with yourself where every message becomes a note entry, complete with timestamps, markdown support, and powerful organization features. It's note-taking reimagined for the digital age! โœจ


โœจ Key Features

๐ŸŽฏ Core Functionality

  • Chat-Based Note-Taking: Send messages to yourself with a familiar chat interface
  • Smart Tagging: Organize notes with color-coded tags for easy categorization
  • Powerful Search: Find notes and entries instantly with real-time search
  • Timestamp Tracking: Every entry is automatically timestamped

๐ŸŽจ Customization & Experience

  • Theme Support: Light, dark, and system theme modes
  • Color Themes: 8 beautiful color schemes to match your style
  • Custom Backgrounds: Set your own background images with opacity controls
  • Multi-Language: Support for 10+ languages including Arabic, Chinese, Japanese, and more

๐Ÿ“Š Data Management

  • Local Storage: All data stored locally in SQLite database
  • Export Options: Export notes in JSON, TXT, or Markdown formats
  • Auto-Save: Never lose your work with automatic saving
  • Smart Deletion: Safe deletion with confirmation dialogs

๐Ÿ”ง Technical Excellence

  • Performance: Built with Rust backend for lightning-fast performance
  • Security: Local-first approach ensures your data privacy
  • Auto-Updates: Automatic update checking and notifications
  • No Analytics: No tracking or data collection

๐Ÿ› ๏ธ Technology Stack

JotPad is built with modern, cutting-edge technologies:

๐ŸŽฏ Frontend

  • React 18 - Modern UI framework
  • TypeScript - Type-safe development
  • TailwindCSS - Utility-first CSS framework
  • ShadCN UI - Beautiful, accessible components
  • Lucide Icons - Consistent iconography

โšก Backend & Runtime

  • Tauri 2 - Cross-platform desktop framework
  • Rust - High-performance system programming
  • SQLite - Lightweight, local database
  • Next.js - Web application framework

๐Ÿ—๏ธ Architecture

  • Monorepo - TurboRepo for efficient development
  • Shared Components - Consistent UI across platforms
  • Internationalization - i18next for multi-language support
  • State Management - React hooks for clean state handling

๐Ÿ“ฑ Supported Platforms

Platform Status Download
๐ŸชŸ Windows โœ… Available Download
๐ŸŽ macOS โœ… Available Download
๐Ÿง Linux โœ… Available Download
๐Ÿค– Android โœ… Available Download
๐Ÿ“ฑ iOS ๐Ÿšง Coming Soon -
๐ŸŒ Web ๐Ÿšง Coming Soon -

โš ๏ธ Limitations and Warnings

Please read carefully before using JotPad in its current development stage.

  • Offline-First Only
    JotPad is designed as an offline-first application. At this time, there is no built-in synchronization between devices or platforms. All your notes are stored locally on the device where they were created.

  • Not for Critical Data
    Because JotPad is still under active development, unexpected bugs or crashes may occur. We strongly recommend not using JotPad to store irreplaceable or mission-critical information until synchronization and stability have been fully implemented and tested.

  • Potential Data Loss
    As features evolve, database schema changes or unanticipated errors could lead to data loss. Please export or back up your notes regularly (e.g., via JSON, TXT, or Markdown export) to safeguard your content.

  • Cross-Platform Testing Incomplete
    While JotPad aims to run on Web, Desktop (Windows, macOS, Linux) and Mobile (Android, iOS), not every combination of device, browser or OS has been exhaustively tested. You may encounter layout issues, performance quirks, or platform-specific bugs.

  • Feedback Welcome
    Your input helps us improve. If you experience any issues or have suggestions, please open an issue on GitHub describing the problem, your environment, and any relevant logs or screenshots.

Thank you for trying JotPad during its early stages. We appreciate your understanding and patience as we work towards a robust, fully synchronized note-taking experience! ๐Ÿš€


๐Ÿš€ Quick Start

๐Ÿ“‹ Prerequisites

Note

For detailed information you can refer to Tauri's official documents: Prerequisites

Before you begin, ensure you have the following installed:

Optional for Mobile Development:

  • Xcode (for iOS development) - Download
  • Android Studio (for Android development) - Download

๐Ÿ”ง Installation

  1. Clone the repository

    git clone https://github.com/odest/JotPad.git
    cd JotPad
  2. Install dependencies

    pnpm install
  3. Start development

    # For web development
    pnpm --filter web dev
    
    # For desktop development
    pnpm --filter native dev
    
    # For all platforms
    pnpm dev

๐Ÿ“ฆ Building for Production

# Build all applications
pnpm build

# Build specific platform
pnpm --filter native build
pnpm --filter web build
pnpm --filter landing build

๐ŸŽฎ Development Commands

Command Description
pnpm dev Start development servers for all apps
pnpm build Build all applications for production
pnpm lint Run ESLint across the codebase
pnpm format Format code with Prettier
pnpm clean Remove all build artifacts
pnpm check-types Check TypeScript types
pnpm tauri dev Start Tauri desktop app in development
pnpm tauri android dev Start Tauri Android app in development
pnpm tauri ios dev Start Tauri iOS app in development

๐Ÿ“ Project Structure

JotPad/
โ”œโ”€โ”€ apps/
โ”‚   โ”œโ”€โ”€ landing/            # ๐ŸŒ Landing page (Next.js)
โ”‚   โ”œโ”€โ”€ web/                # ๐ŸŒ Web application (Next.js)
โ”‚   โ””โ”€โ”€ native/             # ๐Ÿ“ฑ Desktop & Mobile (Tauri)
โ”‚       โ”œโ”€โ”€ src/            # ๐ŸŽจ Frontend React code
โ”‚       โ””โ”€โ”€ src-tauri/      # โšก Backend Rust code
โ”œโ”€โ”€ packages/
โ”‚   โ”œโ”€โ”€ ui/                 # ๐ŸŽจ Shared UI components
โ”‚   โ”œโ”€โ”€ typescript-config/  # โš™๏ธ TypeScript configurations
โ”‚   โ””โ”€โ”€ eslint-config/      # ๐Ÿ” ESLint configurations

๐ŸŒ Internationalization

JotPad supports 10+ languages out of the box:

  • English (๐Ÿ‡บ๐Ÿ‡ธ)
  • Spanish (๐Ÿ‡ช๐Ÿ‡ธ)
  • French (๐Ÿ‡ซ๐Ÿ‡ท)
  • German (๐Ÿ‡ฉ๐Ÿ‡ช)
  • Russian (๐Ÿ‡ท๐Ÿ‡บ)
  • Japanese (๐Ÿ‡ฏ๐Ÿ‡ต)
  • Chinese (๐Ÿ‡จ๐Ÿ‡ณ)
  • Turkish (๐Ÿ‡น๐Ÿ‡ท)
  • Arabic (๐Ÿ‡ฆ๐Ÿ‡ช)
  • Hindi (๐Ÿ‡ฎ๐Ÿ‡ณ)

Language files are located in packages/ui/locales/ and use the i18next framework.

Important

Please note that these translations were generated by AI. Some phrases or expressions may not be perfect.


๐Ÿค Contributing

We welcome contributions from the community! Here's how you can help:

๐Ÿ› Bug Reports

  • Use the GitHub Issues page
  • Include detailed steps to reproduce the issue
  • Provide system information and error logs

๐Ÿ’ก Feature Requests

  • Submit feature requests through GitHub Issues
  • Describe the use case and expected behavior
  • Consider contributing the implementation

๐ŸŒ Translations

  • Check if your language already exists under the locales/ directory
  • If not, create a new language file (e.g., locales/en/translation.json for English)
  • Either add a new translation or fix an existing one
  • Ensure translation keys are consistent and contextually correct
  • Once complete, follow the code contribution steps above to submit a Pull Request

๐Ÿ”ง Code Contributions

  1. Fork the repository
  2. Create a feature branch (git checkout -b my-feature)
  3. Make your changes
  4. Add tests if applicable
  5. Commit your changes (git commit -m 'Add a descriptive message about your changes')
  6. Push to the branch (git push origin my-feature)
  7. Open a Pull Request

๐Ÿ“ Development Guidelines

  • Follow the existing code style and conventions
  • Add TypeScript types for all new functions
  • Test your changes across different platforms
  • Update documentation as needed

๐Ÿ“„ License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

The GPL-3.0 license ensures that:

  • โœ… The software remains free and open source
  • โœ… Derivative works must also be open source
  • โœ… Users have the right to modify and distribute the code
  • โœ… The community benefits from all improvements

About

JotPad is a cross-platform FOSS note-taking app with a messaging-style interface

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors 3

  •  
  •  
  •