Introducing a new platform for strategic growth

Building Smart Notebooks with Slate

At York IE, the engineering team is working on the Fuel Platform that provides our team with tools to research and analyze companies and markets and create original content that can be shared with clients or the general public. One of the features of this web platform is Smart Notebooks.

Smart Notebooks

Smart Notebooks are, at their core, rich text editors with structured Fuel data and components layered on top. At a higher level they are a CMS for York IE Fuel users to gather and organize information, import data from Fuel, edit text, and publish content on the web privately or publicly. The structure of these components covers common use cases for market research, competitive intelligence, and startup growth.

When architecting Smart Notebooks, we wanted to leverage open-source libraries that would provide rich text functionality, as that would be key to creating original content in a user-friendly way. Ultimately, we went with Slate.


From the Slate documentation:

“Slate lets you build rich, intuitive editors like those in Medium, Dropbox Paper, or Google Docs—which are becoming table stakes for applications on the web—without your codebase getting mired in complexity.”

Slate is a completely customizable framework for building rich text editors. It gives developers a simple text editor at its base, with an expressive API for writing plugins that implement custom, domain-specific features. For the use-case of Smart Notebooks, Slate met all of our requirements:

So far, we are very happy with our decision to use Slate as the core editor of Smart Notebooks. However, we have come across some caveats as we dive deeper into the library.


Overall, The Slate documentation is very helpful. However, it is lacking a bit of detail since the library was re-written with version 0.50. As noted in that Github issue, this version contains many major changes, particularly with how plugins are written. This resulted in a more shallow learning curve as we started with Slate.

Plugin Support

Specifically for the re-written Slate version 0.50+, open-source plugins for Slate are sparse. There is a library, udecode/slate-plugins, that provides an abundance of functionality on top of core Slate. However, this dependency completely alters how plugins are written and behave, so we decided not to use it in our Smart Notebook implementation.

Giving Back

As we continue to develop our Smart Notebooks, we will be creating and open-sourcing some of our Plugins for the latest version of Slate. Our first plugin, York-IE-Labs/slate-lists, is available on Github and published to NPM. This plugin provides basic ordered and unordered list behavior. Feel free to leave feedback as a Github issue or Pull Request!

Sales Team Structure Template

Set your sales org up for success with the templates and frameworks in our free GTM strategy playbook.

Related Posts

Sales Team Structure Template

Set your sales org up for success with the templates and frameworks in our free GTM strategy playbook.

Growth. Delivered.

Get the latest startup news, stories, and insights delivered straight to your inbox. Guaranteed not to be boring or your money back. Wait, you’re not paying for this. Well, phew, that takes some of the pressure off. Well, we’ll still try not to be boring.

Knowledge is power

Get insights into the world of startups and angel investing straight to your inbox.