escriba: don't lose your ideas.
Your imagination doesn't wait for a keyboard. Why should your stories have to?

For writers. By writers.
Inspiration
The best ideas rarely arrive when we're ready for them.
You're writing at a coffee shop. You close your laptop, catch your train, and suddenly figure out the perfect plot twist.
But your hands are full. You're busy. You'll write it down later.
If you remember.
As writers ourselves, we know that stories don't stop growing when we step away from our desks. Inspiration strikes while traveling, cooking, walking, or simply living.
We built escriba so your ideas never have to wait for you to find a keyboard.
What it does
escriba connects spontaneous inspiration with your actual writing process.
Have an idea? Just tell Alexa.
Talk about your characters, describe a new world, explore a plot twist, or share whatever comes to mind. escriba captures your thoughts, extracts the relevant details, and organizes them into your writing workspace.
Instead of leaving you with endless voice recordings or chat transcripts, escriba turns scattered thoughts into structured story information.
Your projects are organized around what matters to writers:
- Books: Dedicated workspaces for each story.
- Characters: Personalities, relationships, motivations, and backstories.
- Worldbuilding: Locations, cultures, rules, and fictional universes.
- Plot and ideas: Scenes, events, twists, and spontaneous inspiration.
But organizing ideas doesn't mean taking creative control away from the writer.
escriba distinguishes between established story facts and possibilities still being explored. You can review proposed changes before accepting them into your story's canon.
When you're ready to get back to work, open escriba on your computer or phone.
Explore your characters and worlds, review the ideas you've collected, navigate your story through a visual atlas, or use the manual editor to develop characters, locations, scenes, timelines, and story notes.
You can also interact through the web chat or connect compatible AI assistants using escriba's MCP server.

Speak when inspiration strikes. Develop your story when you're ready. Continue anywhere.
How we built it
We designed escriba around one core principle:
Your creative memory shouldn't depend on how you interact with it.
Our system combines a narrative backend, an AWS-powered Alexa Custom Skill, a self-hosted MCP server, and a responsive writing workspace.
1. Alexa Custom Skill + AWS Lambda
We developed a private English (US) Alexa Custom Skill powered by AWS Lambda, connecting voice interactions to escriba's narrative backend through an authenticated HTTPS API.
Writers can create and select books, submit ideas, and request their processed results.
One of our biggest engineering challenges was Alexa's response deadline. AI processing sometimes takes longer than Alexa allows for a single interaction.
Rather than sacrificing reliability, we built an asynchronous processing workflow:
- Alexa receives the writer's idea.
- The backend persists it immediately.
- AI processing runs asynchronously.
- The writer can retrieve the processed result in a later interaction.
We used AWS IAM for access control, CloudFormation for reproducible deployment, and CloudWatch Logs for diagnostics.
Our Skill has been validated through the Alexa Developer Console simulator with real AI processing and persisted story data.
For the hackathon demonstration, Lambda communicates with our locally hosted backend through a temporary authenticated HTTPS tunnel.
2. Self-hosted MCP server
To make escriba accessible beyond Alexa, we implemented our own Model Context Protocol (MCP) server, compatible with protocol version 2025-11-25, using Streamable HTTP.
The server exposes 19 tools for interacting with stories, narrative memory, characters, worldbuilding, and other structured information.
This isn't just a theoretical integration.
Our web application executes real MCP tool calls and exposes their requests and responses in a dedicated Real MCP calls panel. Tool discovery is also supported and verified through independent MCP clients.
We additionally implemented OAuth authorization with PKCE, enabling authenticated connections from ChatGPT and compatible AI assistants.
This allows escriba's narrative capabilities to extend beyond our own interface.
Importantly, the Alexa Skill and MCP server are separate integrations built around the same narrative backend architecture. We don't depend on access to native Alexa+ development tools.
Our goal is to make escriba's creative memory accessible wherever the writer chooses to interact with it.
3. Persistent narrative memory and web workspace
Our backend processes conversations into structured narrative information stored in SQLite.
Rather than storing everything as an undifferentiated conversation history, escriba maintains entities, relationships, story details, and distinctions between confirmed and hypothetical information.
Our responsive web application provides:
- Structured story and character management.
- Worldbuilding and narrative organization.
- A visual atlas for exploring story information.
- Conversational interaction.
- A manual editor for refining narrative details.
- Review of proposed changes before they become canon.
The interface works on desktop and mobile, allowing writers to move between spontaneous brainstorming and more deliberate creative work.
Two integrations. One narrative architecture. A creative workspace designed to follow your imagination.
Challenges we ran into
Our biggest challenge wasn't just capturing ideas.
It was making them useful afterward.
Writers think out loud. They jump between characters, change their minds, contradict themselves, and explore possibilities they may never use.
A traditional note-taking system preserves the words, but leaves the writer responsible for making sense of them later.
We wanted escriba to do that organizational work without making creative decisions on the writer's behalf.
This meant building structured memory, preserving narrative context, and distinguishing between hypotheses and established canon.
We also faced two significant integration challenges:
- Alexa's response deadline: Long-running AI processing required immediate persistence, asynchronous jobs, and reliable retrieval across interactions.
- Limited native Alexa+ access: Rather than waiting for unavailable development tools, we built a functional Alexa Custom Skill and an independent MCP server to demonstrate the voice experience and agentic integration capabilities.
Connecting conversational AI, structured memory, and multiple interfaces taught us that a useful creative assistant needs more than a good model.
It needs a reliable way to turn imagination into something writers can actually return to.
Accomplishments that we're proud of
We're proud that escriba addresses a problem we experience ourselves, while combining a real product experience with a modular technical foundation.
Some of our favorite achievements include:
- Building an AWS Lambda-backed Alexa Custom Skill, with authenticated communication and asynchronous AI processing.
- Developing a functional self-hosted MCP server exposing 19 narrative tools through Streamable HTTP.
- Implementing OAuth with PKCE to support authenticated MCP connections from ChatGPT and compatible clients.
- Demonstrating real MCP execution and inspecting requests and responses directly through our web application.
- Creating structured narrative memory that separates established story facts from developing possibilities.
- Building a visual atlas and manual editing workspace, allowing writers to explore and refine the information they've created.
- Keeping the writer in control, with proposed narrative changes reviewed before becoming canon.
But our favorite accomplishment is something much simpler.
We built a system where an idea can begin as a spontaneous spoken thought and become meaningful, organized information that the writer can develop later.
escriba isn't here to write your story for you. It's here to make sure your own ideas don't disappear before you get the chance.
What we learned
Building escriba taught us that capturing an idea is only half the problem.
The other half is making it easy to find, understand, and use when it's finally time to create.
We learned that voice interfaces are especially valuable when interacting with a screen would interrupt the moment.
We also learned that meaningful AI memory isn't simply about remembering everything. It's about preserving context, understanding relationships, and recognizing the difference between an idea someone is exploring and a decision they've actually made.
And perhaps most importantly:
The best creative tools don't need to create for you. They need to help you create.
What's next for escriba: don't lose your ideas
We see escriba as the beginning of a much larger creative experience.
As native Alexa+ development becomes more widely accessible, we want to explore deeper voice integration, more natural conversations, and richer context across sessions.
We also want to expand our narrative workspace with better ways to visualize connections between characters, locations, events, and storylines.
Our MCP architecture provides a foundation for connecting future AI assistants and interfaces without rebuilding the underlying narrative system.
And while we're starting with fiction writers, we believe the same concept could help screenwriters, game designers, worldbuilders, and creators of every kind.
Because the problem isn't a lack of creativity.
It's that inspiration and the opportunity to act on it don't always happen at the same time.
We want to change that.
From an idea in the shower, to a conversation with Alexa, to a writing session on your laptop or phone.
One story. Every device. No ideas left behind.
escriba: don't lose your ideas.
For writers. By writers.
Built With
- alembic
- alexa
- amazon-alexa
- amazon-web-services
- docker
- docker-compose
- fastapi
- model-context-protocol-(mcp)
- nginx
- pydantic
- python
- react
- sqlalchemy
- sqlite
- typescript
- vite

Log in or sign up for Devpost to join the conversation.