Creating presentations with markdown and generative AI

Presentation slides
Creating presentations in Markdown means that it’s easy to use generative AI to modify them
Published

September 29, 2024

Examples of my slides and presenter notes in Bear App, which I export as Markdown and then convert to a slideshow in RevealJS format using Claude

Over the years I have given dozens of presentations on all kinds of subjects in my meetup groups, and also for my professional work. For my meetup groups I have been using Apple Keynote to create the presentations. Like most Apple software it is well designed and easy to use. In my professional work I often use Microsoft PowerPoint, which frankly sucks in comparison. Google Slides is a bit better, but still sucks.

Whilst Keynote has served me well, it is now time for a change. A major reason I create presentations is to learn new subjects — presenting to an audience is a great way to learn. But I have been changing the way I study subjects, and I now try to write an essay about a subject as I learn about it. Writing essays is also a great way to learn — I’ve written about that here. Wouldn’t it be great to be able to combine the two methods — so I can write an essay about a subject, and then automatically turn that essay into a presentation? I’ve found a really good and efficient way to do just that.

For my writing I use the Bear App. It’s a really nicely designed application, which is a joy to use. I’m using it now to write this. One of the great things about it is that it uses Markdown format, which is a simple and open format for formatted text. This opens up lots of opportunities for me:

So my process for creating presentations is now as follows:

  1. Write an essay about the subject.
  2. Illustrate each section of the essay with an image or drawing. I resize and crop the images into a size consistent with my presentation slides.
  3. Once the essay is complete, export it as Markdown and ask ChatGPT to make presenters notes for each section — in other words, a short bullet point list with key words highlighted, and to return it to me as another Markdown file. It does a pretty good job of summarizing each paragraph into just the most important points.
  4. Then I upload that Markdown file into Claude, and ask it to convert it to a revealjs slideshow.

And that’s it! My essay is converted to a presentation. So the end result is I have a nice presentation and an essay, both of which I can easily put online, as they are in web formats already.

This is the prompt I used for Claude to convert the markdown with presenter notes into revealjs:

Can you please convert the uploaded markdown to revealjs, making sure that the presenter notes are enabled and you include the plug-in. The images are the slides, bullet point text after the images are the speaker notes. Keep the formatting in the presenter notes.