Inspiration
Everyone daydreams. Some of us daydream worlds — with characters who have names and backstories, locations that feel real, relationships that evolve over time, scenes that replay in our heads. We do this while commuting, while falling asleep, while pretending to pay attention in meetings.
But there's nowhere to put it all. Notes apps are too flat. Writing tools assume you're drafting a novel. Character creators assume you're playing a game. Tools like SillyTavern are powerful but complex and carry a stigma that doesn't fit the cozy, creative experience most daydreamers want.
I wanted to build the app I wished existed — a beautiful, warm place to build the worlds I daydream in, and then, for the first time, actually step inside them. Not as a game. Not as a novel. As a daydream that finally talks back.
The idea crystallized when I realized the gap in the market: every existing tool is either character-first or novel-first. Nobody was building world-first — where the world itself is the foundation, and everything else (characters, conversations, scenes, stories) grows from the world you create. That's how daydreaming actually works: you build the universe first, then you live in it.
MeDo made it possible to go from concept to a fully functional, visually polished app as a solo builder in three weeks — something that would have taken months with traditional development.
What it does
Lorekeeper is a worldbuilding app for daydreamers. You create fictional worlds — characters with personalities and backstories, locations with atmosphere and sensory detail, lore with history and rules — and then you step into them through AI-powered interactions.
🌌 The Multiverse — Your Home Screen Each world you create is a glowing orb floating in a personal cosmos. You can build as many universes as you want — a gothic magic school, a ninja village, a superhero academy — and hop between them. The multiverse grows as your imagination does.
✦ Build Your World Create characters, locations, and lore entries with rich, structured detail. Every character has a personality that feeds the AI, every location has a "vibe" that sets the scene, and every piece of lore deepens the world. Define relationships between everything — rivalries, mentorships, forbidden romances, political alliances — and watch your world come alive as a glowing constellation map where every entity is a star and every connection is a line of light.
💬 Step Inside It Chat with your characters in-character. They know their personality, their relationships, where they are, and what's happening in your world. Generate narrative scenes between characters at specific locations — complete with mood, pacing, and perspective controls through the AI Scene Director. Read your character's private journal entries — first-person inner monologues of what they're thinking but would never say aloud.
📖 Write Your Story Organize your world into chapters. Write your own prose with an AI-assisted editor that can continue your writing, rewrite passages, or describe settings — all pulling from your worldbuilding as context. Fork saved scenes with "What if?" to explore alternate timelines. Track how relationships evolve over time with the relationship evolution log.
📥 Import Any Story Paste a fanfic, upload a file, or drop in a URL from Archive of Our Own or Wattpad. Lorekeeper's AI reads the entire story and auto-generates a complete world: every character, location, lore entry, and relationship, organized into chapters and visualized as a constellation. A 50,000-word story becomes an explorable universe in seconds.
🎧 Experience It Each location can have an ambient soundscape — rain, fireplace, forest, wind — that plays softly while you chat or read. A daily daydream prompt greets you each time you open the app. A timeline view shows your story unfolding chronologically. A mood board captures the aesthetic of each world. A location map lets you spatially arrange your world's geography. And when you're ready, export your entire universe as a beautifully formatted PDF book — complete with cover page, constellation diagram, and chapters.
🎲 Discover New Stories A "Surprise Me" button picks random entities from your world and generates provocative story prompts: "Bram discovers the pendant can speak — but only to him." One tap turns the prompt into a full scene. Memory milestones celebrate your worldbuilding journey along the way.
The app ships with three fully populated sample worlds — Harry Potter, Naruto, and My Hero Academia — each with 5+ characters, 4+ locations, 5+ lore entries, 12+ relationships, written chapters, chat sessions, saved scenes, character journals, and mood boards. New users can explore immediately without building anything.
How we built it
Built entirely with MeDo — described the app's vision, screen flows, data model, and aesthetic system in natural language, then iterated through MeDo's chat interface to build and refine each feature layer by layer.
AI Integration: Gemini 2.5 Flash powers all AI features by default (free, zero-setup for users). Claude Sonnet is available as an optional upgrade for users who bring their own API key. A unified abstraction layer routes all 7 AI-powered features (chat, scene generation, journals, random encounters, scene forking, fanfic import, writing assist) through a single service module, making provider-switching seamless.
Tech Stack:
- Frontend: React 19 + TypeScript + TailwindCSS 3 + Framer Motion (animations)
- Database: Local-first with IndexedDB — worlds stay on the user's device, no account required
- AI: Gemini 2.5 Flash (default) / Claude Sonnet (optional), unified provider layer
- Typography: Cormorant Garamond (literary text), Inter (UI), JetBrains Mono (metadata)
- Audio: HTML5 Audio API with crossfade for ambient soundscapes
Design System — "Cozy Cosmos": Every surface uses frosted glass (backdrop-blur + semi-transparent backgrounds). Every interaction glows rather than casts shadows. Dark space backgrounds throughout. Entity types are color-coded: warm gold for characters, soft cyan for locations, soft violet for lore. The aesthetic was designed to feel like drifting through a personal universe — warm, infinite, softly luminous. No harsh whites, no neon, no generic AI-app look.
Key Technical Decisions:
- World-first data model: A single
entitiestable with atypefield (character/location/lore) rather than separate tables per type. Keeps the schema flexible and makes cross-entity relationships simple. - Context assembly for chat: Each conversation dynamically injects the character's structured fields, linked entities via shared tags, location vibe, and chapter context into the AI prompt. This is what makes characters feel world-aware rather than generic.
- Fanfic import chunking: Stories over 100k characters are split at paragraph boundaries and processed in batches, with each batch updating and expanding the extracted world. The preview step lets users review and edit before committing.
- Constellation as radial layout: Force-directed graphs look messy. A concentric ring layout (most-connected entity at center, radiating outward) creates a clean, beautiful visualization that works as both a tool and a piece of art.
Challenges we ran into
Scope discipline as a solo builder. The vision was always bigger than three weeks. I had a list of 20+ features and had to ruthlessly prioritize: core worldbuilding first, then chat mode, then scene generation, then layer additional features one by one. The hardest cut was delaying multi-character group chats, which I still want to build. The lesson: a polished app with 14 features beats a broken app with 20.
Making the constellation graph feel alive, not clinical. Early versions looked like a network diagram from a computer science textbook — technically correct, emotionally dead. The breakthrough was treating it as a literal star map: dark space background, ambient floating animation on every node (each drifting 2-3px with randomized timing), glow effects instead of borders, and dimming unconnected elements on hover. It went from "useful" to "the thing people want to screenshot."
AI context quality for character chat. The difference between a generic chatbot response and a character who feels like they live in your world is entirely in the context assembly. Too little context and the character is bland. Too much and the AI loses focus and ignores the user's message. Finding the right balance — character sheet + shared-tag entities + location vibe + chapter summary — took many iterations of the system prompts.
Fanfic import reliability. Unstructured creative writing doesn't parse neatly into entities and relationships. The AI sometimes merged characters, missed locations, or invented relationships that weren't in the text. The solution was the preview-and-edit step: show the user everything the AI extracted, let them correct mistakes before the world is created. Making the feature feel reliable rather than magical-but-broken was the real challenge.
Getting MeDo to implement every detail. No-code tools are powerful but sometimes skip features or simplify specs. I learned to write extremely detailed, checklist-driven prompts — specifying every hex color, animation duration, and edge case — to ensure nothing was omitted. The timeline view prompt alone had a 21-item implementation checklist.
Accomplishments that we're proud of
The constellation graph. When I hover over a character node and watch their connections illuminate while everything else fades to darkness — with nodes gently drifting like stars breathing — it genuinely feels like looking at a map of someone's imagination. This one screen communicates what the entire app is about in three seconds.
Fanfic-to-universe import. Watching a 50,000-word story transform into a fully populated world — characters with portraits, locations with atmosphere, lore with depth, all connected by relationships and visualized as a constellation — in under a minute is genuinely magical. It's the feature that makes people say "wait, it can do that?"
The sample worlds. I wrote complete, emotionally rich seed data for three fandoms — Harry Potter, Naruto, and My Hero Academia. Each world has 5+ characters with full backstories, 4+ locations with sensory "vibe" descriptions, 5+ lore entries, 12+ relationships, 2 chapters of original prose, chat sessions, saved scenes, character journals, and mood board items. None of it is placeholder text. Draco Malfoy's inner monologue alone took an hour to write. These worlds are the reason a judge can open the app and immediately feel something — instead of staring at a blank screen wondering what to do.
The cohesive aesthetic. Every screen, every component, every hover state follows the same cosmic visual language — frosted glass, soft glows, warm gold and cool violet accents on deep space backgrounds. It doesn't look like a hackathon project. It looks like a product someone would pay for. That consistency was deliberate and hard-won.
Building this solo in three weeks. Lorekeeper has 14 distinct features, 8+ navigable screens, 3 pre-loaded worlds, a dual AI provider system, ambient audio, PDF export, and a living constellation graph. As a solo builder using MeDo, I shipped more in three weeks than I thought was possible. MeDo's no-code approach let me focus on what matters — the vision, the design, the emotional experience — instead of fighting with build tools.
What we learned
Design is the product in a no-code hackathon. When the code is abstracted away, visual quality and emotional resonance become your primary differentiators. I spent as much time on hover glow effects and animation timing as on feature logic — and that investment shows in every interaction.
World-first is a fundamentally different approach. Every existing tool in this space is character-first (SillyTavern, Character.AI) or writing-first (Scrivener, novelcrafter). Making the world the foundation — and letting characters, locations, and lore all feed each other through shared tags and relationships — creates an experience where the AI interactions feel richer the more the user builds. The world IS the product.
Sample content is not optional. An empty app gets closed in three seconds. A pre-loaded world with a forbidden romance, a political conspiracy, and a dead mother's magic pendant gets explored for five minutes. Every hackathon app should ship with compelling demo content — it's the difference between "I see what this could be" and "I feel what this is."
The emotional hook matters more than the feature count. "Build the world you daydream in, then step inside it" — that single sentence did more for this project than any technical spec. It guided every design decision, every feature priority, and every word of copy in the app. When you can explain your app's soul in one breath, everything else follows.
MeDo is genuinely powerful for solo builders. I expected limitations and compromises. What I got was the ability to iterate on visual design, data architecture, and feature logic through conversation — at a speed that would be impossible writing code from scratch. The key was learning to write extremely specific, detailed prompts. Vague instructions produce vague results. Precise descriptions — down to the hex code and the animation curve — produce polished products.
What's next for Lorekeeper
Multi-character group scenes — Chat with 2+ characters simultaneously in the same conversation, where they interact with each other and with you. The hardest AI prompting challenge in the app, but the most immersive feature imaginable.
AI character consistency memory — Tracking what each character has said and done across all conversations and scenes to prevent contradictions. Cassian shouldn't act surprised about the pendant in Chapter 3 if he already discussed it in Chapter 2.
Community world gallery — A public space where users can publish their worlds for others to browse and explore (read-only). Discover other people's universes. "Trending Worlds," "Most Characters," "Newest." Turn Lorekeeper from a personal tool into a creative community.
Shareable character cards — Export any character as a beautiful, Instagram-story-sized image card showing their portrait, name, role, key relationships, and a signature quote. Daydreamers already make these in Canva — Lorekeeper should generate them automatically.
Character creator wizard — A guided, step-by-step flow for building characters that feels like filling out a magical enrollment form: "What's their name?" → "What are they hiding?" → "Who do they love?" Lower friction than a blank editor, more emotionally engaging.
Mobile-native app — The web app is responsive, but a dedicated mobile experience would perfectly serve the core use case: daydreaming in bed at midnight, phone in hand, stepping into a world only you know exists.
Built With
- medo
Log in or sign up for Devpost to join the conversation.