Skip to content
OlliePagePublic

About

Doodle — Streamlit app for generating printable colouring pages

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🖍️ Doodle

Type an idea. Print a colouring page. Hand over the crayons.

Doodle turns a sentence like "a smiling baby dinosaur washing a toy fire engine" into a clean black-and-white colouring page, sized exactly for A4 paper.

Python 3.11+ Licence: MIT Runs on your computer

The Doodle homepage: a colourful wordmark, one box asking What shall we draw, and a Draw it button

What it does

Doodle exists for one recurring moment: a small child asks for a picture of something oddly specific, and you would rather print a good one than draw a bad one.

You type the idea in exactly as the child said it. Doodle asks an AI drawing service to illustrate it in thick, friendly outlines, cleans the result into pure black-and-white line art, and hands you a PDF that prints at true size. From idea to paper takes about a minute.

And because Doodle can learn who your children are from a photo, the pages can star them. Here is what that looks like: two small sisters, camping with the Peppa Pig family.

A black-and-white colouring page: two young sisters and the Peppa Pig family around a campfire  The same campfire scene, fully coloured in
The page as it prints, and the same picture coloured in. The girls are saved Doodle characters, drawn in their real likeness from one photo each.

The fun bits

  • Draw anything. Whatever they ask for, however strange. The drawing style stays chunky and toddler-friendly; only the idea changes.

  • Draw their teddy. Drag a photo anywhere onto the page — the way you drop a picture into Google Search — and type the adventure. A photo of a worn old teddy plus "riding a rocket to the moon" gets you that teddy, bald ear and all, on its way to the moon.

    A dropped photo sitting as a thumbnail inside the prompt bar
  • Save the family characters. Teach Doodle a favourite toy, a pet or a person from one photo, and from then on you can tick them into any picture. Each saved character even gets its own caricature portrait.

    The Your characters screen: three caricature portraits with Open as a doodle, Delete and Edit buttons, above the Add a character form
  • Change your mind. Under every picture is a Make a change box: "give the dinosaur a party hat", "move the fire engine away from the edge". Every version is kept, so experimenting costs nothing but the redraw.

  • Badge sheets. As well as full-page pictures, Doodle lays out A4 sheets of repeated circles for 58 mm badge presses, with proper cut lines and safe areas.

  • No AI, no problem. Three demo drawings are built in, and you can upload any picture of your own to be cleaned up and laid out for printing. Neither needs a key or an internet connection.

    Demo colouring page: a friendly dinosaur Demo colouring page: a bear in a space suit Demo colouring page: a robot holding balloons

Getting started

You need two things: Python, and this folder.

1. Install Python (one-off). It is a free download from python.org — pick version 3.11 or newer and click through the standard installer. On Windows, tick Add python.exe to PATH on the first screen.

2. Download Doodle. Click the green Code button at the top of this page, choose Download ZIP, and unzip it anywhere you like.

3. Open it.

  • Mac: double-click run.command. The first time, macOS will be wary of a file from the internet — Control-click it, choose Open, then Open again. You only do that once.
  • Windows: double-click run_windows.bat.

The first launch spends a few minutes installing what it needs, then Doodle opens in your web browser. Every launch after that takes seconds. Nothing is installed system-wide; everything the launcher sets up stays inside the folder you unzipped.

4. Type your first idea. The first time, Doodle opens a connection screen for choosing how pictures get drawn. The built-in demo drawings need no key at all, so you can print your first page straight away.

5. Connect an AI drawing service when you are ready (about two minutes). The same connection screen links to exactly the right page for creating a key. Google Gemini has a free allowance, so start there. Paste the key in once and Doodle can remember it — it is stored only on your computer, never in the artwork or PDFs.

Rather have someone talk you through it?

Paste the text below into an AI assistant you already use — ChatGPT, Claude, Gemini, whichever — fill in the two brackets, and it will walk you through the whole setup at your pace, including creating the free key:

I've just downloaded Doodle, a small app that turns a typed idea into a
printable colouring page for children: https://github.com/OlliePage/Doodle

I'm on [Mac / Windows], and I'd call my computer confidence [low / medium / high].

Walk me through it one step at a time, checking each step worked before
moving to the next:
1. Install Python 3.11 or newer if my computer doesn't already have it.
2. Download Doodle from that page (green Code button, Download ZIP), unzip
   it, and open it with run.command on Mac or run_windows.bat on Windows.
3. Create a free Google Gemini API key at https://aistudio.google.com/apikey.
4. Paste the key into Doodle's connection screen and have Doodle remember it.
5. Print my first page at actual size (100%, no fit-to-page), for this idea:
   [what your child wants a picture of].

Printing

Two rules cover almost everything:

  1. Download the PDF and print that, rather than printing the browser preview.
  2. In the print dialogue choose Actual size (or 100%) and switch off anything called Fit, Shrink or Scale to printable area.

That keeps the pages and badge circles at their true measurements. If your printer is slightly out, Doodle has a calibration page that measures and corrects it — see the full reference.

Screenshots

A colouring page of a dad and two daughters at a picnic, with teddy-bear hot-air balloons overhead


All three saved characters at a picnic, under teddy-bear hot-air balloons.

A colouring page of two young sisters putting up a tent while the Peppa Pig family helps


Putting the tent up — another page from the same camping request.

Doodle offering to take a photo being dragged onto the page


Drop a photo anywhere on the page and Doodle offers to draw it.

Where your stuff lives

Doodle runs entirely on your computer. Your doodle history, characters and settings live in a .doodle folder in your home directory, and the only thing that ever leaves your machine is the idea (or photo) you send to the drawing service you connected. Doodle itself has no accounts, no tracking and no subscription — the only account involved is the one you hold with your chosen drawing service.

For the technically curious

The full reference covers the architecture, badge geometry, printer calibration maths, provider details, local data layout and how to run the test suite. Doodle is a Python and Streamlit app, MIT-licensed, with automated tests for the geometry and PDF output — the AI invents the drawing, but the millimetres are deterministic.

About

Doodle — Streamlit app for generating printable colouring pages

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages