Skip to main content

Nookly Imagineer: Creating Your Tool's Variables

You’ve designed your structure — the rows and blocks that determine what your final generated resource will look like. Now, Imagineer needs to understand how that structure should behave when someone uses the tool.

Written by Malak Abdelghaffar
Updated over 4 months ago

Variables are the inputs that allow your tool to generate different outputs every time, without you (or your team) having to rewrite instructions or prompts.

Structure = what the tool produces
Variables = what the tool adapts

Without variables, you would have to rebuild the tool from scratch every time.
With variables, the tool adapts to new kids, new goals, new routines, new topics, etc.

Example: A visual schedule tool may have variables like:

  • {Child Name}

  • {Routine Theme}

  • {Number of Steps}

  • {Tone}

Today, you could generate:

“Kai’s Morning Routine — Space Theme — 4 Steps — Calm Tone.”

Tomorrow, using the same tool:

“Layla’s Homework Routine — Ocean Theme — 7 Steps — Fun Tone.”


How to identify a variable 🎛️

Ask yourself: “If I ran this tool tomorrow for a different student, what would change?”

If it changes often → turn it into a variable.

Here are common things educators and therapists change frequently:

Things that often change

Good variable candidates

Learner characteristics

{Age}, {Reading Level}, {Name}, {Support Needed}

Learning target

{Skill}, {IEP Goal}, {Behavior}, {Phoneme}

Format or length

{Number of Questions}, {Number of Steps}

Visual preference

{Theme}, {Icons}, {Images}

Emotional tone

{Tone: Fun / Calm / Encouraging}

Variables should simplify decisions, not create new ones.


Choose variable types that support the right kind of thinking 🧠

You control how the variable is entered:

Variable type

Best for…

Why it matters

Text field

Open-ended answers: names, goals, instructions

Flexible, but requires more user input

Dropdown

Limited, controlled choices (tone, sound, difficulty)

Prevents user confusion + gives users clear choices

Number

Anything measuring length or quantity (# of steps/questions)

Helps Imagineer apply structure consistently

💡 If you don’t want users typing unpredictable things → use a dropdown.


The 3–6 Variable Rule (avoid overwhelming the user) ✨

The best tools generally have:

  • 3–6 variables total

  • Each variable has a clear purpose and visible effect on the output

Why?

  • Too few variables → not flexible enough

  • Too many → cognitive overload, confusing experience

The best tools don’t let users make every decision. They let users make the useful decisions.


How to evaluate if a variable is “useful” 🧪

Ask yourself: “Does changing this variable create a noticeably different output?” If yes → keep it. If not → remove it.

Common mistakes (and how to avoid them) ⚠️

Mistake

Why it causes problems

Fix

Variable names are unclear (“Topic / Setting / Thing”)

User doesn’t know what to enter

Use commonly used language: “Target Skill,” “Theme,” “Feeling Word,” etc.

Too many text fields

Inconsistent inputs = messy output

Replace with drop-downs/numbers

Making everything optional

Tool feels overwhelming

Set defaults so user can “just press generate”

Using variables for things that never change

More decisions = slower tool

Convert to constants in prompt instead


Quick variable quality checklist ✅

Your variable set is strong if:

  • Users know what to enter without asking

  • Each variable meaningfully changes the output

  • Defaults produce a usable first draft

  • Using the tool feels faster than prompting manually

If all of those are true → click Continue.


Example of a perfect variable set (Choice Board) 🔥

Variable name

Type

Why it works

{Theme}

Dropdown

Drives visuals + vocabulary

{Target Age}

Dropdown

Adjusts reading level

{Tone}

Dropdown

Controls language style

{Number of Choices}

Number

Scales output

This tool can be reused forever with new values!

Now that you're a variable expert, it's time to test and optimize your prompts!

Did this answer your question?