Build a Cross-Platform Markdown Notes System with Syncthing, Neovim & Markor (Offline, Fast & Private)
João Paulo Abreu

João Paulo Abreu @abreujp

About: 👨‍💻 Web Developer | Elixir, Phoenix, LiveView | Functional programming enthusiast | Always learning and sharing knowledge.

Location:
Brazil
Joined:
Apr 11, 2024

Build a Cross-Platform Markdown Notes System with Syncthing, Neovim & Markor (Offline, Fast & Private)

Publish Date: Jun 7
5 2

A comprehensive guide to creating a unified, lightweight note-taking ecosystem using Syncthing, Neovim, and Markor

Table of Contents

  1. Introduction
  2. System Overview
  3. Desktop Setup (Linux)
  4. Mobile Setup (Android)
  5. Synchronization Configuration
  6. Conclusion

TL;DR: Learn how to create a fast, offline-capable, Markdown-based notes system that syncs across Linux, Android, and tablets — using only free, open-source tools like Syncthing, Neovim, and Markor.

Introduction

In an era of proprietary note-taking applications that lock your data into specific formats and cloud services, many developers and power users seek a more flexible, future-proof solution. This guide presents a complete setup for a cross-platform markdown note-taking system that prioritizes:

  • Data ownership - your notes remain in plain markdown files
  • Cross-platform compatibility - seamless access from desktop, mobile, and tablet
  • Offline functionality - works without internet connectivity
  • Terminal-centric workflow - integrates with existing development tools
  • Zero vendor lock-in - portable to any system or application

The system combines the power of Neovim for desktop editing, Markor for mobile markdown editing, and Syncthing for decentralized synchronization, creating a robust ecosystem that adapts to your workflow rather than forcing you to adapt to it.


System Overview

Architecture Components

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Desktop/PC    │    │     Tablet      │    │     Mobile      │
│                 │    │                 │    │                 │
│ • Neovim        │◄──►│ • Markor        │◄──►│ • Markor        │
│ • Syncthing     │    │ • Syncthing     │    │ • Syncthing     │
│ • Git (backup)  │    │                 │    │                 │
│ • Terminal      │    │                 │    │                 │
└─────────────────┘    └─────────────────┘    └─────────────────┘
        │                       │                       │
        └───────────────────────┼───────────────────────┘
                                │
                    ┌─────────────────┐
                    │ Shared Markdown │
                    │   File System   │
                    │                 │
                    │ ~/Notes/        │
                    │ ├── dev/        │
                    │ ├── personal/   │
                    │ ├── knowledge/  │
                    │ ├── projects/   │
                    │ ├── inbox/      │
                    │ └── archive/    │
                    └─────────────────┘
Enter fullscreen mode Exit fullscreen mode

Key Features

  • Unified file structure across all devices
  • Real-time synchronization without cloud dependencies
  • Quick capture capabilities on mobile devices
  • Powerful search and organization tools
  • Git integration for version control and backup

Desktop Setup (Linux)

Prerequisites

This guide assumes you're using a Linux distribution with a package manager. Commands are shown for Arch-based systems (pacman), but can be adapted for other distributions.

Step 1: Install Required Packages

# Install core components
sudo pacman -S neovim git syncthing

# Optional: ripgrep for enhanced searching
sudo pacman -S ripgrep
Enter fullscreen mode Exit fullscreen mode

Step 2: Create Directory Structure

# Create the main notes directory and subdirectories
mkdir -p ~/Notes/{dev,personal,knowledge,projects,inbox,archive}

# Verify structure
tree ~/Notes
Enter fullscreen mode Exit fullscreen mode

Directory Purpose:

  • dev/ - Development notes, code snippets, tutorials
  • personal/ - Personal thoughts, diary entries, ideas
  • knowledge/ - Learning materials, research, reference
  • projects/ - Project-specific documentation
  • inbox/ - Quick captures, temporary notes
  • archive/ - Completed or obsolete notes

Step 3: Configure Syncthing

# Enable and start Syncthing service
systemctl --user enable syncthing
systemctl --user start syncthing

# Open web interface
firefox http://localhost:8384
Enter fullscreen mode Exit fullscreen mode

Initial Syncthing Configuration:

  1. Access the web interface at http://localhost:8384
  2. Add your Notes folder by clicking "Add Folder"
  3. Set Folder Path: /home/yourusername/Notes/
  4. Set Folder Label: "Notes"

Step 4: Add Notes Folder to Syncthing

The Notes folder should already be added during initial configuration. If not:

  1. Click "Add Folder" in the web interface
  2. Folder Path: /home/yourusername/Notes/
  3. Folder Label: "Notes"
  4. Click "Save"

Mobile Setup (Android)

Step 1: Install Syncthing

Install Syncthing from Google Play Store or download the APK directly.

Step 2: Install Markdown Editor

Installing Markor

Since Markor is no longer available on Google Play Store:

  1. Visit https://github.com/gsantner/markor/releases
  2. Download the latest APK file
  3. Enable "Install from unknown sources" in Android settings
  4. Install the APK manually

Step 3: Configure Syncthing on Mobile

  1. Open Syncthing app
  2. Grant storage permissions
  3. Note your Device ID for connecting to desktop

Step 4: Open Markor

  1. Open Markor app
  2. Grant storage permissions
  3. Navigate to your Notes folder and start creating/editing markdown files

Synchronization Configuration

Connecting Devices

From Desktop to Mobile:

  1. On Desktop: Open Syncthing web interface
  2. Click "Add Device"
  3. Option A: Scan QR code from mobile device
  4. Option B: Enter Device ID manually
  5. Give device a name (e.g., "Android Phone")
  6. Click "Save"

From Mobile to Desktop:

  1. On Mobile: Open Syncthing app
  2. Tap "+" → "Add Device"
  3. Option A: Scan QR code from desktop
  4. Option B: Enter Desktop Device ID
  5. Name the device (e.g., "Linux Desktop")
  6. Tap "Save"

Sharing Folders

Desktop Side:

  1. In Syncthing web interface, find "Notes" folder
  2. Click folder icon → "Edit"
  3. Go to "Sharing" tab
  4. Select your mobile device
  5. Click "Save"

Mobile Side:

  1. Accept the folder share notification
  2. Set Folder Path to your Notes folder location
  3. Set Folder Type: "Send & Receive"
  4. Tap "Save"

Verification

Create a test file on desktop and verify it appears on mobile device within seconds.


Conclusion

This markdown note-taking system provides a robust, future-proof solution for managing notes across multiple devices without vendor lock-in. The combination of Syncthing's decentralized synchronization, Neovim's powerful editing capabilities, and Markor's mobile-friendly interface creates a seamless workflow that adapts to your needs.

Key Benefits Achieved:

Data Ownership - Your notes remain in standard markdown format\
Cross-Platform Access - Seamless editing on desktop, tablet, and mobile\
Offline Functionality - Works completely without internet\
Terminal Integration - Fits naturally into developer workflows\
Extensibility - Easy to customize and extend with scripts\
No Vendor Lock-in - Portable to any system or application\
Quick Capture - Instant note creation from any device

Next Steps:

  1. Create your first notes to test the system
  2. Develop a consistent naming convention for your files
  3. Organize notes into appropriate folders as your collection grows
  4. Set up regular backup routines if desired
  5. Customize the system based on your specific needs

The beauty of this system lies in its simplicity and flexibility. As your needs evolve, you can easily adapt and extend the system without being constrained by the limitations of proprietary software. Your notes remain yours, in a format that will be readable decades from now, accessible from any device, and editable with any text editor.

Whether you're a developer documenting code, a student taking research notes, or a professional managing projects, this system provides the foundation for a lifetime of organized, accessible note-taking.


This guide represents a living document. As tools evolve and new solutions emerge, the principles of data ownership, cross-platform compatibility, and workflow integration remain constant guides for building sustainable knowledge management systems.

Comments 2 total

  • Charles Brown
    Charles BrownJun 13, 2025

    This looks awesome! I can’t wait to try this setup myself and finally have my notes synced across all my devices. Thanks for the detailed guide!

  • Trendkiller
    TrendkillerJun 23, 2025

    I'm using Obsidian at the moment and spending more time on tweaking it, checking different plugins. Looking for something more minimal and cross platform. Will definitely test your system. Thanks!

Add comment