Skip to content

Private software for the groups that matter.

Grallumae builds invite-only products and the infrastructure behind them — row-level security, edge runtimes and real privacy, rather than privacy policy promises.

mangofold.pages.dev

Thursday · 21:40

Good evening, everyone

Revision session

Tomorrow · 8:00 pm

Weather

Lahore

28° · clear

Timer

25:00

12:38 left

My Day

4 tasks

2 of 4 done

Reading

Trilogy

30 pts to goal

A

Ayaan pushed the physics notes to the wiki — section 4 has the diagram we wanted

21:34
M

Meera perfect. reminded everyone 📣

21:36
Database migrations
26Database migrationsMangofold
RLS boundary assertions
188RLS boundary assertionsSecurity tests
Edge functions
24Edge functionsOne per capability
Products shipped
6Products shippedAcross four categories

[Products]

Everything we have built, stated honestly.

6 products, each built because we needed it. We publish the status of every one, including the parts that are not finished.

All products
[Mangofold]Live in production

A private home for the groups you actually want to talk to.

Discord-grade real-time infrastructure rebuilt as one calm, invite-only space per small group. Mangofold pairs channel chat with a shared wiki, a shared calendar, personal task lists and a configurable home dashboard — so a study group, club or long-distance family gets the infrastructure of a platform without the noise of one.

About MangofoldOpen itiOS · Android · Web (PWA) · Installable
  • Real-time channel chat with replies, edits, polls and attachments
  • Shared Markdown wiki and a shared calendar for the whole group
  • My Day — personal tasks with due dates, notes and defer
  • Thoughts feed with hot/new/following ranking, likes, reposts and threads
Routes
30
Edge Functions
24
DB migrations
26
[FamilyFolds]In development

The operating system for your household.

A calm, colourful operating system for the household, built around one loop: a parent assigns a chore, a child completes it, a parent approves it, points enter an append-only ledger, and the child redeems a reward. Around that sit the things families actually argue about — chat, shared notes, live location and a zero-knowledge password locker.

About FamilyFoldsiOS · Android · Web · Desktop
  • Assign → complete → approve → points → reward, as a single loop
  • Append-only point ledger the server owns end to end
  • Zero-knowledge password vault with per-item PIN escalation
  • Live location sharing that always shows who is looking
Status
Pre-development / early vertical slice
Flutter app
~570 lines
Backend
~350 lines, 5 endpoints
[bottlemail]Retired

Unsent letters drifting at sea.

A Messages in a Bottle mechanic where the addressing key is an email address instead of a name — which is what makes a genuinely private inbox possible. Senders never need an account. Every letter is public with the recipient's address cryptographically hidden, and if that address ever signs in, their letters are waiting.

  • No account ever required to send a letter
  • Recipient addresses encrypted with AES-256-GCM
  • HMAC-SHA256 blind index for O(1) lookup without plaintext
  • Hard 500-character notebook-page constraint
Status
Retired (September 2026)
Routes
1 page + 6 API endpoints
Database
libSQL — Turso in production
[Slateberry]Feature complete

A classroom workspace with no 1-on-1 DMs at all.

Most school communication tools compete on more messaging. Slateberry ships less, on purpose: there is no private DM corridor, so a student can never be cornered one-on-one. Everything happens in open, moderated, admin-supervised channels, forums and a shared channel wiki — with live polls, ephemeral channels and a home screen of sixteen rearrangeable widgets.

  • No private DMs by design — every conversation is open and moderated
  • IRC-style channels with edits, reactions, mentions and a sticker palette
  • Channel wiki with Markdown-Lite, [[wikilinks]] and bi-directional backlinks
  • Forums with pinned announcements, locked threads and reply counters
Status
Feature complete, unreleased
Kotlin
35,349 lines across 131 files
Worker
371 lines, 9 endpoints
[Fivefold]Alpha — web build runs

Learn something useful in five minutes.

An offline-first micro-learning app for AI literacy. Each lesson is a handful of short cards, one optional practice note, a single quiz you can retry, and a takeaway — about five minutes end to end. No account, no server, no analytics, and a Content Security Policy that makes the app physically unable to phone home.

About FivefoldWeb (single file) · Web (PWA) · Android · iOS
  • 103 short lessons across 18 topics, authored as validated JSON
  • A Content Security Policy of connect-src 'none' — it cannot make a network request
  • Offline coach that answers only from the current lesson and admits when it can't
  • Practice notes up to 4,000 characters, exported as plain text
Status
Alpha — web build runnable
Lessons
103 across 18 topics
App code
~1,158 lines JavaScript
[My Mini Cafe]Playable slice

Brew coffee, serve customers, earn coins, upgrade.

A one-thumb 3D management game where you physically walk around your cafe. A joystick appears wherever you touch; there is no tap-to-interact anywhere. Coffee brews itself, cups stack visibly on your tray, walking up to a customer serves them, and the coins buy a shop full of machines, seats, paint and lighting.

  • One-thumb 3D play with a joystick that appears wherever you touch
  • Cups auto-brew and stack visibly on a tray with a real capacity limit
  • Customers walk in, claim a seat, and lose patience after 20 seconds
  • A shop built at runtime from data files — a new upgrade needs no code
Status
Playable vertical slice
Game code
2,559 lines GDScript
Dev tooling
4,261 lines

[Platform]

The shortlist.

Every product runs on the same spine: Cloudflare at the edge, Postgres for authority, and a test suite that treats the security boundary as the main event.

Cloudflare at the edge

Workers, Pages, Durable Objects, Queues, R2 and D1 — every Grallumae product deploys to Cloudflare, so everything runs under one account and one set of logs.

The database is the authority

Permissions, entitlements and balance ledgers are enforced in Postgres rather than trusted to a client. A modified app gains nothing.

Tests as a security gate

Mangofold ships 188 row-level-security boundary assertions and a 21-test end-to-end suite. The boundary is the thing under test.

Privacy as an architecture

AES-256-GCM with peppered blind indexes in bottlemail, zero-knowledge vault design in FamilyFolds, no public profiles in Mangofold.

Shipped, not promised

We report status accurately. FamilyFolds is labelled in development, bottlemail is labelled retired, and the gaps on each page are listed rather than hidden.

Built to be operated

Retries that survive a flaky APNs response, cron sweeps that reconcile a queue idempotently, and health endpoints. Boring on purpose.

[Services]

We build the hard parts for other people too.

We also take on a small number of contract projects. The products above are the proof of work.

Zero to shipped

An idea turned into a working, deployed, documented product — the same path Mangofold and bottlemail took.

Privacy and authorisation

Multi-tenant row-level security, encryption at rest in the database, zero-knowledge storage design, and audits that test the boundary.

Cloudflare architecture

Workers, Durable Objects, Queues, R2 and D1 — migrations, observability, and a deploy pipeline you can actually run.

Product engineering support

Ongoing feature work, hardening and release management for teams shipping on the same stack.

[Recently shipped]

The changelog.

What has actually landed, across every product.

Full changelog
1 Oct 2026

v1.0.2 — hardening pass before wider release

Mangofold

Tightened the moderation and notification paths, and closed the report-policy gap so reports cannot be read or written from the client at all.

30 Sep 2026

Two P0 ledger-integrity findings identified

FamilyFolds

An internal review found that client-supplied point values and member ids on the approval path could mint arbitrary points, and that a negative value could break the never-negative invariant. Both are being fixed before further surfaces are built.

28 Sep 2026

This site — Next.js on Cloudflare Workers

Grallumae

Company site shipped on vinext with prerendered routes behind the Workers static-assets cache, and a command palette over every product, page and action.

24 Sep 2026

bottlemail retired

bottlemail

The service was taken offline. The repository is preserved and the AES-256-GCM addressing model is documented on the product page as shipping history.

[Get in touch]

Have something that needs building?

We take on a small number of contract projects — product builds, privacy-critical backend work, and taking an idea from zero to shipped. Tell us what you're working on.

Taking on select projects for 2026