Nautilus design system for React

Usage no npm install needed!

<script type="module">
  import octopusthinkNautilus from 'https://cdn.skypack.dev/@octopusthink/nautilus';


Build Status npm version

Nautilus Design System

Nautilus is an open-source design system and component library to help designers and developers build better digital products together. ❤️

  • Designed for accessibility and usability.
  • Flexible theming and customisation.
  • Clear guidelines and extensive documentation.
  • Focused on consistency, ease of use, and scalability.

Nautilus is available both as a Sketch library and an npm package for use in React projects.


Project status

Nautilus is currently pre-pre-pre-beta software. You can feel free to use it in your projects, but be warned that the API is likely to change and things may work in unexpected ways.

Point releases are distributed to npm on the 5th of every month. You can see our near-term plans and upcoming components in the Project tab.

  • Design principles & guidelines (in progress 🛠)
  • Design tokens (in progress 🛠)
  • Accessible React components (in progress 🛠)
  • React Native components (planned 💡)
  • Sketch library (in progress 🛠)
  • Figma library (planned 💡)
  • Brand tokens and theme-ability (planned 💡)
  • Automated theme generation (planned 💡)


Want to use Nautilus in your next web app? Well: don't! It's much too early and it's nowhere near ready for production usage. Check back later. 😅

You can technically install it from NPM, but you can't say we didn't warn you!

npm install @octopusthink/nautilus


Want to contribute to Nautilus, or test it locally? Here's how!


  • node (LTS)
  • npm


Clone the repo:

git clone https://github.com/octopusthink/nautilus.git

Navigate into the directory:

cd nautilus

Install the dependencies:

npm install

And use npm to compile files, watch for changes, and build the styleguide:

npm start

This will start a server for the styleguide at http://localhost:6060/ and watch for any changes.

You'll need to restart npm if you make changes to styleguide.config.js, but otherwise you should be good to go!

Running the tests

We use jest to run our unit tests. If you've made changes, jest will only run tests on files related to your changes:

npm test


We lint our code using eslint and prettier. You can check your changes for linting violations with:

npm run lint

Built With

  • React - Making JavaScript simultaneously modern and also more like HTML since 1998.
  • React Styleguidist - Is your styleguide running? You'd better go catch it!
  • Feather - The prettiest open-source icons in town.


Please read (CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.

We use the Conventional Commits specification for commit messages to ensure that commit messages are written in a consistent and predictable way.


We use SemVer for versioning. For the versions available, see the releases page.


  • sarah semark - CDO (Chief Design Octopus) - @sarahmonster
  • Matthew Riley MacPherson - CTO (Chief Technical Octopus) - @tofumatt

See also the list of contributors who participated in this project.


This project is licensed under the MIT License - see the LICENSE.txt file for details.


Nautilus has been heavily inspired by, and borrows from: