Floc was inspired by a common frustration among academic writers: AI tools that sound nothing like their authors. While modern assistants can generate text, they often lose the personal tone, rhythm, and subtle nuances that define a writer’s academic style. Floc was born from the idea that technology should amplify individuality, not erase it. By teaching AI to understand and reproduce each user’s writing style, we wanted to create a tool that feels like collaboration.

We built Floc as a full-stack platform using a Next.js app and a separate RAG server using FastAPI and MCP. The system indexes a user’s existing Google Docs using the Google Drive API, converts them into semantic embeddings via OpenAI’s API, and stores them in ChromaDB. When writing new text directly into your doc, the AI retrieves stylistically similar examples, then rewrites the content in that author’s voice. On the frontend, a ProseMirror editor enables live text streaming, history tracking, and seamless integration with the AI chat agent. The entire architecture was secured through Supabase authentication with Row-Level Security to ensure user data privacy.

We learned how to build scalable, style-aware AI agents using the Mastra framework and how to bridge frontend and backend systems for real-time collaboration. Implementing Model Context Protocol (MCP) and 6 hours of bugs hosting on Dedalus taught us to design flexible, reusable tool interfaces across both HTTP and LLM environments. Most importantly, we discovered how deeply writing style reflects identity, and how meaningful it is when technology preserves that.

Our biggest challenge was balancing speed and personalization. Real-time style transfer across hundreds of documents required optimizing embedding lookups and streaming generation while keeping latency under five seconds. Through persistent iteration and debugging, we achieved a fast, intuitive experience that feels human. Floc now delivers personalized AI writing that truly sounds like you while you edit with the Cursor experience.

Alex (superior_socrates on Discord), Rahul (_rarora on Discord), Theo, Abhi

Built With

  • chromadb
  • dedalus
  • fastapi
  • googledriveapi
  • mastra
  • mcp
  • next
  • supabase
  • typescript
Share this project:

Updates