Inspiration
We've been working on projects for the past few semesters and find many of the merge editors in our favorite IDEs to be clunky and unintuitive (looking at you, Pycharm). We created file_xor to be a lightweight program that can discern the differences between any text-based files, be them code files or text documents.
What it does
file_xor reads the data from 2 text-based files and creates a web-based merge editor to resolve conflicts. By breaking text segments up into defined blocks with animations showing where text changes upon merge, it's easy to tell what goes where. Furthermore, undoing changes is quick and painless!
How we built it
We used a React frontend to build a responsive, efficient UI and a Flask backend to handle file difference logic along with authentication functions.
Challenges we ran into
The logic of making a comprehensive merge editor that selected the right amount of text was surprisingly difficult, and building out the technology to encompass that was a large undertaking.
Accomplishments that we're proud of
Getting this project off the ground, especially given that our group is generally better at backend engineering rather than frontend. We're proud of the aesthetics of our project and its balance between form and function.
What we learned
Merge editors are hard to make, especially ones with a good UI. That's no excuse to make bad ones though!
What's next for file_xor
Saving previous merges for users to return to and use again is a planned feature! Also, creating a "combine changes" resolution to changes between two files is a next step in the program.

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