OFSTED Heatmap - The Requirements and Initial Design

As you can see from the title, my new web application is going to be called the OFSTED Heatmap and, as discussed in the last post, it will principally show (graphically) when schools were last visited by OFSTED, and by implication, when they might get another knock on the door!

The Requirements

For this project (as a minimum implementation), this is what my application needs to provide:

  • Users of Bexley Borough (in Kent) a facility to see their local schools. Why Bexley? Well, I live there, and certainly don’t think my first version needs to be any grander.
  • A Map
    • This needs to:
      • Allow panning (moving in all directions),
      • Allow zooming in and out,
      • Be centred on the area of interest (Bexley).
  • A variety of colour coded icons (on the map, in the right locations) which indicate quickly and easily where a school is and how long ago they have been visited by OFSTED.
  • When the user clicks on one of these icons, extra information will be displayed about their last rating (Outstanding, Good, Requires Improvement etc.) and their last published report. There should be a link which will open up the actual report produced so that it can be read easily.
  • A key to explain the above icons:
    • Green: OFSTED last visited within the last year,
    • Yellow: They were visited between a year ago and 2 and a half years ago,
    • Red: Any visit date greater than 2 and a half year ago. This will be based on the idea that it is approaching 3 years and on average, that can be when they like to reappear.
  • Some kind of descriptive area that explains the purpose/use of the application.
  • Regular updates - things can change daily and I would like this to be refreshed at least once a day.

How do I see this working?

1.Front-end - Main Page:
1. HTML and CSS for formatting.
2. Javascript to produce the main map.
3. KML to create the overlays (imagine laying tracing paper with coloured pictures over the map). This will reside elsewhere on a server and be referenced within the page.
2. Back-end:
1. A script which will produce up-to-date KML files based on the OFSTED web pages. Can you hear the scraping noise already!?
2. The script will be run periodically on a server, using something like cron. Most likely daily, but certainly not any more frequently.
3. Logging to let me know when things were run, how many data points were created, any problems etc.

Next Steps

I think to begin with, let’s tackle the main page’s HTML so that I have a canvas to work from; that will form the basis of the next post.


Hi! Did you find this useful or interesting? I have an email list coming soon, but in the meantime, if you ready anything you fancy chatting about, I would love to hear from you. You can contact me here or at stephen ‘at’ logicalmoon.com