An experiment in real-time iterative doc editing. Built at Hack The North 2023.
You must have npm
installed to install and run the program
clone the repo
git clone https://github.com/HarshitSohaney/htn-2023-splitdocs.git
run the following commands
cd htn-2023-splitdocs
npm install
npm run dev
The project is a culmination of version control (Git), design software (Figma) and document editing (Notion, Google Docs). It was inspired by an understanding of a few common pain points team members have faced:
- Losing information about previous iterations of a file in a linear version control structure (Google Docs).
- File cluttering with drafts, versions of similar documents (resumes, essays, research papers), leading to unorganized and difficult to manage files along with less room for smooth ideation from previous work.
JamScribe provides a new approach to version history and document editing. For users familiar with Git, the platform offers 4 features:
- Branch - create a copy of the current document into a new document that acts as a child. Users can make any edits to this new document without disturbing the original document, and can create as many branches as they want. This feature helps users keep different versions of a document that stem from the same base writing. A great example of this is having multiple resumes for different jobs such as Software, ML, Data Science etc.
- Merge - merge two or more documents to create a new document. This feature helps users combine their work with other documents around in the tree, allowing them to merge different documents into one. This feature can be used in situations where users work on different sections in different branches, leading to a merge at the end. This is dealt with conflict resolution techniques (such as those seen in VSCode) and AI integration (future work where an AI can judge how best to combine documents).
- Cohere AI Autocomplete - A major part of ideation today includes running ideas by an LLM model. Our prompt option allows users to expand of written work using the NLP model provided by Cohere, which can answer questions, and auto complete versions of the document. These autocompletions are new branches that stem from the point of request.
We built the application using Typescript and Python, and used dependencies Novel.sh and ReactFlow to create an infinite platform to design on. We created a new workflow for editing and writing documents using the branch merge model inspired by version control.
- Navigating around new technologies (Slower ramp up time).
- We had to switch to a different text editing library so we needed to quickly adapt our codebase.
- Deciding on a UX workflow for a new form of document editing.
- Designing a brand new workflow for document editing, re-imagining how people write and document.
- Creating an MVP from scratch.
- Engineering an application that addresses a gap in the current architecture of text editing software today.
- Communicating well throughout the entire design process, from idea generation to prototyping, everyone was on the same page.
- Teamwork makes the dream work.
- Interactive merging with AI grammar checks and various other parameters
- AI tags to alter style of writing.
- Support collaborative development over parallel branches simultaneously.
- Integrate current document styles to be imported into JamScribe.