February 1, 2026
Upload attachment from custom widget
A simple custom widget to upload attachment.
A simple custom widget to upload attachment.
I’ve build a prototype of a tar like gristar command which extracts grist attachments in bulk from a grist file. If you use it, be aware that this is a prototype.
A modern, open source spreadsheet that goes beyond the grid
Safebucket is an open-source secure file sharing platform designed to share files in an easy and secure way, integrating with different cloud providers. Built for individuals and organizations that need to collaborate on files with robust security, flexible access controls, and seamless multi-cloud support across AWS S3, Google Cloud Storage, RustFS and MinIO.
Lovely Eye is self-hosted, cookie-less, lighweight analytics written in GO programming language with the React/Typescript dashboard. Evolving to be optimized alternative for Umami and Plausible.
A self-hosted dead man’s switch for delivering encrypted messages (E2EE) to your loved ones — when you’re gone or unresponsive.
A lightweight, client-only spreadsheet web application. All data persists in the URL hash for instant sharing, No backend required. Optional AES-GCM password protection keeps shared links locked without a server
Lightweight, client-only calendar web application. All data persists in the URL hash for instant sharing, No backend required. Optional AES-GCM password protection keeps shared links locked without a server.
Grist has an extremely useful feature: User Actions. Unfortunately, there is almost no documentation on this subject. This post is my attempt to solve this problem, and empower more people (both user and developers) to use them.
There is an undocumented method lookupOrAddDerived, which behaves like lookupOne but creates a matching record if one isn’t found.