Spokenword
A stage-ready iOS toolkit for slam poets.
iOS 17+ · iPhone · Zero Dependencies · 100% On-Device
I'm a slam poet.
Spokenword is the app I needed and couldn't find. It started with one thought: wouldn't it be wonderful to perform your poem and see how much time you had remaining, at the same time, on the same screen?
The App






Why I Built This
That sounds small. It isn't. Every slam poet knows the moment when you've lost track of the clock and you can feel the penalty ticking. This app was built from that single, simple concept.
The version problem came next. I perform the same poem in different contexts: three minutes for a slam, two minutes for rapid-fire, with stanzas removed or added depending on the emotional arc I want to share that night. Each version needs its own identity, its own rehearsal history, its own notes. And after a performance, you have maybe five minutes before the memory starts fading. What landed, what didn't, what you changed in the moment without thinking. I needed to capture that before it was gone.
That got me thinking: could I bring data analytics to rehearsal? I wanted to record runs, play them back, and actually compare them. Not just listen, but understand: am I saying this the same way each time, or differently? Where do I rush? Where do I drift? That whole feature set, the pause maps, the consistency scores, the transcript diff, all of it runs entirely on-device. No data leaves your device. Ever.
The annotation system came from the same place. Sheet music tells a musician where to breathe, where to swell, where to pull back. I wanted that for spoken word. And when I record a rehearsal, I want to know: did I actually execute those marks, or did I perform a different poem to the one I planned?
The learning aspect is the one I feel most strongly about. I was never taught rhetoric at school. I still couldn't have named most of the techniques I was using. But I was using them, instinctively, every time I performed: anaphora, tricolon, volta. What this app can do is name them, show you where they live in your own work, and give you the language to deploy them deliberately. You layer the techniques, you see what you're building, and you get better at doing it on purpose.
There's also the question of scale. Imagine a prolific poet with hundreds of poems across years of work. This has to handle that cleanly, and let you export and back up on your own terms. Your work is yours. Nothing gets lost.
"Spokenword is a vehicle for learning. I hope it supports your journey the way building it has supported mine."
Core Features

Slam Timer
Colour-coded zones visible in peripheral vision: green (safe), orange (warning at 2:30), red (grace period at 3:00), flashing red (penalties at 3:10+). Progressive haptic feedback at configurable checkpoints so the performer can feel the time without looking at their phone. Configurable for 2-min rapid-fire, 3-min standard, 5-min features, and custom formats. Lap tracking and run history included.

Poem Library
Version branching: Slam Cut, Clean, Extended, Workshop, and Feature variants all live under one parent poem. Each version carries its own rehearsal history, target duration, and annotations. Collections for grouping. Tagging, status progression from Draft through Practice to Performance Ready, and flexible filter and sort controls.

Poem Editor
Three editing modes in a single view: Text mode with Find and Replace for writing and editing; Marks mode for applying performance annotations inline; and Scansion mode for syllable-level stress marking. Switch between modes without leaving the poem.
Import and Export
Import .txt, .rtf, and .md files directly from Files. Paste from clipboard with smart title extraction from the first line. Batch export all poems. Full share sheet integration for sending individual poems or versions.

Performance Screen
Two modes from one screen. Stage mode: true black OLED background (#000000), wakelock to keep screen on, auto-scroll, and an ambient colour border for the timer. Rehearsal mode: lap tracking, per-line comments, and a recording LED indicator when audio capture is active.

Setlist Builder
Drag-and-drop reordering for multi-round competitions. Per-entry version selection: use the Slam Cut for round one and the Extended for the feature. Cumulative time calculated from rehearsal averages. Set complete view shows the full programme at a glance.

Performance Journal
Log audience vibe at four levels after every set. Generate a shareable performance card: dark navy and gold, 1080x1080 PNG, ready for social. Tracks which poems work at which venues over time.
The Annotation System
Musicians have sheet music: dynamics, tempo, articulation, breath marks. Spoken word performers have had margin notes and underlining. I wanted to close that gap.
Three annotation layers render inline with the poem text during rehearsal and on stage.
Scansion
Syllable-level stress patterns. Tap a word to expand into its syllables, then tap each syllable to mark stressed (/), unstressed (x), or caesura (//) for deliberate pauses. Rendered as coloured superscript inline with the text. Gold for stressed syllables, gray for unstressed, red-coral for caesura.
Performance Marks (22 delivery directions)
Six colour-coded categories. Marks visually transform word appearance inline: bold for volume, tight tracking for speed-up, superscript arrows for pitch.
Pause
Short Pause, Long Pause, Caesura, Breath
Pace
Speed Up, Slow Down, Drag, Rush
Pitch
Rise, Fall, High, Low
Volume
Louder, Softer, Whisper, Shout
Gesture
Gesture, Eye Contact, Movement, Still
Structure
Emphasis, Anchor, Transition, Callback
Rhetoric Analysis (12 techniques)
A dedicated analysis screen for marking structural and persuasive devices across the full poem.
Interactive Tutorial (16 pages)
A guided tutorial teaches the full annotation system from first principles, with exercises. Accessible from Settings and from within the annotation screens.
"I haven't found an equivalent in any existing app. This was the feature that justified building a dedicated tool rather than just using a notes app with a stopwatch."
Rehearsal Intelligence
All six analytics features run entirely on-device. No network requests, no server, no data leaving the device.
Run Consistency Score
Standard deviation across run durations for a poem version, surfaced as a Tight, Moderate, or Variable rating with a trend arrow showing whether consistency is improving.
Pause Map
Silence detection plotted on a waveform timeline. Duration-coded markers distinguish natural beats from unintended hesitations. Compare pause patterns across multiple runs.
Volume Envelope
RMS loudness contour across the full recording. Multi-run overlay lets you compare how consistently you deliver dynamics. Cross-reference with annotation marks.
Speaking Rate
Words per minute via speech recognition, tracked in a 15-second rolling window. Sections above 150 WPM are flagged as rushing so you can identify where you lose control.
Transcript Diff
LCS alignment of written text versus what was actually spoken. Consistent deviations across runs are flagged as unconscious rewrites — words your mouth knows better than your draft.
Annotation vs Actuality
Compares planned marks against measured audio data. Shows how many of your intended delivery choices you actually executed: "You executed 7 of 12 planned marks."
Frameworks: AVFoundation, SFSpeechRecognizer, NaturalLanguage.
Technical Architecture
Architecture
SwiftUI + @Observable, environment-based dependency injection
Dependencies
Zero. Pure Apple frameworks only
Platform
iOS 17+, iPhone
Audio
AVFoundation: AAC 128 kbps mono recording, RMS analysis, waveform rendering
Haptics
CoreHaptics: progressive timer feedback, pre-pooled pattern generators
Persistence
Codable JSON to UserDefaults. All data on-device, no network requests
Speech + Language
SFSpeechRecognizer for transcript and rate analysis; NaturalLanguage for diff alignment
Text Rendering
TextKit2 for inline annotation rendering — marks transform word appearance without reflow
What's Next
The longer ambition is coaching. Right now Spokenword can show you the rhetoric in your own work, name it, help you see it. The next step is active guidance: recognising patterns across your poems, flagging where a technique would land, suggesting what to do differently. The app as a creative collaborator, not just a performance tool.
- +TestFlight beta with working slam poets
- +iCloud sync across devices
- +Memorisation scaffolding: first-letter text reduction mode for learning poems off-script
- +Bluetooth foot pedal support for hands-free page advancement on stage
💭 Share Your Feedback
Played Spokenword? I'd love to hear what you think - it takes under a minute.
Give FeedbackYour feedback is collected securely via Google Forms.