NarraFirma is companion software to the textbook Working with Stories in Your Community Or Organization:
Participatory Narrative Inquiry

Participatory narrative inquiry is an approach in which groups of people participate in gathering and working with
raw stories of personal experience in order to make sense of complex patterns for better decision making. PNI focuses on
the profound consideration of values, beliefs, feelings, and perspectives through the recounting and interpretation of
lived experience.

What is NarraFirma?

  • It’s a checklist. NarraFirma provides practical guidance as you work, with questions for you to answer,
    recommendations based on the conditions you describe, activities that help you make decisions, and just-in-time advice.

  • It’s a journal. NarraFirma helps you keep careful records about what happened in your project, and it
    gives you places to reflect on what happened. This reminds you to keep learning as you work, and it helps you to
    document your project for future reference.

  • It’s a kiosk. NarraFirma helps you collect stories, on-line and/or off-line, based on question forms you
    design (with sample questions you can copy). Because story collection is integrated, there is no need to
    export or import data.

  • It’s a workstation. NarraFirma helps you explore and interpret patterns in your data (stories and answers to
    questions about stories), creating annotated visualizations you can use to make sense of the stories you collected.

Why choose NarraFirma?

  • It’s portable. You can install NarraFirma anywhere, as a WordPress plugin or a Node.js web application. Web hosting
    is inexpensive, popular, and well supported. You can also install NarraFirma on your local computer and use it off-line.
    (Whichever installation method you choose, we strongly suggest that you set up SSL security on your web site before collecting
    or entering confidential or important information. Many hosting providers can help you with this task.)

  • It’s a team player. With NarraFirma your team can work on projects together in real time without having to hand
    files back and forth. You can plan your project, collect stories, discover patterns, and reflect on what you’ve
    learned – together.

  • It’s an open book. NarraFirma is open source software. So if you have a question about how something works,
    you can just look at the source code to find out. If you need the software to do something it can’t do, you can
    add new functionality yourself or ask someone else to add it.

  • It works in the real world. One NarraFirma installation supports multiple projects, forms, data sets, and reports.
    Why? Because real-life story projects are rarely simple or predictable. So go ahead and make a mess. NarraFirma
    is ready for it.


We have spent a lot of time developing NarraFirma. We appreciate donations, and will use them to
keep working on it. You can donate
at PayPal.

Need some help?

I offer training in the use of NarraFirma and consulting for PNI projects. If you are interested,
check out my web site at, or send me a note at cfkurtz at cfkurtz dot com.


  • This is the main page of NarraFirma. The sections of the software (and the phases of PNI) are shown in the diagram. Clicking on any of these buttons leads to that section.

  • This the main page for the NarraFirma planning section. Links to all the pages in that section are listed. You can enter reminders for any page; they show up on this page.

  • Here the NarraFirma user is describing the groups of people who will be participating in their project. Describing your groups helps you think about how you should collect stories and what you should do with them.

  • Here the NarraFirma user is doing a little sensemaking exercise based on some stories they told about what might happen when they do the project. Thinking in stories during project planning helps to make better decisions about how to carry out the project.

  • Here the NarraFirma user is deciding how they will collect stories. They are looking at recommendations the software is giving them based on the answers they gave to the questions about their participant groups (see screenshot 3).

  • Here the NarraFirma user is creating questions they will ask people about their stories.

  • Here is the NarraFirma survey form participants see when they tell their stories (or NarraFirma users see when they enter the stories they collected off-line).

  • Here the NarraFirma user is looking at stories as they come in to the collection. They are looking here only at stories told by older people who said the person in their story wanted to be heard.

  • Here the user is looking at patterns in the data (answers to questions) collected. The selected row of the table of patterns (at the top) shows that the questions "How do you feel about this story" and "What is your age" are being compared, creating a contingency (bubble) graph. The user has written an observation about that pattern ("People under 35 more positive") and two interpretations of what that pattern might mean ("More weight on older shoulders" versus "Younger people have lots of energy"). The user has selected some stories on the graph to read; the stories appear in the table at the bottom of the image.

  • Here the NarraFirma user is designing a plan for a sensemaking session, where people will work with the collected stories and patterns to make sense of the topic being explored.

  • Here the NarraFirma user is ansewring questions about the outcomes of the project for each participant group. Those outcomes will determine recommendations for interventions.

  • Here the NarraFirma user is reflecting on the entire project, to learn from it and to keep good records for the future.


To install NarraFirma:

  1. Download the NarraFirma plugin (in zip format) from or the NarraFirma web site.
  2. In your WordPress dashboard, click on “Plugins,” then click “Add New.”
  3. In the “Add Plugins” page, click “Upload Plugin.”
  4. Click “Browse,” then choose the zip file you downloaded.
  5. Click “Install Now.”
  6. Click “Activate.”
  7. You should see a new “NarraFirma” menu item in your dashboard menu. Click it.
  8. In the screen that appears, create a new project and add some users who can access it.


Installation Instructions

To install NarraFirma:

  1. Download the NarraFirma plugin (in zip format) from or the NarraFirma web site.
  2. In your WordPress dashboard, click on “Plugins,” then click “Add New.”
  3. In the “Add Plugins” page, click “Upload Plugin.”
  4. Click “Browse,” then choose the zip file you downloaded.
  5. Click “Install Now.”
  6. Click “Activate.”
  7. You should see a new “NarraFirma” menu item in your dashboard menu. Click it.
  8. In the screen that appears, create a new project and add some users who can access it.
Where can I found out more about participatory narrative inquiry?

Take a look at the book behind NarraFirma, Working with Stories in Your Community Or Organization:
Participatory Narrative Inquiry

Does NarraFirma work for other kinds of surveys and projects?

NarraFirma is meant to work mainly with participatory narrative inquiry. But if you want to collect
stories for some other reason, you could still use NarraFirma for that. It’s pretty flexible.

What about web security?

We strongly suggest that you set up any web site on which you intend to install NarraFirma
with SSL (secure sockets). Your hosting provider should be able to help you do that.

What should I do if I find a bug?

Tell us about it on the GitHub issues list.

Contributors & Developers

“NarraFirma” is open source software. The following people have contributed to this plugin.


Translate “NarraFirma” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Added: Optional summary of submitted stories and other data, for participants to copy and save
  • Added: Human readable project report with all data entered for use outside of software
  • Fixed: Bug in login link


  • Added: Notes for questions, to keep track of decisions made while choosing and editing questions
  • Fixed: All user communications in the survey can now be customized (essential for non-English surveys)


  • Fixed: Made navigation bar (at top) not scroll (was accidentally made scrolling)
  • Changed: Updated WordPress screenshots for new version


  • Added: New data integrity graphs showing overall patterns across all questions (all scale values; per-participant means and sd; number of non-answers)
  • Added: User definable CSS for on-line and printed surveys, story cards, catalysis report
  • Added: Qualitative (free-text) answers in catalysis patterns
  • Added: More user definable fields to customize on-line story collection
  • Added: Multiple scatterplots to show scale+scale+choice question combinations
  • Added: Link to choose another project without logging out
  • Added: Visible slider number (0 to 100) and way to set value precisely
  • Added: Option to set maximum number of stories participants can tell
  • Added: Story count per participant (framed as a “question” so it can form patterns with other questions)
  • Added: Auto-create story form option (using all existing questions)
  • Added: Can now choose which questions to include on story cards
  • Added: More control over the look of story cards, including custom CSS but also which questions to include and how to draw ranges
  • Added: Ability to set all story form options during CSV import
  • Added: Way to distinguish among participants during import (to count stories per participant)
  • Added: Scale conversion during import (for scale data collected with ranges other than 0-100)
  • Added: Field to write (then copy and paste) reminders from Return phase of one project to Planning phase of the next
  • Added: Way to choose types of graphs to view
  • Added: Counts above bars in bar graphs and histograms
  • Added: Correlation lines (optional) in scatterplots
  • Added: Mode to histograms
  • Added: Support for multiple observations per pattern (graph)
  • Added: Observation strength field to sort strong from weak patterns
  • Added: Interpretations to patterns list (can sort by them)
  • Added: More options for catalysis graphs including histogram bins, scatterplot dot size and opacity
  • Added: More user-supplied sections for catalysis report
  • Added: Unanswered count (number of stories with no answer to the question) to all graphs
  • Changed: Improved data import, with better error handling and help
  • Changed: Overhaul of screen designs and color palettes
  • Changed: Improved statistical information displays; improved reporting on statistical errors
  • Changed: Better error reporting and alerts to user
  • Changed: More tips and FAQ items to help system
  • Changed: More verification of statistical result against same tests in other software (you can’t see this but it’s important)
  • Changed: More help in various places to deal with questions people have had
  • Fixed: Explore Patterns page now shows cancelable progress bar when large numbers of statistical results are being calculated
  • Fixed: Bug in chi-squared statistical calculation that disqualified too many comparisons
  • Fixed: Survey image now works
  • Fixed: Text areas now slightly taller
  • Fixed: Catalysis “ideas” now print in report
  • Fixed: Catalysis clustering diagram now updates better for changed interpretatations on previous page
  • Fixed: No longer showing questions in graphing sections (spot-check graphs, catalysis) that are not used in current story collection
  • Fixed: Eliciting question now included in spot-check graphs and catalysis
  • Fixed: Better graph sizing and scaling
  • Fixed: Statistical results no longer say “p=0.000” when p<0.001
  • Fixed: Better feedback when taking survey, showing that story has been submitted and accepted
  • Fixed: Better error handling for missing or untitled items (like story collections and catalysis reports)
  • Fixed: Dividing line (hr) no longer displays on story cards when they are being printed


  • Added clarifying headers and popup hints for all links on dashboard (project phase) pages.
  • Improved styling and clarity of catalysis report, printed story form, and story cards.
  • Added story count to Spot-check graphs screen.


  • Fixed bug in checkbox questions where data was not being stored correctly.
  • Improved colors, labels, spacing of graphs.
  • Added story counts to Review stories and Explore patterns screens.
  • Added “does not apply” check box (configurable) to slider questions.
  • Improved help on question types.
  • Improved look of story card display.
  • Moved annotations to top of Review stories list; colored in green so they stand out.


  • Sanitize SQL input in WordPress plugin.
  • Improve TypeScript typings for tsc 1.6.


  • Improvements for Node.js version and README/SETUP for installation.


  • Now uses NarraFirma namespace in WordPress plugin PHP to conform with WordPress guidelines.
  • Fixed WordPress plugin survey bug where always returning first questionnaire added in a topic instead of the last one.


  • Fixed problem where first two characters of display name are being truncated during CSV export of story form.
  • Added arrows to sliders in survey form to make it more useful in narrow mobile displays.
  • Added warning about story collection creation.
  • Fixed some typos.


  • More improvements to bundling of JavaScript for faster loading. Also improved startup feedback to show
    loading application, getting user information, or retrieving project data.


  • Improvements to bundling of JavaScript code for faster loading.


  • This is the first publicly released version of NarraFirma. For (highly detailed and entertaining)
    change logs, see the GitHub repository.