Resources
Tutorials

How to build simple AI apps with no code

My experiment building a children's story generator with Imagica

By
Fawzi Ammache
October 13, 2023

Building a children’s short story generator

We’ve all been in a situation where we need to come up with a story to entertain a kid or make them fall asleep. At one point, you run out of stories to read or you feel like you don’t have the J. K. Rowling genes to whip up a captivating tale.

But worry not, I’ve created the perfect solution the next time you’re in this high-stakes scenario. Save this the next time you’re putting your child to sleep, or babysitting your little cousin. They’ll quickly start praising you as the most imaginative storyteller in your family (excluding grandparents because not even AI can compete with their stories).

Meet Artificial Tales

Artificial Tales is a simple AI tool that lets you create unique and engaging short stories for kids.

All you need to input is:

  • Hero’s Name: this could be the child’s name, someone they admire, or just any random name
  • Interests: the child’s areas of interest such as sports, video games, art, music, cooking, animals, and more. Combining unrelated interests leads to some funny results.
  • Values: every story should have a lesson, whether it’s teaching kids about friendship, perseverance, generosity, or eating less sugar.

The results are funny, non-sensical, and somewhat magical. The perfect blend to captivate a kid’s attention.

I tried it out with inputs based on my interests as a kid to see what I would get:

Input:

  • Hero’s Name: Fawzi
  • Interests: soccer, giraffes, chocolate
  • Values: discipline, eating less sugar

Result: The following is the exact output I received from the AI tool without any edits.

Once upon a time, in a faraway land called Giraffeville, there lived a young hero named Fawzi. Fawzi was a talented soccer player and had a special love for giraffes and chocolate. His days were filled with practicing his soccer skills, visiting the local zoo to admire the majestic giraffes, and indulging in his favorite treat, chocolate.

Fawzi was known for his discipline and dedication to his passions. Every morning, he would wake up early to train on the soccer field, honing his skills and improving his technique. He understood the importance of hard work and perseverance, knowing that they were the keys to success.

One sunny day, Fawzi received an invitation to participate in a prestigious soccer tournament. Excitement filled his heart as he prepared for the big event. However, Fawzi also remembered the value of discipline and knew that he had to control his sweet tooth, especially before the tournament.

As the tournament approached, Fawzi faced a challenge. His friends from school decided to have a chocolate party to celebrate their achievements. The aroma of chocolate filled the air as they indulged in various cocoa treats. Fawzi's mouth watered, but he reminded himself of the importance of discipline and not consuming excessive sugar.

Fawzi politely declined the offer to join the chocolate party and instead focused on his training. He knew that indulging in too much sugar might affect his performance on the field. He practiced hard, visualizing himself scoring goals and leading his team to victory.

Finally, the day of the tournament arrived. Fawzi's dedication and discipline had paid off, as he showcased his incredible soccer skills. His speed, agility, and precise kicks left the crowd in awe. Fawzi's team made it to the finals, facing a tough opponent.

During the intense match, Fawzi's opponents tried to distract him by offering him a box of chocolates. They hoped to break his focus and steal the victory. However, Fawzi remembered his values and the importance of not eating too much sugar. He politely declined their offer, staying true to his disciplined nature.

Fawzi's determination and skill led his team to victory. They celebrated their triumph on the field, with Fawzi's friends showering him with praise and admiration. Fawzi had not only won the tournament but also taught his friends an important lesson about discipline and making healthy choices.

From that day forward, Fawzi's friends admired his ability to prioritize his goals and make wise decisions. They too started practicing discipline in their own lives. Fawzi's story served as a reminder that sometimes saying "no" to tempting things can lead to greater achievements and a healthier lifestyle.

And so, Fawzi continued to inspire others with his love for soccer, giraffes, and chocolate, all while teaching them the value of discipline and not consuming excessive sugar. The end.

Pretty cool, right?

I know I would’ve loved this story as a child because it spoke directly to me. It incorporated all my interests, even though some of them were forced like the giraffes (in another experiment, I was on a soccer team with giraffes as teammates lol). Surprisingly, it did a great job of weaving the story around the values of “discipline” and “eating less sugar”.

All I can say is I’m an adult now and I still love soccer, giraffes, and eating way too much chocolate…

You can try Artificial Tales yourself 👇

Go to Artificial Tales

💡 Note: Since this is a prototype app, none of your inputs are stored and I can’t see what you generate.

How to build your own AI app with Imagica

I built this short story generator in Imagica without coding. The tool is easy to use, but I’ll going to break down what I did behind the scenes.

Step 1: Create input nodes

Input nodes are basically input fields that accept some sort of text. In my example, my three input nodes were:

  • Hero’s Name
  • Interests
  • Values

Step 2: Combine input nodes to create outputs

Once your input nodes are set, you can generate an output by clicking on the “+”. This will open up a field where you can write a prompt for what you want the AI to do.

In my case, it was:

Generate a children’s story where the hero is named [Hero’s Name]. Try to incorporate [Interests] and teach them about [Values].

Important: make sure all your input nodes are connected to the same output node, otherwise the information won’t be passed along. You can do this by just dragging them and connecting them manually.

Step 3: Create child outputs based on a parent output

In some cases, you might want to refine the output or use it as an input for other tasks. In my case, I wanted to generate a story title and illustration that matched the story.

I could only do this after generating the story since the title and illustration should be based on it rather than the content of the input nodes. In this case, the story acts as the input for the story title and illustration.

You have a number of options for outputs that I didn’t use here, including:

  • Amazon products → generates a list of Amazon products based on your input
  • YouTube videos → generates a list of YouTube videos based on your input
  • Images → generates images in different styles based on your input
  • Documents and URLs → use documents and URLs as a data source to generate a response based on your input

Step 4: Clean up and customize your AI app

When you’re ready to publish your app, you’ll need to decide which outputs will be displayed to your users.

By default, all your input nodes will be shown as input fields.

As for your outputs, you can determine which ones you want to show and in what order once you go to the “Publish As” menu and click on “Add Content”.

This will highlight all your output nodes and allow you to publish their content on your app (click the “Publish as content” under each output node). In my case, the content I chose and their order was:

  1. Story Title
  2. Illustration
  3. Story

Once you make all those adjustments, just hit Publish and you’ll get a link to share with everyone else. If you happen to make something, drop a link in the comments so we can all try it out!

Fawzi Ammache
Founder, Year 2049

Become an AI Pro

An email a week with the AI knowledge you seek.

Never miss Year 2049's latest resources, courses, and more by subscribing to our weekly newsletter.

Unsubscribe anytime. By registering you agree to Substack's Terms of Service, Privacy Policy, and Information Collection Notice
Thank you! Your submission has been received!
Oops! Something went wrong. Please try again.