A forest of voices. Writing and community tools for a quieter corner of the internet.
The internet used to be a garden. Not a manicured one. A wild one, full of weird little corners and handmade pages. You could stumble onto someone's space and feel like you'd discovered something real.
Then the walls went up. Friends scattered to different platforms. Words became datasets. The gardens disappeared into algorithmic voids where the only way out was through a gate someone else controlled.
Grove is a place to write, to share, to belong. You get your own blog at you.grove.place. Your words live in markdown. No algorithms decide who sees them. No AI scrapes them. You can export everything, anytime. We don't hold your data hostage.
This is a forest, not a factory. We grow at the pace of roots.
Welcome to the Grove.
Everything in Grove has a name. These are the pieces that make up the forest.
| Name | Path | What it is |
|---|---|---|
| Landing | grove.place | The home page, the heart of Grove |
| Plant | plant.grove.place | Where new Wanderers plant their grove |
| Meadow | meadow.grove.place | Community feed, chronological, no algorithm |
| Forage | forage.grove.place | AI-powered domain discovery |
| Clearing | status.grove.place | Status page for the whole forest |
| Terrarium | terrarium.grove.place | Admin and testing sandbox |
| Login | login.grove.place | Unified auth hub |
| Amber | amber.grove.place | Media storage frontend |
| Ivy | ivy.grove.place | Zero-knowledge email client |
| Name | Path | What it is |
|---|---|---|
| Heartwood | Auth provider | OAuth 2.0 + PKCE, magic links, passkeys |
| Grove Router | Subdomain routing | Routes *.grove.place to the right app |
| Loom | Coordination layer | Durable Objects for caching and real-time state |
| Amber | Storage API | Media upload, processing, and CDN delivery |
| Forage | Domain service | Domain availability search and registration |
| Pulse | Analytics | Privacy-respecting visitor analytics |
| Zephyr | Email gateway | Transactional email delivery |
| Zephyr Render | Service binding | React Email template rendering |
| OG Worker | og.grove.place | Dynamic social preview images |
| Name | Path | What it is |
|---|---|---|
| Post Migrator | Background cron | Hot/warm/cold storage tiering |
| Timeline Sync | Background cron | Meadow timeline synchronization |
| Webhook Cleanup | Background cron | Expired webhook purge |
| Meadow Poller | Background cron | Community feed polling |
| Email Catchup | Background cron | Email delivery retry |
| Vista Collector | Background cron | Analytics aggregation |
| Warden | Background cron | Health monitoring and alerting |
| Name | Path | What it is |
|---|---|---|
| Lattice | @autumnsgrove/lattice |
The core framework. The thing that holds everything else up |
| Foliage | @autumnsgrove/lattice/foliage |
Theme system — personal expression with guardrails |
| Gossamer | @autumnsgrove/gossamer |
Shared utilities across the monorepo |
| Shutter | @autumnsgrove/shutter |
Image processing and optimization |
| Vineyard | @autumnsgrove/vineyard |
Component showcase for every Grove property |
grove.place · status.grove.place · forage.grove.place · og.grove.place · scout.grove.place
| Project | Repository |
|---|---|
| GroveScout | AutumnsGrove/GroveScout |
| Forage (backend) | AutumnsGrove/Forage |
| Shutter | AutumnsGrove/Shutter |
git clone https://github.com/AutumnsGrove/Lattice.git
cd Lattice
pnpm install
pnpm --filter @autumnsgrove/lattice devSee SETUP.md for the full development guide. See CONTRIBUTING.md for guidelines.
- Queer-friendly infrastructure. Safe digital spaces, especially when physical ones feel hostile.
- No algorithms, no engagement metrics. Your feed is chronological. Your worth isn't measured by likes.
- Your words stay yours. Not a dataset. Not a statistic. Exportable in standard markdown, always.
- AI sanctuary. Every crawler blocked at the gate. What you write here is read by humans.
- Solarpunk-aligned, no VC. Built slowly, with care, without investor pressure to enshittify.
- Built to last. Grow with Grove long enough, and your site earns Centennial status. A hundred years online.