Inspiration Fiction writers struggle to organize scattered notes, research, and story elements across multiple documents. We wanted to create a visual workspace that helps writers see connections between their creative content. What it does Nimbus MVP allows fiction writers to:
Import .docx/.txt files and categorize content (Character, Plot, Research, Chapter) Organize content in a searchable library with tagging Visualize story elements on an interactive canvas using React Flow Manage their creative materials in one centralized workspace
How we built it
Frontend: React 18 + TypeScript with Tailwind CSS Canvas: React Flow for visual node manipulation Backend: Supabase (database, auth, storage) File Processing: Mammoth.js for .docx parsing Architecture: Focused on server components with minimal client-side code
Challenges we ran into
Processing diverse document formats while maintaining content structure Creating an intuitive categorization system for creative content Balancing feature scope within Supabase free tier limits Designing a canvas interface that works for non-technical writers
Accomplishments that we're proud of
Built a complete MVP with file import, categorization, library management, and canvas visualization Achieved responsive design that works across devices Successfully integrated complex document processing with visual organization Stayed within technical constraints while delivering core functionality
What we learned
The importance of scope discipline in MVP development How React Flow can effectively visualize non-technical content Supabase's capabilities for rapid prototyping The value of user-centered design for creative tools
What's next for AI Partner for Fiction Writers The checklist shows plans for AI-powered features:
Content analysis and conflict detection Automated story element suggestions Character relationship mapping Plot hole identification Smart content categorization Advanced canvas features and collaboration tools
Built With
- react
- tailwind
Log in or sign up for Devpost to join the conversation.