Looking for software recommendation.

I am hoping someone can help me, I am developing a book for children that covers mental illness and I want it to be flexible based on demographic or personal details (can be electronic or hard copy).

What is given to a 6 year old with panic being differently presented to a 12 year old without panic. I would define the demographic details but based on these, some of the information in the resource is changed and the final PDF or output is therefore customised to their circumstances.

For example, a resource for anxiety, I would select the age of the child (this would change the detail and language used) and the absence or presence of panic (this information removed or put in), but the major storyline would remain the same.

My question is, does software like this exist that allows for display logic or easy substitution of pages/ blocks of text based on a selection? I can't find anything so far.

  • We just had a question which is kind of similar, although not a duplicate: writing.stackexchange.com/questions/46298/… Jul 8, 2019 at 9:37
  • I don't think it's similar, since cover letters are one-to-one, and this would be a one-to-many situation. It reminds me of the Young Lady's Primer in Neal Stephenson's The Diamond Age -- it may be worth looking into how ELIZA type programs are created, and other modern chat-bots, which have banks of "answers" based on paths given by the end user? (I don't know how to make such a thing, just that they exist.) Jul 8, 2019 at 13:19
  • @April It's similar in that there's a set of variables, there's data to populate the variables, there's content which surrounds the variables, and then once the variables are populated with chosen data, a customized result is produced. Whether that result is distributed to one person or several is irrelevant. Jul 8, 2019 at 14:49
  • I think a key difference is because the audience IS one person/hiring team, one wants everything to sound PERFECT. If it's to many end-readers, then people know that they may get some awkwardness. Jul 8, 2019 at 15:00
  • Welcome to Writing.SE Michelle. Please check out our tour and help center. That's an interesting question! One I can't answer myself, though I'll be reading to see what others say.
    – Cyn
    Jul 8, 2019 at 15:31

2 Answers 2


Options depend on how complex/'interactive' you need your generated PDF to be, and how 'turn-key' of a solution your technical abilities would require.

If you already know (or are comfortable learning) basic computer scripting, then one group of tools that may be worth considering is "Report Generation" software. "Based on a set of inputs, configure a specific output".

An example of an Open Source option from such tools is: https://carbone.io/

[Have not used this one personally, but their site gives a bit of an idea of what could be done.]

You would define keywords/segments/paragraphs/pages with clear identifiers, which get combined based on a group of input settings to produce a generated output based on your specifications at the other end.

Such software can be used for something as simple as "If stakeholder_class = X, print Page_Y", through "If stakeholder_gender = X, use Pronoun_X", to "If [list of conditions met in some way], use paragraph1_subversionB on page 23".

  • This sounds perfect, I have no idea about code, but would be willing to learn, I will have a look. Thanks so much! Jul 9, 2019 at 0:56

To build on my idea in the comments -- a chatbot framework may be helpful, even if that's not your ultimate goal.

Here's a link to a little about them and how they can be used: https://rebot.me/page/about

Customize it through the use of various tools and then start ‘teaching’ it to respond to certain questions. As you spend more time talking to it, it’ll ‘learn’ more and more answers to certain questions you want it to answer. ... Simply ‘teach’ your chatbot to respond to questions users will likely pose.

https://chatbotsmagazine.com/the-complete-beginner-s-guide-to-chatbots-8280b7b906ca explains in part that these are basically a

Text based response tree

Which sounds like what you want. In thinking of a static resource that you would assemble and provide to the end-client (young person with anxiety) , it's a similar resource tree being assembled. However, you may want to keep it interactive to allow them to research elements they may not want to disclose to you.

https://www.marutitech.com/14-powerful-chatbot-platforms/ lists some resources that may be helful.

From my quick googling, it sounds like you want to avoid machine-learning or "intelligent" bots -- you deliberately are trying to keep the info "canned" (just slightly customized) so a lot of these out-of-the-box insta-bots would work.

(You don't want the bot to learn from other anxious/depressed teens to echo back their worst thoughts back to them -- hence keeping it more limited.)

  • 1
    "You may want to keep it interactive to allow them to research elements they may not want to disclose to you." So true! I get it about the age variations but I wonder about some of the leave-in/leave-out bits that require a patient (or parent) to know a precise diagnosis when they're in the early stages of it (because people living with it for years don't usually get general books). Even a therapist might not be sure of all of a child's symptoms yet. Leaving stuff in may be useful for the future, to help them understand their diagnosis, or for friends.
    – Cyn
    Jul 8, 2019 at 15:35
  • 1
    Thanks so much April, this is very useful, I will look into it more, a text based response tree is exactly what I'm looking for Jul 9, 2019 at 0:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.