A simple tool for selecting and collating words to describe immediate felt experience in compassionate ways.
A live online version can be found here.
Screenshots of mobile view demonstrating light and dark themes and word filtering.
This project was inspired by Nonviolent Communication, a communication model and body of teachings that aims to promote a compassionate quality of relationship between people, therefore increasing the likelihood that a user's needs (and the needs of others) will be met.
For an excellent high-level overview of the Nonviolent Communication Model, see the Overview section of this Wikipedia article.
The tool is based on the Feelings and Needs Inventory word-lists from the Centre for Nonviolent Communication's website.
The inventory includes three lists of words:
- Feelings of Met Needs
- Feelings of Unmet Needs
- Needs
In the NVC communication model, Feelings and Needs represent two of four elements of language that the model encourages users to direct their attention towards (the other two being Observations and Requests).
NVC defines Feelings as referring exclusively to internal sensations that provide information about the state of our Needs. The model differentiates them from words that imply evaluation of somebody else's intentions.
appreciative, perplexed, nervous, wistful, encouraged
ignored, judged, deceived, betrayed, disrespected
NVC suggests that using language that can be readily perceived as implying judgement of the person you are communicating with can interfere with their capacity to empathically connect with you.
Similarly, a Need is defined as an exclusively internal condition that a human action will be in service of, and that is common to all humans. These are also differentiated from Strategies, which are methods for meeting human needs. As Needs are common to all humans, they are likely to be easier to empathise with than Strategies.
acceptance, rest, security, joy, growth
The range of possible strategies is vast, but by way of example you might think of a sandwich as a way to meet the need for nourishment. Nobody needs a sandwich, but everyone needs nourishment and there may be an immediate preference to meet that need via a sandwich. NVC suggests that only knowing what you want (a preference for a particular Strategy) can make the world a scarce place when those strategies are either not available or are in conflict with the preferences of others.
NVC encourages developing Needs Consciousness, or an awareness of what one is needing in the present moment. Having clarity about Needs also introduces a greater range of potential strategies to choose from and increases the likelihood that mutually-beneficial strategies can be discovered.
The aim of the tool is to develop the skill of connecting compassionate language to internal sensations. Most, if not all, of the words in this tool will be familiar to those with English as a first language (internationalisation is presently beyond the scope of this project, but is a future goal when time permits). Although these words are all quite common, it may not be habitual or easy to employ these words when describing felt experience to another human being, or even generally to oneself.
The intended usage is to scan through the list and select words that describe your experience. Although the lists may seem lengthy, it may be surprising how quick the process can be when the intention is to describe immediate experience, with users often describing the words as 'standing out', 'feeling right' or otherwise being obvious when suggested.
Feelings can be toggled on or off and Needs can be toggled through
off, met (green) and unmet (red) states.
Once words have been selected, the view can be changed to display only
selected words, words describing met needs and words describing
unmet needs. The selection can also be reset and a dark mode is included for
late-night empathic introspection.
You can install dependencies and run this project's local development server
using pnpm, npm or
yarn. The project was built with pnpm and this is the
recommended tool to use.
Alternatively, as previously mentioned, a live preview can be found here.
pnpm install
pnpm run devnpm install
npm run devyarn
yarn run devThe default address for accessing the development server and viewing the project is http://localhost:3000/.
This project features Storybook integration, a component sandbox for viewing components in a variety of states while in development.
If you would like to view the component library in Storybook, you can run the Storybook server with:
pnpm run storybookThe default address for accessing the server is http://localhost:6006/.


