six(im).possible().things()One problem. Six solutions. Infinite possibilities.

XP: 0 Rank: Dormouse 🐭
00:00

How to use six(im).possible().things()

The workflow

Each challenge asks you to solve the same problem in six different coding styles. Here is the intended workflow for each style:

  1. Choose a challenge from the row of hexagons at the top of the screen. Hover over a hexagon to see the challenge name and difficulty.
  2. Structure the code — start in the Structured style tab. Your goal here is to break the solution into well-named subroutines (functions) and keep concerns separate. Separating concerns means that each function does one clear job: a function that reads input should not also do calculations; a function that computes a result should not also print it. Keeping concerns separate makes code easier to read, test, and reuse.
  3. Debug in the Debugging stage — run your code interactively using the Run button. Fix any errors before moving on.
  4. Iterative Testing — step through the individual test cases one by one. Each test runs your code against a specific input and checks the output. Fix failures and re-run.
  5. Final Testing — once you have viewed all the test cases, the Final Test button unlocks. This runs the full automated test suite plus a style check and produces a score out of 10.
  6. Repeat for the other five styles. Completing Final Testing on the Structured style unlocks the remaining five style tabs — Readable, Robust, OOP, Recursive, and Minimalist. Work through each one.

The six styles

Structured Code is divided into focused functions that each do one job. Input, processing, and output are kept in separate functions. Clear, step-by-step logic that reads like an algorithm.
Readable Self-documenting code — descriptive variable names, helpful comments, and a layout that makes the intent immediately obvious to any reader. Prioritises human understanding over brevity.
Robust Handles edge cases and invalid inputs without crashing. Uses validation, error handling, and defensive checks so the code behaves correctly even when given unexpected data.
OOP Object-oriented — the solution is modelled using classes and objects. Data and the methods that act on it are encapsulated together, reflecting real-world entities or concepts.
Recursive The function solves the problem by calling itself on a smaller version of the same problem. Requires a clear base case (when to stop) and a recursive case (how to reduce the problem).
Minimalist As short and clean as possible — typically a single function (often a one-liner or two) using Python's built-in tools. Demonstrates how expressive Python can be when conciseness is the goal.

Scores, XP, and Rank

Each style is scored out of 10 points by the automated test suite. A challenge has six styles, so the maximum per challenge is 60 points.

The per-challenge score appears below the output window on the right — it shows your current total across all six styles for the active challenge.

Your total XP (Experience Points) is the sum of all your scores across every challenge you have attempted. It is displayed in the top-right corner of the screen alongside your current Rank:

0 – 49 XPDormouse 🐭
50 – 99 XPWhite Rabbit 🐇
100 – 149 XPMad Hatter 🎩
150 – 299 XPGryphon 🦅
300 – 599 XPJabberwock 🐉
600 + XPCheshire Cat 😸

Save, Load, and PDF export

Your progress is auto-saved in your browser as you work, so closing and reopening the tab will restore where you left off.

The buttons in the bottom bar let you do more:


Free, Coder, and Pro tiers

Challenges 1–12 are free forever. To unlock more challenges and features, two paid tiers are available.

Coder Tier — £29 / year

For individual students or teachers who want the full challenge set and portfolio export.

  • ✅ Challenges 13–24 unlocked
  • ✅ All future rolling challenge sets
  • ✅ PDF export (all attempts + scores)
  • ✅ Email PDFs to students / parents
  • ✅ Everything from the free tier

Pro Tier — £99 / year (early adopter price)

For class and department management — everything in Coder, plus tools for teachers.

  • ✅ Everything in Coder tier
  • ✅ Teacher dashboard — view submissions and track progress
  • ✅ Class reports & analytics
  • ✅ Leaderboard
  • ✅ Class management & rosters

Interested? Get in touch or see the about page for more.


© Alan Harrison, Harrison Proserv Ltd  hpro.uk