Outline in · slides out
Talk·Weaver
Write your talk as an outline. Present it as polished slides.
Free and open source (MIT) · no account · your talks stay on your computer until you choose to publish them.
What TalkWeaver does
TalkWeaver is a desktop app for people who give talks. You write the talk as a Markdown outline, and every heading becomes a slide as you type. Each slide gets a designed layout, which you can change from the keyboard. When you present, you have a presenter view with notes and a clock, a pen, live polls and reactions for the room, and a venue screen for computers you cannot plug into. Afterwards you can record, transcribe and publish a handout from the same outline.
Features
Writing and slide design
Write the talk as a Markdown outline. Every heading becomes a designed slide as you type.
Presenting
A presenter view with notes and a clock, the QR code from any slide, and slides you make on the spot.
Venue screen and live audience
Show the talk on a venue computer from a link, and ask the room with live polls.
PowerPoint import
Bring existing decks in with their slide structure and embedded videos.
Pathways
Make a shorter or audience-specific version of a talk by ticking slides.
Recording and handouts
Record and transcribe the talk, and publish a handout that works on a phone.
What TalkWeaver does differently
A talk in TalkWeaver is a text outline in a folder, and the slides, the handout and the presenter view are made from it. You do not position images, because the layout places them. You can search the slides of every talk at once, reuse a slide and see where it is used, run polls and record from inside the app, and share a talk as a single HTML file.
More control while you present
A link written on a line of its own as [QR: https://…] becomes a QR code on the slide, and a link typed into an Instant slide during the talk is shown with its own QR code. The first and last slides are made from the talk’s metadata. A countdown or a break timer is a slide you write in the outline or put on screen on the spot, and Share › Handout builds a handout page from the outline without publishing it.
Presenting: QR codes, instant slides, countdowns and the handout page
See an example handout, built from the sample talk shown on this page.
The example is the sample talk exported with Share › HTML presentation. It is one HTML file of about 5.6 MB that opens in any browser and made no network requests when tested. The arrow keys, Space, Home and End move between slides, Overview lists the slides with a search box, and the charts, pictures and the QR code are drawn on the slides. The embedded page is interactive once you click Interact, and Open Presenter View opens a presenter window with a clock.

[QR: https://… | Station survey], and the slide has a QR code.


Tools
Three tool windows inside TalkWeaver, and companion apps that work with the same files.
See the slides it makes
Each example shows the lines written in the outline on the left and the slide TalkWeaver makes from them on the right. All six come from one sample talk, Ten years of public bike hire.
A list with icons
Each item names its icon with {icon=lucide:…} at the end of the line, and {iconlist} under the heading turns the list into rows of icons. An item with no icon named gets none. Insert › Icon opens the icon picker.
### What riders ask for
{iconlist}{id=asks}
- Bikes that are there when I arrive {icon=lucide:bike}
- A safe lane for the whole trip {icon=lucide:route}
- A price I can work out in advance {icon=lucide:pound-sterling}
- A dock near the door {icon=lucide:map-pin}
- Help when something breaks {icon=lucide:wrench}

A list with logos
{logolist} shows a logo beside each name. TalkWeaver finds the logo from the name: it knows well-known products. A name it does not know gets a grey chip with its first letter instead, and you cannot give it a logo file.
### What the analysis used
{logolist}{id=tools}
- OpenStreetMap
- Python
- GitHub
- Slack

A chart from a list of values
A list of label: value lines under {chart=line} becomes a line chart. The line above it is an ordinary paragraph and appears as a note beside the chart.
### Trips have grown every year since 2016
{id=growth}
Steepest rises: 2018, the station opens; 2022, e-bikes arrive.
{chart=line}
- 2016: 0.4
- 2017: 0.7
- 2018: 1.2
- 2019: 1.5
- 2020: 1.3
- 2021: 1.8
- 2022: 2.4
- 2023: 2.7
- 2024: 2.9
- 2025: 3.1

A photo gallery
Each picture is one line with its caption in quotation marks. {image-grid} lays the pictures out, and no size or position is written.
### Three kinds of station
{image-grid}{id=gallery-three}




A QR code from one line
A link on a line of its own, written as [QR: link | label], becomes a QR code in the corner of the slide, with the address under it.
### Take the survey
{id=survey}
Tell us where the next ten stations should go.
[QR: https://example.org/bike-hire/survey | Station survey]

Big numbers
{stats} turns lines of number · label into large figures in a row.
### Three numbers to remember
{stats}{id=numbers}
- 3.1m · trips in 2025
- 412 · bikes in service
- 7 min · median trip time

New in 0.42
- Browse vaults by folder or as a gallery of title slides, with details available when you need them.
- Keep candidate slides and visuals in the Slide Scratchpad, or set slides aside and bring them back later.
- Search slide contents, see thumbnails appear progressively, and move around the slide grid.
- Interact with embedded web pages while presenting and save views on a Mac.
Also in 0.41
- Give a session pre-work and post-work. Each is written in a work file in your vault, and Plan a run attaches the files to a session.
- Publish three pages for a Run: the handout, a pre-work page and a post-work page. The answers come back to the Run page in Sessions.
- Every slide layout is restyled. The default title is now the index tab, so a deck that does not set a title look changes appearance when you upgrade.
- Choose the new
tab-striporintro-then-nonetitle look for a deck. - Undo after a save is one step, and the slide ids stay.
- Find images beside the editor with ⌘⇧I: the image drawer has three tabs: SlideWell, PowerPoint Imports and TalkWeaver Vaults. The last finds pictures already in your vaults, without SlideWell. ⌘↵ or a drag puts a picture at the caret.
- Reuse a slide from an old PowerPoint, from the drawer’s PowerPoint Imports tab, as an editable slide or as a picture.
Download TalkWeaver
TalkWeaver runs on Macs with Apple Silicon and on 64-bit Windows. It is free, and there is nothing to sign up for. On Windows, publishing and going live with a real Cloudflare account has not been tested.