Inspiration

The theme of the hackathon was improving the fellowship experience. One of the most crucial aspects of this fellowship is taking notes.

Be it, introduction calls, LMS courses, MLH events, standup notes, show and tell or retrospectives, fellows are required to take notes to keep all the information organized and in one place. This will not only be useful during the fellowship but even after that.

However, there is no standard way to take notes in this fellowship. We tried to tackle this problem in our hackathon project.

Foam is personal knowledge management and sharing system inspired by Roam Research, built on Visual Studio Code and GitHub.

Every fellow in this program uses VS Code and hence using Foam for taking notes will remove a lot of friction. We tried to make this experience even better.

We created a template foam-template-mlh which shows the fellowS how they can take notes for various activities during the fellowship. We also created foam-cli that makes using Foam even more seamless.

What it does

The foam-template-mlh is tailor-made for MLH Fellows. It has example notes to demonstrate the fellows how they can use it to take notes during the fellowship.

The foam-cli has the following commands -

  • init - Initialize a new Foam workspace from template
  • migrate - Migrates notes from other note-taking systems to Foam.
  • janitor - Keeps link references up-to-date.
  • lint - Show the lint warnings and errors in the foam workspace.

How I built it

We built the foam-cli using Node.js and Typescript and used Jest for testing.

Challenges I ran into

The main challenge we ran into was understanding how foam works underneath in order to develop the cli. Writing cross-platform cli was also a challenge.

Accomplishments that I'm proud of

  • Improving the note-taking experience on foam for both fellows and every foam user.
  • Working on a real-world project that has thousands of users.
  • Getting reviews from contributors all around the world.

What I learned

  • Using Github Actions
  • Publishing to NPM
  • Writing Unit tests to test CLI commands

What's next for Foam For Fellows

  • Integrating janitor with Github Action
  • Integrating lint into VS Code Problems Pane

Disclaimer

  • We created the foam cli
  • We created the foam-template-mlh but the theme was created by Mathieu Dutour.
  • We made significant contributions to Foam Core.

Built With

Share this project:

Updates