Like all freelance writers, I have to keep track of a lot of work. There are pitches, assignments, records of when and where my work was published, with URLs and — because link rot is a thing — a PDF archive copy.
For a while now all of this has lived in a database. I used SQL at first; the plus points were it’s free and no third party had my data. The downsides were it needed a lot of time and effort to setup and maintain.
Was the effort worth it? No. I can code, sort of, but I’m a writer so that’s where I should focus my time. I use Airtable now, which is not perfect either but, importantly, it’s good enough.
What needed to be better
The underlying design of my database was a little janky, for lack of a better term. I’ve been looking recently at automating as much of the boring busywork of getting details about my writing into the database. For this to really be effective, I need a database that runs smoothly. I need one that is soundly designed.
Just because ChatGPT isn’t good at writing, doesn’t mean it’s useless for writers
ChatGPT is fairly shit at writing (for now) but it can do other things reasonably well. I had heard about programmers using AI to autocomplete lines of code. If I told ChatGPT what I needed my database to do, could it design one for me? It turns out the answer was about 80% yes, which again falls under “good enough.”
Using AI to create a database schema
My approach was first to set the context, and then avoid thinking about database fields or structure at all. I told the AI that I wanted to design a database schema to track a freelance writer’s work, then followed these steps.
- I used clear, plain language to prompt the AI with the basics of my workflow
- I plugged the schema the AI produced Into a tool to visualise the results
- I iterated on my instructions, slowly adding more specific details
- I always described my needs in terms of real-world situations and let the AI decide how best to reflect them in the database