Mnemosyne
- NestJS
- TypeScript
- MongoDB
- GridFS
- Change streams
- Sandboxed JavaScript execution
- JSON Schema
- Monaco editor
- Public
- Backend service
- Data platform
- Backend for front ends
- File storage
- Public API
Description
A back end you do not have to write
Mnemosyne is the data plane. It gives an application storage, file handling, scheduled shape changes, event driven hooks and its own small server side functions, without that application having to ship a back end of its own. A front end can be genuinely front end only and still do real work.
What it gives you
Permission gated data access. Applications read and write through a single gate that checks, on every call, whether this caller may touch this collection in this way. The permission travels with the caller, so a mistake in one application cannot reach another one's data.
A memory of the shape of things. The storage is schemaless, which is fast to move in and easy to drift. Mnemosyne keeps a declared shape per collection beside the data, validates against it, and records migration steps that move a collection from one version of its shape to the next. You get the freedom of a document store and a written answer to "what is supposed to be in here".
Functions, written in the console. Small pieces of server side logic are written in a real code editor in the browser, with completion and type checking, and run in a sandbox. A function carries its own permissions, decided when it is written, so calling one can never be an escalation: the most it can do is what its author allowed it to do.
Public endpoints without accounts. A function can be marked as callable by anyone, by holders of a given role, or by nobody but the platform. A public one can be limited to named sites, rate limited per caller, given a cache window and made to validate its input before it runs. That is enough for a public website to load live data with no accounts, no keys and no back end of its own.
Reactions to change. Triggers watch a collection for inserts, updates or deletions and call out to a destination you nominate, with retries and a delivery log that records what happened each time.
Files, streamed. Buckets hold uploads of any size, with per bucket limits and quotas. The bytes stream straight through rather than being loaded into memory, and the console shows only the metadata.
A data browser. Any collection can be read through the console with the same permissions an application would get, with filters, paging and a readable view of each document.
Who it is for
Front end projects that need a real back end but not a bespoke one, and platforms that want one audited way into their data instead of one per application.
Screenshots
Status
- UNKNOWN