DEV Community

Thomas Albertini
Thomas Albertini

Posted on

Harmony ✨- Create, upload, edit (multiple) files on the fly, in the browser and track them with Git, via Web Assembly.

I write my first post here to present Harmony. My latest project.

Harmony view

Some months ago, I built Nova a Git playground in Go in which you can clone repositories, create files, branches, commits etc... all in-memory.

What does that have to do with Harmony ? Well, I'm currently experimenting with WebAssembly and the first idea that I had was to port Nova to the Web to give other people a better UX.

Harmony editor

So Golang -> WASM -> Javascript -> React BOOM!
I can finally present a stable version of Harmony.

What Harmony does is simple:

  • Allows the creation, upload and editing of multiple (local) files.
  • Allows the creation of Git Branches and Commits to save different "workspaces"
  • Allows to switch between files and between "workspaces" in one click.

Harmony commit

It does all that right in your browser. In-memory. Refresh the page to start anew, in another empty repository.

I won't go into how, that's for another post (maybe).

Here's the repository where there's a video.

Here's the demo.

Oldest comments (0)