The Death of PowerPoint: Why I Code My Lecture Slides
I stopped using PowerPoint, Keynote, and Google Slides this semester and now code my lecture slides in HTML with an AI assistant. It's faster and more enjoyable, and this post shows how to make the switch.

This semester, I stopped using presentation software entirely. No PowerPoint. No Keynote. No Google Slides. Everything I present is now coded in HTML using reveal.js, and I build it with AI coding assistants.
Over the past year, I gradually moved more of my lecture content to HTML, from a few slides here and there up to whole lecture sections and then entire decks. This semester I made the full switch, and I haven’t missed PowerPoint.
The Problem with Presentation Software
PowerPoint was designed in the 1980s for business presentations. Keynote made it prettier and Google Slides moved it to the cloud, but they all share the same fundamental problems. Content gets trapped inside a proprietary format. Try comparing two versions of a deck, or merging your colleague’s edits with yours. You spend more time fighting the layout engine than writing content. And version control is impossible: lecture_v3_FINAL_v2_ACTUALLY_FINAL.pptx, sound familiar?
I used to accept all of this as normal. Then I started coding my slides, and I realised how much time I’d been wasting. What used to take me a full day, a week’s worth of lecture materials, now takes me less than an hour.
What I Do Instead
My lecture slides are HTML files built with reveal.js, an open-source presentation framework. Each slide is a <section> element, the content is plain text and HTML, the styling is CSS, and the whole thing opens in any web browser. My example layouts all come from the HTML Slides Starter Kit, a free template you can fork and customise. You don’t need to know HTML, or to have ever used it, because an AI assistant writes it for you.
My Workflow: Plan, Generate, Verify
People trying this for the first time often jump straight to “make me slides.” That gives you generic output.
Instead, I start by building a detailed plan with my coding assistant, but I’m the one providing the substance: the topics, the learning objectives, the specific papers, the activities. I also give it everything I have, including old PowerPoint slides, the articles I’m drawing from, reading lists, and my own notes. If you’re like me, you have years of lecture material sitting in folders. Don’t throw that away. Those old decks hold your thinking about how to structure and sequence the material. Give it all to the AI as context, even if the final output looks completely different. Do your thinking at this stage, and revise the plan until you’re satisfied.
Only after the plan is solid do I ask the AI to generate slides. Because it has my detailed brief and all my source material, the output is far better than if I’d just said “make slides about clustering.” I describe what I want in plain English and the AI writes the HTML and CSS. The first output is usually 80 to 90 percent right, and I fix the rest with requests like “make the font bigger” or “change this to a 3-column grid.” I can also show it an example from my old slides and it replicates my style.
I verify every slide the AI generates. LLMs hallucinate citations, so you must check. I click every link and check the content against my plan. This is still faster than building slides from scratch, and more reliable than trusting your own memory to catch every detail in a 200-slide deck.
Why This Is Better
Because my slides live in a git repository, I can see exactly what changed between semesters, branch and experiment freely, and roll back if something breaks. No more _FINAL_v2. Each deck is also a single HTML file, so it opens on any computer, in any browser. I’ve given talks from borrowed laptops without installing a thing. Colleagues can submit pull requests to my slide repo, and I review their changes line by line. Last semester three of us contributed to the same course deck and merged each other’s edits through git.
”But I Don’t Know HTML”
Neither did my students. I teach a course called Practical AI for Behavioural Science to psychology undergraduates, fourth-year students who’ve never written a line of code. One of their assessments is to create a presentation slide in HTML using reveal.js.
They use exactly the same approach: describe what they want to a chatbot, get HTML back, open it in a browser, refine it. The guide I wrote for them takes about 10 minutes to read, and most students have a working slide within 20 to 30 minutes of starting.
Start with a Chatbot, Then Move to VS Code
You can start by pasting prompts into ChatGPT or Claude in your browser. Generating HTML is trivially easy for AI models. HTML and CSS are among the most well-represented languages in every model’s training data. So you don’t need an expensive pro subscription for this, because the free tiers of ChatGPT, Claude, and Gemini are plenty. And if you’re concerned about privacy, you can run a model locally. I explain why that matters in another post.
But if you want to go significantly faster, work directly in VS Code with an AI coding assistant like GitHub Copilot or Claude Code. Learning the basics and setting up a GitHub repository takes about an hour, and you only do it once. I’ll cover exactly how to get started in a separate article.
Common Objections
Most universities have an official PowerPoint template with logos, colours, and branding guidelines. I throw the template into my repo and ask the AI to create a CSS theme file that captures the same branding. The result looks more consistent than most PowerPoint decks using the same template, because CSS applies the branding uniformly to every slide. Nobody has ever complained that my slides weren’t in the official template. If your department still wants a static file, reveal.js can export the themed deck to PDF.
People say it’s faster to just click and type in PowerPoint, and for one slide it may be. A course deck gets updated every semester, though, and in PowerPoint you make each of those updates by hand. Others ask about online slide-building tools like Gamma or Beautiful.ai. They cost money and lock you into their platform, and you still end up pointing and dragging. HTML slides are free, and they work with whichever AI assistant you already use.
The Bigger Picture
This isn’t just about slides. Traditional SaaS tools, the entire ecosystem of subscription software that academics and professionals rely on, are under pressure. The idea that AI agents and coding assistants will replace whole categories of standalone applications has been spreading through early 2026, and as I was writing this, Matt Shumer’s essay “Something Big Is Happening” went viral. I don’t agree with everything in it, but I share its core message that AI will change how we work. In teaching, I expect that to mean more of us building our own materials and tools with AI coding assistants.
I don’t predict that PowerPoint, Keynote, and Google Slides will disappear in the next few years. But I do think people will use them less and less, especially researchers, PhD students, and postdocs, always on the lookout for tools that help them move faster.
Try It
You don’t need to convert your entire course tomorrow. Start small: pick one upcoming presentation, fork the HTML Slides Starter Kit (a reveal.js template, a clean CSS theme, example slides, and a guide for academics who’ve never used VS Code or HTML), replace the placeholder content with your material, and present from your browser within the hour.
If it works for you, and I think it will, you’ll start converting more.
I now use this approach for all my teaching at Macquarie University, including a 13-week course with well over 350 slides across lectures and labs. The course repository is open-source on GitHub. Content is released week by week during the semester. If you want to see what full HTML lecture decks look like in practice, start there.
Michael Richardson Professor, School of Psychological Sciences Faculty of Medicine, Health and Human Sciences Macquarie University
AI Disclosure: I wrote this article with help from AI tools, including Claude. The ideas and the workflow described here are my own. The AI helped me draft and edit the text. I use AI throughout my research and teaching, and I encourage others to do the same. Using AI well is a skill to be learned openly.
The AI models used here, like all current LLMs, were trained on vast quantities of text written by others, largely without explicit consent. Every output they produce draws on the ideas and language of countless researchers and writers. Their labour makes these tools possible, and I want to acknowledge it even where no individual can be credited.