Creating presentations with markdown and generative AI
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:
- ChatGPT and other Chat AI systems use and understand Markdown, so I can upload my essay and ChatGPT can error check it, convert it to other formats, or whatever I want.
- I can easily copy the essay to my website, which also uses the Markdown format.
So my process for creating presentations is now as follows:
- Write an essay about the subject.
- 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.
- 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.
- 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.