Content
# FlareMo
**Cloudflare-native · Memos-compatible · Personal Knowledge Management Platform**
A Memos-compatible, Cloudflare-native personal knowledge management system.
[](https://github.com/realchendahuang/FlareMo)
[](https://github.com/realchendahuang/FlareMo)
[](https://github.com/realchendahuang/FlareMo/commits)
[](https://github.com/realchendahuang/FlareMo)
[](https://github.com/realchendahuang/FlareMo/issues)
[](https://github.com/realchendahuang/FlareMo/pulls)
[](https://github.com/realchendahuang/FlareMo/graphs/contributors)
[](./LICENSE)
[](https://github.com/realchendahuang)
[](https://www.cloudflare.com/)
[](https://github.com/usememos/memos)
[](https://github.com/realchendahuang/FlareMo)
[](https://github.com/realchendahuang/FlareMo)
---
## Origin
The idea: keep the quick-capture spirit of Flomo, reuse the Memos
ecosystem as much as possible, and make the whole stack deployable on
Cloudflare — no long-running VM, Docker, Postgres, or Node server as a
core production dependency.
## Positioning
FlareMo is not just another note-taking app. The goal is to evolve in three stages:
| Stage | Positioning | Key Capabilities |
| --- | --- | --- |
| **v1** | Flomo-style rapid capture + Memos-compatible note system | Quick recording, timeline, search, tags, import/export, Memos `/api/v1` subset |
| **v1.5** | Basic personal knowledge library | R2 attachment storage, link preview, vector index, semantic search |
| **v2** | Full-fledged personal knowledge management platform | AI-driven workflows, daily/weekly reviews, related notes, attachment extraction |
One hard constraint from day one: **entirely running on Cloudflare**. Workers are "run once per request," with no long-running processes, local files, or native SQLite drivers. The trade-off is a fundamentally different architecture, but the benefits include zero maintenance, usage-based billing, and seamless integration with Cloudflare's AI, vector, and queue services.
## What is FlareMo?
FlareMo is designed around three core aspects:
1. **Memos Compatibility**
- Adopts Memos' domain model: memos, users, attachments, relations, shares, settings, tags, and derived payload/property.
- Uses Memos' resource naming conventions: `memos/{id}`, `users/{id}`, `attachments/{id}`.
- High-value `/api/v1` compatibility layer for Memos clients, scripts, import/export, OpenAPI, and MCP.
2. **Cloudflare-native Runtime**
- Workers handle API and edge runtime.
- D1 stores relational data.
- R2 stores attachments, exports, and generated content.
- Queues/Cron handle background tasks.
- Vectorize + Workers AI enable future semantic search and AI workflows.
3. **Flomo-style User Experience**
- Capture-first writing flow.
- Quiet, quickly scannable timeline.
- Fast search, tags, backlinks, and daily reviews.
- Lightweight personal knowledge management, not heavy backend systems.
## Why Memos + Cloudflare?
Memos has a mature ecosystem: established data model, clear API direction, OpenAPI support, import/export capabilities, and an active user base.
Cloudflare provides the necessary primitives for a lightweight personal knowledge system: global Workers, D1's serverless SQLite, R2 object storage, and edge-based AI building blocks.
Combining these gives FlareMo: **Memos ecosystem compatibility + Cloudflare-native deployment + Flomo-style capture experience**.
## Relationship with Memos
FlareMo doesn't aim to replicate the original Go-written Memos service on Cloudflare. That service relies on traditional long-running runtimes: `http.Server`, Echo, `database/sql`, SQLite/Postgres/MySQL drivers, local file services, SSE connection management, and background runners.
Instead, FlareMo takes Memos as a **primary specification and ecosystem anchor**, then rebuilds the runtime on Cloudflare:
- Preserves compatible data shapes and public protocols.
- Reimplements storage on D1 and R2.
- Maintains Memos-compatible `/api/v1` facade for ecosystem reuse.
- Adds FlareMo-native APIs only when necessary for edge-friendly features.
## Compatibility Roadmap
The initial compatibility goal is a **usable Memos subset**, not a day-one full match.
### Data Compatibility
- Memos-style memo/user/attachment/relation/share/settings tables.
- Compatible resource naming.
- Compatible memo payload/property shapes, covering tags, title, links, tasks, code, location.
- Memos import/export paths.
### API Compatibility
High-priority endpoints:
- `POST /api/v1/memos`
- `GET /api/v1/memos`
- `GET /api/v1/{name=memos/*}`
- `PATCH /api/v1/{memo.name=memos/*}`
- `DELETE /api/v1/{name=memos/*}`
- `GET /api/v1/{name=memos/*}/attachments`
- `PATCH /api/v1/{name=memos/*}/attachments`
- `GET /api/v1/{name=memos/*}/relations`
- `PATCH /api/v1/{name=memos/*}/relations`
- `POST /api/v1/{parent=memos/*}/shares`
- `GET /api/v1/shares/{share_id}`
- `POST /api/v1/attachments`
- `GET /api/v1/attachments`
- `GET /api/v1/{name=attachments/*}`
- `DELETE /api/v1/{name=attachments/*}`
### Ecosystem Compatibility
- Supports Bearer token/personal access tokens for scripts and tools.
- Maintains OpenAPI documentation for supported `/api/v1` subset.
- Generates MCP endpoints based on or aligned with the OpenAPI.
## Architecture
```mermaid
flowchart LR
Browser["FlareMo Web UI"] --> Worker["Cloudflare Worker"]
Clients["Memos-compatible clients / scripts / MCP"] --> Worker
Worker --> D1["D1: notes, users, settings, relations"]
Worker --> R2["R2: attachments and exports"]
Worker --> KV["KV: cache and lightweight config"]
Worker --> Queues["Queues/Cron: async jobs"]
Queues --> Vectorize["Vectorize: semantic index"]
Queues --> AI["Workers AI / external AI providers"]
```
## Roadmap
- [ ] Cloudflare Worker + Vite app scaffolding
- [ ] D1 migrations: Memos-compatible core schema
- [ ] Domain service layer: memos, users, attachments, relations, shares, settings, tokens
- [ ] Memos-compatible `/api/v1` memo endpoints
- [ ] Flomo-style capture and timeline UI
- [ ] Memos data import/export
- [ ] R2 attachment storage
- [ ] Supported compatible subset OpenAPI
- [ ] MCP endpoints
- [ ] Vectorize-based semantic search
- [ ] AI-driven reviews, related notes, and "ask my notes" workflows
## References
FlareMo learns from:
- [usememos/memos](https://github.com/usememos/memos): primary ecosystem, model, and API reference.
- [blinkospace/blinko](https://github.com/blinkospace/blinko): AI retrieval, attachment, citation, and editor interaction references.
- [XuYouo/MeowNocode](https://github.com/XuYouo/MeowNocode): lightweight Cloudflare D1 note application reference.
## Star History
The repository has been public from day one, and the star growth curve will be displayed here:
[](https://star-history.com/#realchendahuang/FlareMo&Date)
<a href="https://star-history.com/#realchendahuang/FlareMo&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=realchendahuang/FlareMo&type=Date&theme=dark">
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=realchendahuang/FlareMo&type=Date">
</picture>
</a>
## Build in Public
**Public development from day one**. Architecture decisions, pitfall records, and stage goals are all transparent in the repository. Feel free to observe, raise issues, or suggest directions.
> Status: early, architecture and implementation stage. If you also want a Memos-compatible note system that runs entirely on Cloudflare, give it a star ⭐.
## Contribution
The project is still early. Currently, the most valuable contributions include:
- Memos API compatibility research.
- D1 schema design.
- Cloudflare Worker implementation.
- Import/export compatibility testing.
- Flomo-style writing flow product and UI direction.
Open issues or discussions with specific compatibility goals, API examples, or Cloudflare implementation ideas.
## License
MIT
Connection Info
You Might Also Like
No recommendations available