Installation instructions

To install NarraFirma (locally or on a server), follow these instructions.

For bugs or problems

Visit the GitHub issues list for help with problems and bugs. You can also send a bug-report email directly to

Frequently-asked questions

About NarraFirma – what it is, what it’s for

What is NarraFirma?
NarraFirma is a software companion to the textbook Working with Stories in Your Community or Organization: Participatory Narrative Inquiry. It supports people who intend to gather and make sense of stories in (or for) a community or organization.
Who is NarraFirma for?
A person or group carrying out participatory narrative inquiry (PNI) projects.
How does NarraFirma work?
NarraFirma is a single-page, multi-user web application; it runs in your browser.
What does it cost to use NarraFirma?
Nothing. NarraFirma is absolutely free. It is open source software.
Under what open-source license is NarraFirma distributed?
The General Public License, version 2.0 or later.
Who created NarraFirma?
I (Cynthia Kurtz) wrote NarraFirma in collaboration with my husband (Paul Fernhout). The design of NarraFirma builds on 20+ years of my work in organizational and community narrative (and is my tenth try at building software in this area).

Getting started – first steps with NarraFirma

What other software do I need to use NarraFirma?
As a web application, NarraFirma can be installed either as a WordPress plugin or with Node.js. See our installation page for details.

Note that when NarraFirma is installed as a WordPress plugin, it relies on WordPress only for installation, updates, and data storage. It does not use any of the typical WordPress features such as pages, posts, and comments.

What should I do for my first NarraFirma project?
I recommend that you start small, and if possible, do your first project off-line, in a room, with people (even if it’s just a few people).  There is something about story work that is hard to understand if you start doing it on-line. You need human contact to really understand how the exchange of stories works. You can use NarraFirma to plan your project and reflect on what you learned, even if your project takes an hour to carry out. Using NarraFirma to “get your feet on the ground” in this way will make it easier to use the software for more complicated projects (involving more people and more technology) later on.
This software has so much in it! How can I make sense of it all?
The best way to understand NarraFirma (I think) is to read it like a book. Access the example project on the NarraFirma web site (click Try It), or set up a local installation with a test project. Then, once you are looking at NarraFirma’s main (start) page, click on the orange box that says Planning. Click on the first link you see there. Read what it says on the page. At the bottom of the page, click the Next button to move on to the next page. Keep doing this. If you don’t understand a page from what you see, click the Help link (in the upper-right hand corner) and read the part that says What to do here.
Do I have to read Working with Stories before I use NarraFirma?
Not at all. NarraFirma is a software companion to Working with Stories, but I designed it to be as self-explanatory as possible. You don’t need to read a single page of WWS to understand and use NarraFirma — though of course the more you read of WWS, the easier it will be to use NarraFirma.

If you have not read any (or much) of WWS when you start using NarraFirma, I recommend you pay particular attention to the NF help system (click “Help” on any NF page). The help system explains what each NF page is for, and it includes various excerpts from WWS as they pertain to each page.

What if I don’t want to do all of the PNI phases in my project?
Everything in NarraFirma is optional. Just skip any pages you don’t want to use. If you are not sure what will happen if you skip a NarraFirma page, check the help system. Each help page has a “Connections to other pages” section that explains how changes on that page will affect other pages in the application.
I don’t want guidance. Can I hide the hand-holding parts of NarraFirma?
No, sorry. We wrote NarraFirma primarily to help people who want some help working their way through their PNI projects. If you are an experienced researcher or facilitator, you can ignore the guidance in NarraFirma, but you can’t hide it. However, if you are experienced, don’t discount the guidance NarraFirma offers out of hand. Taking the time to work through your plans and reflect on what has happened in a project isn’t just for novices. It can help even an experienced professional get new ideas and keep learning.
Do you offer training courses in the use of NarraFirma?
Yes! The PNI Practicum II online course helps you use NarraFirma in a real-life project. If you have questions, send me an email at

Technical details – nuts and bolts

What browsers does NarraFirma support?
We have tested NarraFirma primarily with Firefox and (somewhat less) with Chrome and Safari. We have not tested it with Internet Explorer, mainly because so few people are still using it. If you are using NarraFirma with IE and something doesn’t seem to be working, we suggest you try using NarraFirma with either Firefox or Chrome.
What should I do about web security?
We strongly suggest that you set up any web site on which you intend to install NarraFirma (WordPress or Node.js) with SSL (secure sockets). Your hosting provider should be able to help you do that.
How does NarraFirma store its data?
NarraFirma uses a triple-store journaling data storage system called “pointrel” (points and relationships), which was developed by my husband Paul Fernhout. It’s similar to RDF. We chose this type of datastore because it’s robust and hard to corrupt (and he likes it). Triples are stored in files (in the node.js version of NarraFirma) or in a MySQL database (in the WordPress version).
Can I transfer a NarraFirma project from WordPress to node.js?
Yes, and vice versa. NarraFirma’s data structure doesn’t depend on either platform. Just export your project to a file, create a new project in your other NarraFirma installation, and import the project from your saved file.
I'm using Firefox, and I can't tab to any of the buttons or links on the NarraFirma pages.
This seems to be a Firefox issue on the Mac. You need to set your preferences so you can move between links (and buttons and things) using the Tab (and Shift-Tab) key. See this Stack Overflow question for help.
I'm using Chrome, and I can't save my generated catalysis report (or story cards) HTML page.
Yes. Chrome will not save a “data” URL to a file. There are three possible workarounds. (1) For this one thing, open NarraFirma in Firefox or Safari. They will save the HTML file. (2) In Chrome, select the entire generated HTML page. Copy. Paste into Microsoft Word or LibreOffice. All or most of what you see should be picked up correctly. (3) In Chrome, Print the file to a PDF file. Then copy and paste the entire contents of the PDF file into Word or LibreOffice, or convert the PDF file to another format using pandoc.
I updated my WordPress version of NarraFirma, but it still shows the previous version.
Try clearing your browser cache. Sometimes browsers cache NF pages and reload from their caches instead of from what NF is sending to them. Then check the version number again.

More about NarraFirma – where it came from, where it’s going

Why did you create NarraFirma?
For two reasons.

First, the software I had been using to do participatory narrative inquiry since 2009, NarraCat, though perfectly useful to me, was difficult for non-programmers to use. Quite a few people wrote to ask if I could make NarraCat easier to use.

Second, readers of my book Working with Stories kept asking me how they could get started doing projects in participatory narrative inquiry. People seemed to need a bridge between reading about doing PNI projects and actually doing them (no matter what software they chose to use, if any). I thought I might write a “workbook” for PNI projects that people could use to check their progress and record their thoughts. But I soon realized that (a) everybody writes things on computers now and (b) people work best in groups.

So, after much discussion, my husband and I decided to build a new piece of software that would combine data visualization with guidance, record-keeping, and teamwork. NarraFirma was the result.

How did you develop NarraFirma?
We spent 18 months working on NarraFirma together, from early 2014 to late 2015. We used up our savings, then borrowed a lot of money.

Paul designed the system (lower) level of the application (client-server data transfer and storage, multi-user support, statistics, some of the screen widgets), and I designed the interface (upper) level (interface architecture, texts, styles, graphics, documentation, and some of the screen widgets). We designed the database (middle) level together. We released NarraFirma in October of 2015.

Since then I have put roughly another two person-years into NarraFirma, a few months at a time, improving most aspects of the software (and bringing our total investment to five person-years). Probably about a quarter of my recent work has been supported by commissions and donations. However, for the most part, NarraFirma has been our gift to the world.

What is the current state of NarraFirma?
As of this writing (October 2022), NarraFirma has been in use for several years – not by a million people, but enough to have grown and matured.

No matter how good NarraFirma gets, however, we still suggest that you back up your work every so often by exporting your project to a JSON file (go to Project administration and choose Export). We also strongly suggest that you set up SSL security on any web site that runs NarraFirma (unless you run it locally).

Is NarraFirma still under development?
Yes it is. I don’t work on it every month, or even every year, but I do try to get back to the software every so often and make a few improvements (most are based on user feedback). And I respond to bug reports as quickly as I can.
What's in the future for NarraFirma?
Looking forward ten years, I can see four possible paths.

  1. NarraFirma could get significant funding, from grants or sponsorships or the formation of a membership non-profit, or by some other means of fund-raising. With such funding I would be able to work on NarraFirma more often than I am now, and I would be able to pay people to help with new development, testing, technical support, community support, and training. I would not want to manage a NarraFirma team, so I would either need to get some help doing that, or I might simply be one person in a group that is working on the software together. In any case, with funding, NarraFirma could grow in capability by leaps and bounds.
  2. NarraFirma could get little funding, but many volunteers could step up to support and improve the software. They could contribute code, documentation, tutorials, training videos, peer support, and so on. Again, I would not want to (or be able to) manage all of this myself, but a core group of dedicated volunteers (maybe supported by small donations) could handle the day-to-day coordination of volunteer contributions. The software would still grow in capability, but more slowly.
  3. NarraFirma could get little or no funding or volunteer support. I could continue to support it as a labor of love, when I could and as much as I could. In that case, NarraFirma would probably continue to do what it does now about as well as it does now, with incremental improvements from time to time.
  4. NarraFirma could get no funding or volunteer support, and I could find (or decide) that I can no longer support it myself. In that case, the software would remain current for some time, but would eventually fall out of synch with the rest of the web world and become abandoned. This is indeed the fate of many open-source software efforts, and it could be what ends up happening to NarraFirma. Still, just because something ends does not mean it never happened. Even if NarraFirma is eventually abandoned, it will have done what I hoped it would do for at least some people. And that’s a good thing.

I absolutely cannot say which of these scenarios will come about. Obviously I hope for the first or second scenarios; but I am determined to at least try, for as long as I can, to keep the third scenario possible and the last at bay. That is all I can say at this moment.

What can I do to help NarraFirma succeed?
Thanks for asking! Here are a few things you can do to help with NarraFirma.

You can help people learn how to use it. For example, you could make a series of how-to videos showing people how you did a project using NarraFirma. Also, if you’ve done a project using NarraFirma (and it isn’t sensitive or private), you could release the project’s NF files, so that other people could learn about NarraFirma by playing with your project.

You can promote NarraFirma. Talk about it on your blog, on LinkedIn, on a podcast, and so on. Tell people about it, in explanatory detail.

You can make a donation to support NarraFirma development. For example, if you are a consultant who uses NarraFirma in projects for clients, you could build a small donation into each project. You can also help by paying me a commission to add a new feature to NarraFirma. Or you can hire me to train or coach or otherwise consult on a PNI project you would like to do. When I make money using NarraFirma, it helps almost as much as when I make money improving it.

You can improve NarraFirma. When a new release comes out, read about what has changed, then try to break each new thing. Post any bugs you find on the GitHub issues page. If you have skills in a particular area (coding, writing, design), look to see if there is a “chunk” of work you could take on to add to the project. Managing contributions takes time, and I don’t always have it, and not every chunk of work is easy to integrate. But I am ready to talk to anyone who wants to contribute to see whether and how we can work things out.

And finally, you can provide feedback about NarraFirma. Send me a note ( Tell me how you have used NarraFirma. Tell me what you like and don’t like about it. Tell me what has enlightened, surprised, and confused you. Tell me what you think would make NarraFirma better. Just hearing from NF users encourages me to keep working on it.

Theory – the ideas behind the software

What is participatory narrative inquiry?
Participatory narrative inquiry (PNI) is an approach in which people work with stories about their experiences to make sense of situations they face so they can make decisions about them. You can read more about PNI on the summary page on this web site, and you can read my textbook Working with Stories, which describes the approach in (great) detail.
Where did PNI come from?
Participatory narrative inquiry has grown and matured through 20+ years of research, development, and practice by myself (Cynthia Kurtz) and many collaborators. You can read the full history of my work on PNI in the “Acknowledgements and Biography” section of my book Working with Stories. You can read about my history of building software to support PNI (NarraFirma is my tenth attempt!) on this page.
Is PNI a scientifically valid approach?
As a form of action research, PNI does not seek or claim to be scientifically valid. From this perspective, the more useful question is whether PNI is useful. Does it help people get along better, see the world through each others’ eyes, and discover new insights people can use? Does it help communities and organizations get to the places they want to go? This is how PNI evaluates itself.

As a whole, the PNI approach has that potential, but whether each individual PNI project fulfills the promise of PNI depends on the way the project is carried out. This is one of the reasons we wrote NarraFirma: to help people carry out PNI projects that are useful.

Options – choosing between NarraFirma and other solutions

Do I need software to do participatory narrative inquiry?
Absolutely not. You can do every element of PNI, from start to finish, without using software of any kind. What software can do for you — NarraFirma or any software — is to (a) help you get through tedious tasks more quickly and (b) help you keep track of things you might otherwise forget.
How does NarraFirma compare to a spreadsheet?
Everything you can do in NarraFirma you can do in a spreadsheet. It just takes longer.

On the other hand, a spreadsheet is much more flexible. Because it was designed specifically to support participatory narrative inquiry, NarraFirma has certain built-in assumptions about what you want to do with it. So does a spreadsheet, of course, but the assumptions behind the design of spreadsheets are broad, and you can use them more flexibly.

If NarraFirma looks like it will help you do what you want to do, try using it on a very small pilot project and see how it works for you. If NarraFirma does not seem to match what you want to do, a spreadsheet might be better.

Or you can use both. I often supplement my use of NarraFirma with the judicious use of spreadsheets for custom comparisons and graphs.

How does NarraFirma compare to qualitative research software? What about statistical packages?
NarraFirma was built for mixed-methods research, so it has both qualitative and quantitative elements. But more importantly, NarraFirma was built specifically to support work in participatory narrative inquiry (PNI). Using it for projects in other areas is possible, but it may be messy and confusing. If I wasn’t doing PNI, I wouldn’t use NarraFirma.
How does NarraFirma compare to SenseMaker?
Over the past 20+ years I have written ten pieces of software to support participatory narrative inquiry. SenseMaker was number three (and six); NarraFirma is number ten. When I first wrote SenseMaker, in 2004, I had been working in the field for about five years. From 2004 to 2009 I kept improving the software while using it to do projects. At that time, I knew everything there was to know about SenseMaker, since I was its sole author and developer. I have no idea what SenseMaker is like today. I have not seen it since 2009, when I stopped working on it. For all I know, it could be nothing like the software I researched, designed, built, used, and improved back then. So I can’t compare NarraFirma to SenseMaker as it is today. I can, however, compare NarraFirma to SenseMaker as I left it in 2009. NarraFirma is better. As I keep working on participatory narrative inquiry, I learn new things on every project. When I first wrote NarraFirma, in 2015, I had 16 years of experience in the field, and I have continued to improve it since then. I hope to keep improving NarraFirma in the future.

Capabilities – what NarraFirma can and cannot do

Does NarraFirma support story work outside of PNI?
It’s hard to say. You might not use a lot of what is in the software, but it’s flexible, and nothing is required. On the other hand, there are many aspects of NarraFirma that assume you will be collecting stories and answers to questions about them. My advice is to look at the example NarraFirma project on this web site (click Try It) and see if you think it will work for what you want to do.
Can I use NarraFirma to do grounded theory?
Maybe. NarraFirma supports mixed-methods research, in which texts and metadata about texts are given equal importance. I wouldn’t use NarraFirma for grounded theory, but you probably could.
Can I collect my stories outside of NarraFirma?
Yes. You can collect stories (and answers to questions about them) using any surveying system (like SurveyMonkey or LimeSurvey), then import your stories into NarraFirma using CSV format files. For details, look in NarraFirma’s help system for its “Guide to importing data.”
Can I analyze my data outside of NarraFirma?
Yes. You can collect your stories using NarraFirma, then export them to another system (Tableau, R, a spreadsheet) using CSV format files.
How many stories can NarraFirma handle?
Because the stories (and answers to questions) in NarraFirma are text-only (so far), NarraFirma is able to handle quite a few. We have stress tested it with more than 10,000 stories, and it worked fine, though slowly. With larger numbers of stories you will see slower performance (depending on what sort of computer it is running on). But with typical projects of 100-300 stories, and even several hundred stories, you should not see a problem.
Why are there no triangle graphs in NarraFirma?
If you have been doing (or learning about doing) story work, you may have seen graphs in which storytellers were asked to describe a story by placing a point inside a triangle with three labeled vertices. NarraFirma does not support this data collection method. Why? Because I believe it is a mistake.

There are three reasons triangle questions don’t work, and there are three corresponding conditions that, when satisfied, can make them sort-of work.

1. Triangles don’t fit the way people actually talk.

When you want to ask people about their experiences — possibly about things they feel vulnerable about — you need them to feel safe, free to shape the conversation, and listened to. Forcing people to use a strange, arcane, complicated, artificial method of conversing makes most people feel intimidated, challenged, and evaluated — not safe, free, or listened to.

It is true that some highly-educated intellectuals find triangles interesting. But that group represents only the tiniest minority among the universe of people who tell stories in story projects. The great majority of people do not find triangles interesting. They find them confusing, frightening, and insulting. This is a big problem, because the most important thing in story work is not computers or your time or expertise. It’s the time, attention, and motivation of the people who are telling the stories. Participation is ambrosia, the nectar of the gods, and you don’t want to spill one drop of it.

When people feel confused, frightened, and insulted, they don’t stop telling stories. They just tell different stories. That’s the worst thing about triangles: they make you think you got authentic stories when you didn’t. You didn’t get ground truth; you got camouflage. Triangles make beer seem like ambrosia.

I was once told by a person who works in development that they watched someone try to use triangle questions to talk to (poor, illiterate) farmers in the field. They said that they could see the farmers’ faces fall as they went from curious and intrigued to angry and insulted. The farmers shut down and stopped responding as soon as they saw what they were being asked to do. They went from being excited that someone actually wanted to hear what had happened to them to dully obedient as they realized that they were being forced to go through yet another useless, meaningless exercise.

The farmers in that project told stories, but they didn’t tell the stories they wanted to tell. The sad thing is that whoever did that project probably thought they got good stories. But they didn’t. All they got was whatever the farmers thought would make them go away the fastest.

The person who told me that story told it in the context of explaining why they came to me for help with a new project (also with poor, illiterate farmers). I told them what I tell everyone: that any human being can answer the question “how much” or “how big” with their hands, and nobody is insulted by such a question. It’s how people have been talking to each other for thousands of years.

So that person and I designed a set of questions with choices and scales. The local-language interviewers on the project asked the farmers to answer the scale questions with their hands — hands touching for one end of the scale, hands as far apart as they could reach for the other end of the scale. The interviewers looked at the farmers’ hands and wrote down numbers from zero to ten to represent their responses. The farmers were engaged, forthcoming, and grateful. Their stories were thoughtful and revealing. The patterns that arose provided useful insights that helped everyone.

This is an extreme example, but I’ve seen similar results — people who had been excited shutting down and doing the absolute minimum to get out of the situation — in other contexts as well.

Working with triangle questions is like trying to carry water with a sieve. You may think you have found something, but you have lost far more than you have found. If you don’t work with the ways in which people actually speak, you can never hope to understand what they have to say.

2. Triangles generate confounded, useless data.

I once helped a client with a fairly large project that used triangles (against my advice). Out of curiosity, I looked at patterns in how participants used the triangles. Here’s what I found.

  • One quarter of the participants placed their dots only at the vertices of the triangles. They converted the question into a single-choice a/b/c question.
  • One quarter of the participants placed their dots only along one side of the triangles, ignoring the opposite vertex. They converted the question into a scale. The problem is, different people chose different sides of the triangles, and they chose the same side for all of the triangle questions they answered, regardless of meaning.
  • One quarter of the participants moved all of their dots just a tiny bit from the center of the triangle (where the dot started), probably just to be able to move on and finish the survey. They didn’t answer the question at all.
  • One quarter of the participants placed all of their dots all over the triangle, as intended.

As you can imagine, when all of these patterns were overlaid, the data showed . . . pretty much nothing. The project was only saved by the fact that, as we were designing it, I insisted on using at least some scales. And that’s where the patterns were.

There are always useful patterns in scale data. There is rarely anything useful in triangle data. I’ve been told by at least three people that they’ve seen the same patterns in the use of triangles (vertices, one side, pretending to answer).

3. Triangles are statistically problematical.

Statistics are essential tools when you want to talk about the meanings of patterns in data. You can’t talk about meaning until everyone can agree on whether the patterns in the data actually exist. This is why data that can be statistically analyzed is so much more useful than data that can only be “eyeballed” — that is, stared at.

Historically, there were no statistical tests that applied to triangular data. Recently there has been some new development in the area of “compositional” statistics that deal with triadic (ternary) data. Apparently there are now routines in the R statistical library to do this. I don’t know how many people are using compositional statistics for triangle data. I suspect that most of the people who are using triangles are not using statistics. From what I’ve seen, many people are just eyeballing the patterns in their triangles.

I have read some reports and presentations from projects that relied heavily on triangle data. Their insights have seemed to me to be weak and surface-level compared to the rich explorations I’ve seen in projects that did not involve triangles. Some of this probably came from people being confused and insulted (my point 1 above), and from confounding in the data (my point 2 above). But some of it also probably came from the impossibility of knowing where the actual patterns were.

Having said all of this, I believe that it is possible to use triangles in a story project, under these specific conditions.

  1. Triangles could work if people became used to them to the extent that they were not seen as a jarring, confusing, intimidating test, but became part of a normal conversation. This could conceivably happen if triangles were used repeatedly over a long period of time within a community or organization. They could become part of a group’s shared language of meaning. (This could take years, but it could happen.)
  2. Triangles could work if they were used in situations in which understandings could be reliably verified and corrected before any data was collected. I have seen people use triangles in participatory workshops where they had the time (and participants were willing) to verify that everyone involved truly understood what they were doing and were not simply pretending to understand because they were confused or intimidated. (People can pretend for a very long time.)
  3. Triangles could work if whoever was analyzing the data looked up the new compositional statistics and used them. (This is the most likely condition to be achievable, since it relies only on time and expertise.)

In over twenty years of working in this field, I have never seen a story project meet all three of (or even any one of) these conditions. Thus, in my considered professional opinion, triangle questions deliver few benefits while posing great risks. They are also unnecessary. I have helped people get amazing, authentic, insightful, inspiring results without ever using triangles. In my view, they are a distraction from the real work of engaging people, listening with respect to what has happened to them, and helping them work with their own stories. This is why NarraFirma does not, and almost certainly never will, support the use of triangle questions.

Why can't I create a multi-page survey in NarraFirma?
In most survey packages you can group your questions into separate pages, and survey-takers only see one page at a time. NarraFirma does not support this, on purpose.

Asking someone to tell a story (and then reflect on it) is a different category of interaction than asking someone to answer factual questions. This leads to different requirements, thus:

  • Individual questions on a factual form usually stand alone. But with a story form, questions often build on previous questions, and certainly on the story itself. So the story form has a need for coherence, or a continuity of context, that most surveys don’t. For example, when you can’t see your story anymore, it’s hard to answer questions about it; it doesn’t feel “present” to you.
  • Because telling a story is more revealing than answering factual questions, people tend to want to evaluate the entire form before they decide to participate. When they can’t see the whole form up front, they seem to tell more distant stories, to be safe. For example, when I plan to use a story form in a group session, I make sure people have a chance to look over the forms before they start sharing any stories, so they can see what they will be asked to reflect on. People need the same transparency on the web.
  • People filling in a story form tend to look back over their form when they’re finished, and sometimes change their answers, or even the story itself, because the questions make them rethink the experience as they go along.
  • When you ask someone to tell you a story, it’s important to avoid having them feel like they are being tested, judged, interrogated, or asked to perform. A typical web survey with separate pages and a progress bar may be familiar, but it tends to make people feel that they are ticking off tasks, not having a conversation. From what I’ve seen, this leads to “just the facts” stories and “am I doing it right” performance over reflection.

All of these things combine to make me want to give people the freedom to move about the entire story form quickly and easily. I know that most web survey forms have “back” buttons, but I’ve also noticed that a lot of people don’t use them. That’s why I decided to make NarraFirma story forms one-page affairs. I’ve seen people react to them like they do paper forms: they scroll down to the bottom and back up again very quickly, evaluating the situation they are in; they tell their story and answer the questions, and at the end they usually scroll back up and down some before they are ready to submit the form. I think this design gives people an experience that feels closer to the negotiations that go on during a conversation where stories are shared.

Of course, not everybody agrees with me about this. Some people think the one-page form doesn’t look as professional. Some think its length turns people away. I think if your story form looks too long, you’ve got too many questions, and/or you haven’t yet found the questions that people want to answer!

However, if you disagree with me on this point, you can collect stories using other surveying software and import them into NarraFirma through a CSV (spreadsheet) file.

Have a question you don’t see here?

You can ask your question on the GitHub issues list, or send an email to