Noeko is an open-source, self-hostable collaborative knowledge base with the goal of removing the maintenance tax from knowledge management.
noeko-in-action.mp4
- π‘ Why Noeko?
- π Getting Started
- π€ Community & Support
- πΊοΈ Features & Roadmap
- π» Tech Stack
- π οΈ Contributing & Development
- βοΈ License
- π Thank You
As avid PKMS enthusiasts ourselves, we've always found utility in storing and organizing our information, but we were tired of having to act as database administrators just to create a system that resurfaces relevant context when its useful. If capturing a thought requires finding the right folder, remembering and choosing the right tags, defining properties, and creating a title before I can even start typing, then most of the time we'd rather just not use the system at all. Every time we have to think about organization, or try to remember exact lexical terms to find a connection, it drains the mental bandwidth that we'd rather be spending on my thoughts and research.
Radical simplicity and minimalism are tempting because they succeed at removing the maintenance tax of knowledge management. However, they do so at the cost of functionality and performance. Insertion cost is reduced because the structure is flat and you don't have fancy organizational features. However, you pay at retrieval time, because that knowledge is now harder to find in the structureless schema and won't resurface when you want it to. We shouldn't have to sacrifice power and functionality for the sake of a smoother and simpler experience.
Noeko was conceptualized to bridge that gap. Ease-of-use of something like Apple Notes, with the retrieval performance and information expressibility of Notion or Obsidian. While we're still in early stages, we believe we're on our way to achieving this goal. Noeko uses a graph-based vector store to model knowledge as high-dimensional semantic entities that can be queried based on meaning, not just text. Put simply you can search, tag, & connect based on meaning.
You can get started with Noeko in three different ways depending on what you're trying to do.
- To self-host Noeko for free, check out the Self Hosting Guide
- To use Noeko through the hosted online service, please apply to join the waitlist
- To contribute to Noeko or otherwise work on development, check out the Contributing Guide
To rapidly get a local Noeko instance running on your machine, follow these steps.
- Clone the repo:
git clone https://github.com/noekohq/Noeko.git Noeko - Enter the new directory:
cd Noeko - Create the
.envfile from the.env.examplefile:cp .env.example .env - Edit the variables for your environment
- Start the production build:
bun run prodorbun run prod:start - Go to the logged URL to see your instance running
For more detailed instructions, please see the Self-Hosting Guide.
Note
Docker will use the DB_ variables to configure your database automatically.
Get support via support@noeko.app. Connect with the community through our online forums and Discord.
Community
Social Media
Noeko is currently in Beta, and working consistently toward a stable release. To contribute to development or design, see the contributing guide. Follow feature development more closely through the Issue Tracker or via the roadmap. Submit feedback through issues directly, or via feedback@noeko.app.
Note
During this Beta period, apart from the application being entirely available to self-host or use locally for free, the hosted service will also remain free with limits on storage and compute.
| Feature | Description | Status |
|---|---|---|
| π Note-taking | Capture and manage your personal notes | Fully Supported |
| π Knowledge-graph | Connect notes to build your interactive Constellation | Fully supported |
| π₯ Collaboration | Share your ideas and collaborate with others | Fully supported |
| π Search | Search your materials semantically or lexically | Fully supported |
| π¦ Portability | Import from or export to markdown directly | Fully supported |
| π Spyglass | A personal answer engine that directly references your knowledge | Beta |
| π Internationalization | Customize the interface to your preferred language | Under Development |
| π¨ Themes | Adapt the interface to your preferred aesthetic | Under Development |
| π Rabbitholes | Self-building workspaces that constrain context to a specific topic | Active Development |
| π Sources | Upload PDFs and other external materials for research and study | Active Development |
| π§© Web Extension | Capture and retrieve materials wherever you are on the web | Planned |
| π API | Interact programmatically with your Noeko server | Planned |
| ποΈ Voice Notes | Capture knowledge through audio recordings | Planned |
Features not discussed here are either too early to detail, or not planned.
Noeko was built from the ground up using TypeScript, React, Express.js, and SurrealDB. For a more in-depth look, see the Technical Breakdown for a detailed guide. For details on migrations, refactors, and ongoing projects see Growing Zones. We also make use of various third-party dependencies to achieve Noeko's functionality.
Frontend
- React v19
- TypeScript v5
- Vite v7
- Tanstack
react-queryv5 - React Router v7
Backend
- Bun 1.3 (but generally LTS)
- Express v5
Database
- SurrealDB v2 (prospective update to v3)
LLM Features Noeko is built to be model and provider agnostic, we rely on third-parties for embedding generation and LM generation.
See the Full Contribution Guide for further information and instructions. We welcome contributions from anyone interested in making meaningful improvements to Noeko, whether it's opening an issue or a PR.
Noeko is released under the Affero General Public License (AGPL), an OSI-approved Open Source license. Please refer to the License for full terms of the license.
Note
Noeko's core service will always be available Open-Source. For some dedicated enterprise functionality in the future, we may adopt a sustainable dual-licensing model.
Thank you to everyone who has provided feedback, or direct contributions to the application who allow us to keep developing and improving Noeko.
- Aidan Tilgner - Maintainer
- Bilal Azhar - Founding Design Contributor
- Laney Tilgner - Core Design Contributor