Stone Maps
A place-aware conversational journaling platform. Stories from the field, development notes, and dispatches from the intersection of place, memory, and AI. โ stnmps.com
stonemaps
- What Stone Maps IsStone Maps is a place-aware journaling app paired with a physical stone. This is what it is, why it exists, and what we mean by slow over fast.2026-04-17
- Building Voice Mode for the EmissaryHow we added real-time voice conversation to the Planetary Emissary using OpenAI's Realtime API and WebRTC โ and what broke along the way.2026-04-17
- Gelling the Experience: Ideas for Making Stone Maps Feel WholeThe app works. But working and cohering are different things. Some ideas โ speculative, half-formed, some fully formed โ for deepening the physical-digital relationship at the heart of Stone Maps.2026-04-17#stonemaps#design#philosophy#slowness
- Core Workflows: What You Actually Do in Stone MapsNot features, not API routes โ the actual sequences of action that make up a session in Stone Maps. From first scan to daily journal to voice conversation to map discovery.2026-04-17#stonemaps#design#feature
- The Tech Stack: Every Tool and Why It's ThereA frank accounting of every tool in the Stone Maps stack โ the reasoning behind each choice, the tradeoffs accepted, and what would be chosen differently with hindsight.2026-04-17#stonemaps#devlog#nextjs#build
- Architecture: How Stone Maps Is Put TogetherA complete picture of how Stone Maps is structured โ the monorepo layout, API patterns, database connection strategy, and the decisions that shape every new feature.2026-04-17#stonemaps#devlog#nextjs#build
- Buying a Stone: Stripe Integration and FulfillmentStone Maps is a physical product as much as a digital one. How the Stripe checkout flow, order schema, and fulfillment pipeline work โ and the design decision to sell stones at all.2026-04-17#stonemaps#devlog#build#feature
- Offline First: PWA and Serwist Service WorkerA journaling app that only works when you have signal is missing the point. How Stone Maps uses Serwist to become a PWA โ installable, cacheable, and available offline.2026-04-17#stonemaps#devlog#build#nextjs
- The Map: Building Place Discovery with Mapbox GLThe map is where Stone Maps becomes a place, not just an app. How Mapbox GL powers the discovery layer, how viewport-based queries work, and why the map is read-only by design.2026-04-17#stonemaps#devlog#feature#build
- Teams and Campaigns: Scoped Journaling for GroupsStone Maps is primarily a personal journal. But it also has teams โ and within teams, campaigns. Here's how the group model works and the RBAC decisions that shaped it.2026-04-17#stonemaps#devlog#feature#build
- The MCP Endpoint: Stone Maps as a ToolStone Maps has an MCP server endpoint. Here's what it exposes, how it authenticates, and why building one turned out to reveal something interesting about what the app actually is.2026-04-17#stonemaps#devlog#ai#build
- P0 Hardening: Rate Limiting, Validation, and the Road to ProductionBefore Stone Maps could go to early access, it needed real infrastructure: rate limiting on every endpoint, Zod validation on every input, error monitoring, and a CI/CD pipeline that caught bugs before Vercel did.2026-04-17#stonemaps#devlog#build#nextjs
- Building the Admin DashboardA solo founder running an early-access app still needs admin tooling. Here's how the Stone Maps admin dashboard works โ the RBAC model, the 2FA gate, and what it can actually do.2026-04-17#stonemaps#devlog#build#nextjs
- The Pebble Onboarding: Five Questions Before the JournalBefore you can write anything in Stone Maps, you answer five questions. This is the genesis โ and why we made it the threshold instead of a profile form.2026-04-17#stonemaps#devlog#design#feature
- Place and PostGIS: How Stone Maps Thinks About LocationStone Maps is a place-aware app. That means location data is everywhere โ in posts, in stones, in prompts. Here's how PostGIS makes that work without being heavy about it.2026-04-17#stonemaps#devlog#supabase#build
- Account Lifecycle: Designing Suspend, Reinstate, and DeleteWhat does it mean for a journaling app to let you leave? The decisions behind account suspension, reinstatement, and permanent deletion โ and why the UI makes you confirm twice.2026-04-17#stonemaps#devlog#design#build
- Pairing with a Stone: QR Activation and the Self-PairThe physical stone is the starting point. How QR activation works, what the genesis questions are for, and why the self-pair is the core relationship in Stone Maps.2026-04-17#stonemaps#devlog#design#feature
- The 24-Hour Rule: Designing Sparse AI InteractionsMost apps try to maximize engagement. Stone Maps deliberately limits how often the Emissary speaks โ and the code that enforces this is worth examining.2026-04-17#stonemaps#devlog#design#ai#slowness
- Media in the Field: Building the R2 PipelineHow Stone Maps handles media uploads โ presigned URLs, a proxy route, and the design decisions that kept it working across deployments.2026-04-17#stonemaps#devlog#cloudflare#build