Any views expressed within media held on this service are those of the contributors, should not be taken as approved or endorsed by the University, and do not necessarily reflect the views of the University in respect of any particular issue.

My new pal Claude…

I’ve been using ELM at work and finding it really helps speed up anything I have to write.  ELM is ‘Edinburgh access to Language Models’ and it provides secure access to a number of different LLMs. It’s available to all staff and students at the University so if you haven’t had a look at it, I’d highly recommend it.  I never copy what it says verbatim but it often gives a really helpful starter for ten for report or paper writing – the hardest bit can be just getting started.

However, I’ve spent a few evenings, the past couple of weeks, playing with Claude Code.  I’ve heard a few people talking about how amazing it is.  I came at it from a very skeptical place –  I mean, Claude (as Claudius) couldn’t even run a small vending machine without going bankrupt… so how on earth could it do anything complicated.  This blog post will (at least start) cover what I tried and how it went…

Executive summary…. I’m a bit blown away…..

 

Some background information

So, you know, we have some pretty ancient but really interesting data at Edinburgh University.  My favourite dataset of all time is our Survey of Scottish Witchcraft data. If you haven’t seen it, I’d strongly recommend you have a look.  It is a digitised dataset, which was collected from primary source materials more than 20 years ago, really led by Professor Julian Goodare from the School of History, Classics and Archaeology and a large number of other contributors over the more than two decades the dataset has existed.  There are a number of different sites where you can find out more, I’ll list them below:

  • The Survey of Scottish Witchcraft site – this is the modernised version of the original web interface to the data and it has a great ‘about’ page which talks about the project and who’s contributed over the years.
  • The Survey of Scottish Witchcraft map site – a sister/companion site which we developed here in IS with an interactive map showing all the locations talked about in the original database.

The data is so so interesting and I’d really urge you to read about it but I won’t say much more in this post about it because having a 30 page long post will be unmanageable.  I’ll add a few interesting links to the bottom of this post if you want to find out more.

The data is Creative Commons licensed and available on Edinburgh’s DataShare service, amongst other data sites. The other brilliant thing about this data is that it’s a reasonable sized dataset but it’s well structured and has a corresponding database schema.  You can download the database tables as CSV files and the schema tells you how they link together. It is also available as a Microsoft Access Database too if you like Access.

I wanted to test out Claude Code but I wanted to use a dataset which contained no personal data and so this well structured data was ideal – there is personal data but it’s for people who existed hundreds of years ago so they’d be unlikely to sue me.

What I did

I grabbed all the accused witches CSVs and the schema and started reading about Claude code. I signed up for a Pro license (£20 a month), installed it all on my personal laptop at home using Visual Code Studio as an editor and installing a plugin to allow Claude to work through the editor.  That was literally the trickiest part, mainly because for a few hours Claude didn’t seem to understand that I had a pro license, but once it got over itself, I was flying…..

I fed in all the CSV files and the schema and asked it to set me up with a website to allow me to view the data with an administrator interface which would allow me to edit the data. It needed to be in PHP and using a MariaDB – mainly because it’s what I know but also people in my team who are better developers than me (which isn’t hard) know it too.  It’s available on our University web servers.  It went into planning mode, reviewed the CSV and the schema and came back with some suggestions which I asked it to implement.  It (with my permission) installed a XAMPP stack on my local computer for testing out the site and then happily started beavering away.  With Pro you have a limit so that first project took a few evenings – although mainly I just got on with my life whilst Claude was doing its work.  A few nights later, it was ready and I ran it on my local host and to say I was gobsmacked was an understatement.  Whilst I’d made my dinner, played with  my dogs and vegged out in front of the telly, Claude had been busy designing a website, writing the code and creating style sheets. I’ve done 9 different iterations of the site now – just trying things out to see how it coped – not necessarily features i’d have in a live site and added:

  • an image for each of the accused. Each accused has a different image.  I wouldn’t do this on a live site, it reduces the seriousness the site should have but there are nearly 4000 accused people in the database, and they all have an image now.  That took about 4 minutes.
  • I added an accused witch AI chatbot. I hooked it up to ELM and it’s now possible to have a conversation with an AI with a very basic prompt to respond as a Scottish Accused witch. Again, not necessarily something I’d do on a real version of the site but it was so easy to do, just plugging the ELM API key in and it worked.
  • for the admin interface, I had to wait until I had SSO installed on the web server and Claude didn’t really understand how that would work at first but once I explained it, again, I just uploaded the files it had created and it just worked.
  • I had a request to add dark mode which I asked Claude to do. This took a bit of wrangling – mainly just pointing out bits where it hadn’t quite worked right, but was quickly resolved.
  • I’ve (or should I say Claude….) changed the list pages so they can be ordered by any column on the pages.
  • We added in some more static pages (not currently populated) and a simple WYSIWYG editor for them  (About)
  • Last night, we added in some visualisations including a basic map (with only the data in the original database, not the data from the more recent map site).

All in all, I’m pretty amazed with what Claude did. I had to provide guidance a few times – for example, I wanted the database connection file outside of the webroot on the server for security and I had to suggest things like that.  But apparently you can train it so it learns how you want to work so I need to look into doing that too.

Next thing I’ll be looking at is getting it set up to push code to github – I can then share it with my team – and specifically Andrew and the others in his team who are PROPER REAL DEVELOPERS who I’ve asked to do a code review and give me some feedback – so we can see what they say, and that will probably be another blog post.

I’ve locked it down via SSO for now but anyone with a University log in should be able to access it (Test Survey Site).  I’ve even added a few special people to the ‘Admin’ panel so they can play around with the editing should they wish.

For everyone else, here are a few screenshots so you can see how it looks. Amazingly responsive too on a mobile device.

Now I need to think about …. what is next?? I may be a Claude-Addict. If that’s not a thing, it soon will be.

Screenshots are clickable so you can see more of the detail:

AI Chat Bot  Basic map  Basic timeline  Admin interface - edit a person  Front page of the site

 

Other links with background info

 

css.php

Report this page

To report inappropriate content on this page, please use the form below. Upon receiving your report, we will be in touch as per the Take Down Policy of the service.

Please note that personal data collected through this form is used and stored for the purposes of processing this report and communication with you.

If you are unable to report a concern about content via this form please contact the Service Owner.

Please enter an email address you wish to be contacted on. Please describe the unacceptable content in sufficient detail to allow us to locate it, and why you consider it to be unacceptable.
By submitting this report, you accept that it is accurate and that fraudulent or nuisance complaints may result in action by the University.

  Cancel