We have Raspberry Pi 4 in stock!


Secure checkout

Chatterbox is seeking talented, creative and eager interns to join our development team. In this role, you will play a key role in the design and development of key-aspects of our educational smart speaker, designed to teach programming and AI literacy concepts intuitively to kids in K-12 schools.


In this position, you will be working with our team to design and implement visual coding primitives and integrate with APIs and smart home devices and more. You will discuss and learn about best practices from senior developers and designers while building educational experiences using ChatterBlocks, Python and Javascript programming languages.


About Chatterbox

We're a public benefit company that was created as a way to give kids a more engaging introduction to programming and AI literacy. We are committed to a social mission to bring STEAM + AI literacy education to kids from disadvantaged backgrounds. We're currently used in over 1000 schools across the US.

If interested, please send us your resume and portfolio to jobs at hellochatterbox dot com

We are so honored to have mentioned by Leo Laporte on the BEST TECH PODCAST to have ever existed: This Week in Tech!

Make sure to listen to the entire episode, especially the Google I/O review as well as the ethical implications of AI that they announced this past week such as: morphing fakes, the problem with AI agent authority and the problems with giving AI human-like voice responses.

It's these ethical AI issues that inspired us to create Chatterbox to provide kids with the AI literacy education to succeed in the 21st century. Check it out today!

AI for Everyone

Artificial intelligence is reshaping society, medicine, industry and the future of work. 

Today’s toddlers are the first generation to grow up without any memory of the world before AI. Kids are growing up learning to talk to smart speakers, use facial recognition with Snapchat filters to generate social memes and ride in their parents’ semi-autonomous cars. 

For today's kids, AI is normal. But do they understand what it is? How it works? How to use it? How to create with it? 

Today’s consumer AI products are not teaching kids how AI works, nor preparing them for the advanced future of AI they will encounter all their lives. 

That's why we created Chatterbox, the smart speaker that teaches kids AI literacy. 

Chatterbox helps drive diversity, equity and inclusion in AI by helping K-12 schools easily integrate AI learning experiences into classrooms with easy-to-implement curriculum. And it's fun! Kids love building a Chatterbox, then teaching it how to respond. 

Our curriculum provides problem-based learning scenarios in which students build and teach a smart speaker assistant how to solve real world problems. Chatterbox’s collaborative curriculum addresses student needs, supports classroom learning and aligns with national science and computer science standards.

By allowing students to explore and learn about AI, they begin to understand the benefits and consequences that AI can have on society, ethics and daily life while on their journey preparing for future STEM jobs.

Want to know how Chatterbox can drive AI Literacy at your school? Contact us today!

New ChatterOS Update released January 15th. We're very excited for this update because we've improved performance of Chatterbox by over 30%! Among fixes in this update are better speech handling, improved understanding and handling of date and time as well as block improvements. For full change log, please see below.

To download update, you can tell Chatterbox to "Check for updates."

To find out if your Chatterbox auto-updated, press button and ask "What version are you?"

Note: Depending on internet connection, please allow up to 30 minutes for update to finish. After update, you need to use the power switch to turn off and turn on Chatterbox for the latest changes.

Bugs Fixes

Skill Updates

Block Updates

System Updates

For any questions, email [email protected].

We are so grateful to have been mentioned on our FAVORITE podcast This Week in Tech! Many thanks to Leo Laporte and Owen JJ Stone for the mention and Mike Elgan for the incredible plug.

As mentioned on the show, the Chatterbox Cyber Monday special is going on all week! Use code CYBERMONDAY at checkout for 25% off your order until December 6th, 2020 (or while supplies last).

On day 13 of our 30-day skill challenge we will be building a simple dictionary skill to look up the meaning of any word.

Have you ever come across a word and not know what it means? Today we are going to teach Chatterbox how to look up word definitions for you so you can be a real life lexicon master.

Let's build the skill!

When in the Skill Builder, if you look under the "Internet" category, you'll find a block named Get Meaning for. This block does exactly what it says. It can either get the meaning of a word, it's synonyms or it's antonyms.

The Get Meaning block does exactly what it says:

The same way we start all skills, let's brainstorm how we or other people might ask questions about word meanings. You might say "define [word]" or "What's the meaning of [word]" or "what's the definition of [word]".

Since we'll be listening for multiple phrases, we'll use the Listen to Phrases block. Keep in mind that we are listening for a specific word, so we'll also need to create a "word" variable.

Next, we'll be feeding the "word" variable to the Get meaning block to fetch the definition. Any time that we use an API block, we need to store the returned information in a variable. Since we are fetching the definition, we can store it in a variable that we will create called "definition."

Last step is to speak the definition back to the user. For this you need to feed the "definition" variable to the Speak block as we've done in previous skills.

Your final skill should look something like this:

The Get Meaning block has additional functionality for synonyms and antonyms. This additional functionality will mimic the behavior of the Definition skill with a few language tweaks. Can you extend this skill to include Synonyms and Antonyms?

On day 12 of our 30-day skill challenge, we'll be learning about Date / Time objects and how we use them to teach Chatterbox to how to tell time around the world.

So far we've learned how to get weather based on your location or find answers to complicated questions. But what if we wanted answers to simple questions like "What's the date?" or "What time is it in Paris?"

Did you know that every computer has an internal clock that keeps track of time? The problem is that the internal clock of most computers use a special date/time format that makes it hard for people to read and use. But if you understand some basics about Date/Time, making skills using date and time is very easy.

Let's talk about Date / Time objects

What exactly is a Date/Time object? For computers, knowing the exact date and time in a human-readable format isn't necessary. But if you were to ask Chatterbox what the time was it wouldn't help if it responded with "1586760036."

That's because the computers store information in ways that make it easy to work with, but all this changes when you are talking to a computer like Chatterbox and need to respond to commands.

The Get Current Date Time block returns the current date/time in an easy to use way

You can use the Get current Date Time blocks to get the current date time, but what if you want Chatterbox to Speak it? In order to accomplish this, we've created a handful of special blocks to translate Date / Time from computer speak to a human readable format.

The Pronounce time and Pronounce date blocks translate the date/time block into something that we can understand

The Pronounce Time and Pronounce Date blocks are special blocks that translate date/time objects (in this case the Get current date time block) into a format that we can understand.

Let's put it all together

Now that we've covered the basics, let's build a date and time skill that will give us the time for any location in the world.

Quick review: We use the When I hear block whenever we have an exact match for how we would like to invoke a skill. We use the On Phrases block whenever we want multiple ways of invoking (or activating) a skill.

Use the When I hear block if there is only one way to make requests. The On Phrases block is when you want Chatterbox to listen for multiple utterances.

When asking about time, you might say: "What time is it?" or "What's the time?" So we'll be using the On Phrases block. Try to think of all the ways that people will ask for the time.

Next, you are going to use the Speak block with a Pronounce Time block that will translate the Current Data Time block data into a format that we'll understand.

Completed time skill

To get the time in a "location," we'll make a similar skill to the time skill above, but will need to create a "location" variable. We'll also need to use the Get Current Date/Time in [location] instead of the regular block.

For the time in location skill, you'll need to create a location variable to use the current date/time in block

The Date skill follows the same pattern as the time skill, except that you use the Pronounce Date block to extract and speak the date.

Your final skill should look something similar to this:

On day 11 of our 30-day skill challenge, we'll be teaching Chatterbox how to search Duck Duck Go for extended answers regarding topics. Learn about the Spanish Inquisition or learn about the American Revolution.

We've previously taught Chatterbox how to answer specific questions about the height of the Empire State Building or the depth of the Pacific Ocean. But what if we wanted to learn more about a certain topic? One of the toughest parts of skill design is understanding where to go for answers that you need.

DuckDuckGo is a privacy-focused internet search engine.

In the case of needing an "extended answer" to a general topic or subject, we've built blocks to make it incredibly simple to search the internet using the Duck Duck Go search engine. Think of Duck Duck Go as a search engine, sort of like Google, but focused on privacy. This means that Duck Duck Go isn't collecting information about everything that you are interested in as well as everything that you are searching for. Yes, that is what search engines do! We'll be having an upcoming blog post on the importance of privacy.

Let's talk about intents

Let's talk about intents. If you wanted to know what the weather was, you may go to DarkSky to get the latest weather. But what if you wanted to listen to a song? You wouldn't go to DarkSky for that, right?!

The toughest part about creating "skills" for Chatterbox is understanding where to go for information or answers. For this skill, let's use the Easter Bunny as an example. What if you wanted an extended answer or synopsis about the Easter Bunny? Well, we made a block for that!

The Duck Duck Answer block let's you search the internet using Duck Duck Go privacy-focused search engine.

This block will give you a short answer about lots of different topics that you might have questions about.

Building the DuckDuckGo search skill

In the same we that we start most skills, we need to think about how we might "invoke" or activate the skill. For this example, we'll be using:

"Search duckduckgo for" [subject]

We'll need a variable to store the subject that we are searching for, so your skill may look similar to this.

"Search duckduckgo for" [subject]

The next step is to search for the subject using the Duckduckgo block to get an answer.

Something to keep in mind is that every API works in different ways. We've done our best to simplify this for you, but we want to make sure that you understand the subtleties of APIs.

When requesting an answer from the Duckduckgo block, there are things that it knows, but there are also things that it doesn't know. If Duckduckgo doesn't have an answer to a query (fancy word for question), then it might respond with the value "None."

Why this is important for us is that if there is an answer to our question, we want to speak it. But what we don't' get an answer to our question?

For this we will use a new block called an IF block, that lets us do one thing if an answer is found, and something else if no answer.

If there is an answer, speak the answer. If no answer, then speak "I'm sorry I don't know about that."

Putting it all together

Your final skill should look similar to this:

You should have two variables: a subject variable and an answer variable. After invoking the skill, you should set the answer variable to the result of the duck duck answer block.

If there is an answer, speak it, else have Chatterbox speak "I'm sorry I don't know about that."

On day 10 of our 30-day skill challenge, we'll be teaching Chatterbox how to get answers to life's toughest questions. We'll be able to find out the distance to the moon, calculate the number of days until Thanksgiving and get the answer to what is the meaning of life.

Today we are going to learn how to teach Chatterbox how to find answers to some of our toughest questions. So far we've learned how to make Chatterbox respond to commands and get information. But what happens if we want to find an answer to a more complicated question, such as "What states border California?"

Let's talk about questions

Before we go any further let's talk about questions. Before we start building a skill, it's important to understand the question being asked.

What states border California?

As humans, we are able to process most questions easily, but it's often harder to get computers to answer the same questions. In the example above, we are essentially asking 4 different questions:

What state is North of California? Oregon
What state is West of California? None
What state is South of California? None
What state or states are East of California? Nevada and Arizona

Even people might need a map for reference. It's simple to make a skill that listens for "What states border California?" But what if we wanted to change it to: "What states border Iowa?" How would we get this information without having to manually check each time, or even one time. How do we get computers do this? That's a much tougher question.

What is Wolfram Alpha?

As a skill designer, your thought process should be:

  1. What is the user asking?
  2. Where can I find the information that they are asking?
  3. How to properly respond for the user?

Most of the time, the hardest part of this process has to do with how to find an answer to their question. This is where an amazing company and Chatterbox Partner comes in.

Meet Wolfram Alpha. According to its website,

WolframAlpha is a computational knowledge engine or answer engine.

In other words, WolframAlpha has lots and lots of different information that can be mixed, matched and computed with each using WolframAlpha technology. What does this mean for us? It means that we can simply ask it all sorts of questions in plain speech and get exactly the answer that we were looking for. It's AMAZING!

Let's build the skill and try it out!

Building the 'Ask Wolfram Alpha' skill

First, make sure you have the Internet extension enabled from the Extensions page.

Next, we need to figure out people will invoke (invoke means trigger or activate) the skill. For this skill, we'll keep it simple and use "Ask wolfram alpha"

Remember the double-sided text block can be found in the Data block category

We'll be asking Wolfram Alpha all sorts of questions, so it's good practice to store these questions in a variable. Add the "question" variable to the When I hear block.

Adding the question variable let's you automatically store the question in a variable to use throughout your skill

Finally, we want to search the Internet category for the Wolfram Alpha Short Answer block. This block uses the Wolfram Alpha API to search for answers and calculations from the entire Wolfram Alpha service. What's great is that it returns an answer that Chatterbox can speak.

This expression makes Chatterbox speak the Wolfram Alpha answer to a question

Congratulations! You've just built a voice skill that integrates with the Wolfram Alpha API. Your final skill will look similar to this:

Special note: If you ask a question and Chatterbox responds with "Wolfram Alpha did not understand your input," it's because your question might have gotten cut off a little bit. To fix this, you can try speaking a little bit faster or you can shorten "Ask wolfram alpha" to "Ask wolfram" or whatever else you would like.

Trying out the Wolfram Alpha service with Chatterbox

You've just turned your Chatterbox into a mini-supercomputer that not too long ago, would've been nearly impossible to create. Below are some questions to get you going:

What is the distance to the Moon?
How deep is the Pacific Ocean?
How many days until Thanksgiving?
What is the meaning of life?
What are words that rhyme with banana?
What states border California?
Where in the world is Carmen Sandiego?
How much wood could a woodchuck chuck?
What is 45 times 67?

We hope you enjoy your supercharged Chatterbox!

© 2022 Gigundo, Inc. Public Benefit Corporation.