Lagniappe is a private web app for individuals and small organizations that supports collaborative documents, files, structured records, contextual tasks, permissions, and search. It runs in a Google Cloud project and connects to a Redis Cloud database, both controlled by the owner. Optional, user-invoked AI is limited to the invoking user’s existing permissions.

The main unit of organization in Lagniappe is a page: a car, a job you’re trying to get, an apartment you manage — anything, really. A page can have as much structure as you choose to give it, and its related tasks, files, images, and notes are attached directly to that page. Structure is defined by reusable forms that you build yourself or generate with AI and attach to pages or tasks. Because those forms provide structure without determining where something belongs, a page can cohesively organize many different kinds of information.

Rather than a folder containing a collection of files, a page represents a thing or a concept itself. Pieces of it can appear elsewhere — in search, filters, or project-tracked task lists — but they remain attached to that page. This is also convenient for AI features, because the relevant context is already bundled together.

Good Fit

  • Personal operations: properties, equipment, household records, projects, contractors, documents, and recurring work.
  • Small organizations that need private records, roles, files, tasks, and forms without buying into a large platform.
  • Workflows where a page needs both narrative documents and structured data.
  • Teams that care about permission boundaries before sending context to AI.

Less of a Fit

A few situations where something else is probably the better tool:

  • You want a polished notes app with zero setup and no cloud account to manage.
  • You need offline-first local files, end-to-end encryption, or peer-to-peer sync.
  • You want a general spreadsheet replacement or a full project-management suite with boards, sprints, and reporting dashboards.
  • You would rather rely on a vendor’s support contract than on source code and your own infrastructure.

Core Concepts

Forms

Forms define structured fields: text, dates, selects, checkboxes, tables, links, locations, signatures, and more. They also act as content types.

Categories

Categories group pages. A category can have a default form, and individual pages can use different forms when a category contains several related types.

Pages

Pages are the main records. A page can have a document, form data, tasks, files, notes, and permissions.

Tasks

Tasks live on pages. They can recur, collect form data, keep history, and be assigned without losing the context of the page they belong to.

Projects

Projects collect related work across many pages. They can define task templates and provide an aggregated view of tasks that still live on pages.

Files

Files are stored in your cloud storage bucket. They can be attached to pages or tasks, extracted for search, summarized, or imported from CSV.

Design Choices

  • Server-rendered pages. Permissions are enforced before HTML is sent to the browser.
  • Owned infrastructure. The app runs in your Google Cloud project, using your storage, database, auth, and AI account.
  • Structured data plus documents. Freeform writing and database-like fields are designed to live together.
  • Plain web foundations. Flask, Jinja, HTML, CSS, and vanilla JavaScript keep the app less tied to frontend framework churn.

These choices keep the app durable and inspectable. The tradeoff is a bit more setup up front and a handful fewer conveniences than fully hosted software.

Open Source

Lagniappe is licensed under the AGPL 3.0 or later license. You can run it yourself, modify it, and inspect how your data is handled. If you offer a modified version as a hosted service, the license requires sharing that source code under the same terms.

Source for this installation (version 2.3.0)