A personal assistant who lives in your mail. Penelope keeps years of email as a self-hosted, searchable archive — ingesting from every account you have, reading inside the attachments, and letting you find anything again by date, by a precise query, or by meaning, across three languages.
Screenshot — pending
Penelope is a self-hosted archiving and retrieval system: she ingests mail from your accounts, extracts and indexes both the messages and everything inside their attachments, and makes years of correspondence searchable — by metadata, by precise query, and by semantic similarity. A concrete use case drove it: pulling invoices and train tickets out of a decade of mixed German, Dutch, and English mail at tax time, and actually finding them. It is preservation and retrieval, done to a standard you would trust for records that matter. Penelope is also the provisioning agent behind Claude Collective, setting up mailboxes for new cohort members — the same assistant, on the sending side.
Five components make up the system:
Ingestion spans IMAP, Microsoft Graph, and Google, with OAuth account management; attachments are extracted and OCR’d; search runs as full-text, structured query, or semantic vector search, with an Advanced Query page offering all three modes and multi-format export to CSV, JSON, Excel, and ZIP. Beyond retrieval it has grown outbound features — a compose-and-reply editor, calendar handling, an event-and-webhook subsystem with quotas, dark mode, and a command palette. The stack is Node and Express with Sequelize over PostgreSQL, a React front end, Qdrant for vector search, S3-compatible object storage, and a spread of extraction libraries for PDF, Office, HTML, and image OCR, with language detection to keep the three-language search honest. Fittingly, it runs its own agentic-engineering framework internally to govern its development.