Blinko
A self-hosted, AI-powered card note-taking tool that lets you capture fleeting thoughts instantly and retrieve them with natural language search.
Blinko is an open-source, self-hosted AI note-taking application built for individuals who want to capture ideas the moment they strike and find them again without manually tagging or organizing. Using Retrieval-Augmented Generation (RAG) powered by LibSQL vector storage and Mastra, it lets you search your notes using natural language queries rather than exact keyword matching — so ‘what was that idea about distributed tracing?’ actually works.
The project is architected as a Bun-powered monorepo combining a Next.js/React frontend, an Express + tRPC backend, and Tauri for native desktop and Android apps. All data lives in your own PostgreSQL database, with vector embeddings stored in LibSQL. You deploy it via Docker Compose in minutes, and it stays entirely on infrastructure you control.
Blinko connects to virtually any LLM provider — OpenAI, Anthropic, Google Gemini, Ollama, DeepSeek, Azure, xAI, and OpenRouter — through a provider abstraction layer powered by the Vercel AI SDK. This means you can run AI features fully locally using Ollama with no external API dependency. There is also a first-class plugin system, an MCP server for external tool integration, a Telegram bot for mobile note capture, and a browser extension for one-click web clipping.
Version 1.8.7 is the current stable release, with over 100 releases shipped since the project launched in October 2024. With more than 10,500 GitHub stars and an active contributor community of 56 people, Blinko has grown quickly from a simple capture tool into a comprehensive personal knowledge management platform.
What You Get
- AI-Powered RAG Search - Embed your notes into a LibSQL vector store and query them with natural language using any configured LLM provider, including fully local Ollama models.
- Self-Hosted Data Ownership - Every note, attachment, embedding, and configuration lives in your own PostgreSQL database with zero third-party cloud dependency.
- Multi-Provider LLM Support - Switch between OpenAI, Anthropic Claude, Google Gemini, DeepSeek, Azure OpenAI, xAI Grok, OpenRouter, and self-hosted Ollama from a single settings page.
- Native Multi-Platform Apps - Tauri-based desktop apps for macOS, Windows, and Linux plus an Android app with system-share intent, hotkeys, and tray integration run natively alongside the web interface.
- Plugin System - Install, develop, and manage custom JavaScript plugins that extend the Blinko UI and backend with additional features, loaded and isolated at runtime.
- MCP Server Integration - Expose your Blinko notes as an MCP tool source so external AI agents and clients like Claude Desktop can read, create, and search your notes.
- Telegram Bot - Capture notes via Telegram chat, send attachments, query your knowledge base with AI, and receive scheduled reminders — all from any device with Telegram installed.
- Scheduled AI Tasks - Define recurring AI jobs that auto-tag, summarize, recommend related notes, or run custom prompts against your note collection on configurable cron schedules.
Common Use Cases
- Personal knowledge base - A software architect stores architecture decisions, meeting notes, and research links in Blinko, then uses RAG queries to surface relevant context before design reviews.
- Self-hosted AI assistant - A developer routes Ollama through Blinko so all AI queries and note context stay on their home server, with zero data leaving their network.
- Mobile-first capture - A consultant uses the Android app and Telegram bot to send voice memos and links throughout the day, then reviews and organizes them in the desktop app at their desk.
- Research aggregation - A graduate student uses the browser extension to clip papers and highlight key passages, then queries the collection with natural language to find connections across dozens of sources.
- Team knowledge sharing - A small team self-hosts Blinko on a shared server, uses the follow and hub features to share notes across accounts, and embeds the MCP server into their AI workflow toolchain.
- Automated daily review - A product manager configures scheduled AI tasks to generate a daily summary of the past week’s notes and surface recommended reading from their backlog.
Under The Hood
Architecture Blinko is a Bun-powered monorepo with three packages — a React/Next.js frontend, an Express + tRPC backend server, and a shared types package — coordinated by Turbo for parallel builds and task pipelines. The frontend uses MobX with a RootStore singleton to manage global application state across dozens of feature stores, trading some coupling for predictable reactive rendering. The backend exposes two API layers: a tRPC router for type-safe client-server calls with SuperJSON serialization and HTTP streaming, and a legacy Express router for file operations and REST-compatible integrations. AI capabilities are encapsulated in an AiService/AiModelFactory layer that abstracts over provider SDKs, Mastra agents, and LibSQL vector storage, keeping RAG logic decoupled from request handling. Prisma handles all relational database operations against PostgreSQL, while a separate LibSQL instance stores vector embeddings — a clean separation of concerns between structured data and semantic indexes.
Tech Stack The frontend is built with React 18 and React Router, styled with Tailwind CSS and HeroUI components, and bundled via Vite. The backend runs on Bun with Express 5 and tRPC 11, using Prisma ORM against PostgreSQL and LibSQL for vector storage via the Mastra RAG library. LLM integration is handled through the Vercel AI SDK with provider adapters for OpenAI, Anthropic, Google, Ollama, DeepSeek, Azure, xAI, and OpenRouter. Native desktop apps are compiled with Tauri (Rust), with a custom Tauri plugin written in Rust and Kotlin for Android that handles system-share intents, OS tray integration, audio recording, and hotkey registration. The build system uses Turbo for task orchestration with Bun as the package manager and runtime, plus TSUP for library bundling.
Code Quality The test suite is limited in scope — there are unit tests for file sanitization logic and integration tests for file upload flows, but overall coverage is thin given the surface area of the application. Error handling is generally defensive in the AI and file layers, with try/catch wrapping and structured error returns rather than unhandled promise rejections. TypeScript is enforced end-to-end with strict mode via tRPC’s type inference propagating schema types from server to client. The codebase is well-commented in places, particularly around MCP connection management, plugin isolation, and scheduled job logic. Naming conventions are consistent across the monorepo, and the shared package keeps types and utilities co-located to avoid drift. CI uses GitHub Actions for Docker image builds, though automated test runs in CI appear limited.
What Makes It Unique Blinko’s most distinctive technical choices are its provider-agnostic AI layer and its Tauri-plus-web architecture. The AI abstraction supports local, cloud, and self-hosted models interchangeably without configuration changes to the application, including fully local deployments via Ollama that make the system air-gap-capable. The Mastra agent framework enables tool-using AI actions — creating notes, searching the knowledge base, scheduling tasks, and running web searches — directly from the chat interface without any external workflow engine. The plugin system allows runtime-loaded JavaScript extensions to add UI panels and backend endpoints, giving the community an extension surface without forking the project. The MCP server implementation means Blinko can act as a context provider for Claude Desktop and other MCP clients, positioning it as infrastructure in a broader AI agent ecosystem rather than just a standalone app.
Self-Hosting
Blinko is released under the GNU General Public License v3.0 (GPL-3.0). This is a strong copyleft license that allows anyone to use, modify, and distribute the software freely, including for commercial purposes, as long as any derivative works or distributions are also released under GPL-3.0. For most self-hosters running Blinko privately within their own organization, the copyleft requirement is not triggered — it only applies if you distribute modified versions externally. However, if you plan to build and ship a product based on Blinko’s code, you would be required to open-source your modifications under the same license.
Operating Blinko yourself requires a PostgreSQL database, a runtime environment for the Node.js/Bun server, and sufficient compute for optional vector embedding operations. The recommended deployment path is Docker Compose, which the project ships with production-ready configuration files. A one-line install script handles the full setup. You are responsible for managing database backups, applying schema migrations on each upgrade (Prisma migrations ship with each release), monitoring uptime, and scaling the embedding pipeline if your note volume grows large. For teams with heavy AI usage, the embedding rebuild jobs can be CPU-intensive and may require tuning the concurrency settings.
There is no official managed cloud version of Blinko and no paid enterprise tier. The project offers PikaPods as a one-click hosted deployment option where 20% of fees are donated back to the project, which is the closest equivalent to a managed service. Support is community-driven via GitHub Issues and Telegram groups. This means there are no SLAs, no guaranteed response times, and no professional support contracts available. What you gain in exchange is full data sovereignty, zero per-seat licensing costs, and the ability to run entirely air-gapped with local LLMs via Ollama — a meaningful trade-off for privacy-sensitive use cases.
Related Apps
AFFiNE
Productivity · Project Management · Note Taking
Write, draw, and plan in one infinite canvas — the open-source alternative to Notion and Miro that keeps your data yours.
AFFiNE
Othermemos
Note Taking
Open-source, self-hosted note-taking built for quick capture — Markdown-native, lightweight, and fully yours.
memos
MITJoplin
Note Taking
The privacy-first, open-source note-taking app with end-to-end encrypted sync, AI assistance, and a powerful plugin ecosystem across every platform.