Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

EdTech Metaphor Generator

A Mashup generator originally made for Martin Weller. Check it out! It's a practical stick. eh?

Learn more about this little experiment in A Generator for Martin

Fork and Roll

Make your own! Change out the background image and modify the structure of generated phrases. Here are ones I know of

You can easily download this repo make your own copy, and hoist to your own web server or any place you can publish HTML to the web. That's your own generator, which is nice.

But these ones are part of this repo, so you can actually contribute to them by forking a copy (or just going to the index.html in any and click the edit button, this will generate a copy). Push the changes my way, please, make my day! Your additions will make these generators more interesting!

See also how the Creative Prompt machine was used as a DS106 Daily Create.

Hardly Passing For Documentation

You will need a bit of HTML knowledge to change the title, initial prompt, and adjust credits for the background image. All of the generating magic is done in JavaScript. Create arrays for all sets of phrases you want to have mixed up, this is the setup for the original EdTech Metaphors one

   // array of metaphors- 
  let metaphor = [
      'baking a cake', 'a houseplant', 'running a marathon', 'raising a puppy', 
      'quantum physics', 'visiting an unknown country',
      'the history of porcelain manufacture',
      'the development of New York graffiti styles','the Corn Laws',
      'the Loch Ness monster myth','the CB radio craze of the 70s',
      'the Gargoyles of the Notre Dame','an all you can eat “Around the world” buffet',
      'the growth of interest in vinyl records','a comfortable old coat',
      'knitting','Homers The Iliad','gardening','the ecosystem of a small island',
      'your favourite film','the structure of a typical horror film', 
      'chasing a cat', 'finding a big stick', 'a local castle', 'real hockey'

  // array of technologies
  let tech = [
      'learning analytics', 'VLE', 'blockchain', 'OER', 'MOOCs', 
      'personalised learning','Artificial Intelligence','open textbooks',
      'automated assessment','MCQs','digital natives','connectivism',
      'blogging','plagiarism detection sites','lecture capture',
      'Flipped Learning','Facebook','academics use of Twitter',
      'open access publishing','mobile learning','learning styles',
      'LMS','e-portfolios','Wikipedia','student-generated content'

You can rename these and make up new ones. That is one level or randomization, think of these as placeholders that can be mixed up.

The second level of randomness is done by creating a set of different sentences that will make sense using a random element from any of the arrays. This set needs to be enclosed in back tick characters for the variable to work -- ${metaphor[random(metaphor)]} will provide a random metaphor from the first array above.

  	 let options = [
  	   `Use ${metaphor[random(metaphor)]} as a metaphor for ${tech[random(tech)]}.`, 
	   `How is ${metaphor[random(metaphor)]} an analogy for ${tech[random(tech)]}?`, 
	   `What does ${metaphor[random(metaphor)]} tell us about ${tech[random(tech)]}?`,

The more of these you make, the more random your generator becomes (3 is a minimum, 5 or more is better, 10 is just wildly fantastic).

And more random fun, you can also randomize the labels of the remix button:

    /* Fun random names for the buttons, edit or add more */
	 let button_names = [
		'Make Me Another',
		'More Metaphors, please!',
		'Metaphor it Again',
		'Gimme More',
		'Crank it Again',

And you can customize as well the magic that generates a tweeted version of a mix, including a name to mention, and a name for the thing being metaphor-

 // add the teet this button, change the tweeted name as needed (if you must)
 // and provide the name for the kind of thing generated
 tweet_it_like_a_bluebird( generated, '@cogdog', 'EdTech Metaphor');

Recommended attribution:

"<#title#>" by Creative Commons is licensed under CC BY 4.0. Available at<#unit#>/

As if Versioning Happens by Magic

  • Oct 26, 2021: Updated Bootstrap, jQuery, Backstretch.js versions, tweet code extracts URL from HTML href links in a generated message, re-organized code and fitted with more descriptive comments, created 2 more demos
  • Oct 19, 2021: Just for fun (and to test that links work) made a generator that generates generators
  • Jan 27, 2021: Added randomized button names, and a tweet this button
  • Sep 25, 2019: First version started up


A Mashup generator made for Martin Weller







No releases published


No packages published