---
title: Writing — page 16 — Luke Oliff
description: Page 16 of posts on developer relations, voice AI and developer experience.
canonical: https://lukeocodes.dev/blog/page/16
type: website
locale: en_GB
robots: noindex, follow
feed: https://lukeocodes.dev/rss.xml
search: https://lukeocodes.dev/search.json?q={query}
schema:
  - "@context": https://schema.org
    "@graph":
      - "@type": WebSite
        "@id": https://lukeocodes.dev/#website
        url: https://lukeocodes.dev
        name: Luke Oliff
        alternateName: lukeocodes
        inLanguage: en
        publisher:
          "@id": https://lukeocodes.dev/authors/luke#person
        description: Personal blog and writing by Luke Oliff — developer relations, voice AI, developer experience.
        potentialAction:
          - "@type": SearchAction
            target:
              "@type": EntryPoint
              urlTemplate: https://lukeocodes.dev/blog/search?q={search_term_string}
            query-input: required name=search_term_string
      - "@type": Person
        "@id": https://lukeocodes.dev/authors/luke#person
        name: Luke Oliff
        url: https://lukeocodes.dev/authors/luke
        description: Engineer and developer relations leader. Writing about developer relations, AI, and the voice industry, from the UK.
        mainEntityOfPage: https://lukeocodes.dev/authors/luke
        givenName: Luke
        familyName: Oliff
        image: https://lukeocodes.dev/authors/luke.jpg
        jobTitle: Engineer and developer relations leader
        sameAs:
          - https://www.linkedin.com/in/lukeocodes
          - https://github.com/lukeocodes
          - https://bsky.app/profile/lukeocodes.dev
          - https://x.com/lukeocodes
          - https://hashnode.com/@lukeocodes
          - https://dev.to/lukeocodes
        knowsAbout:
          - Developer Relations
          - Developer Experience
          - Voice AI
          - Text-to-Speech
          - Answer Engine Optimisation
          - Search Engine Optimisation
          - Open Source
          - Developer Tooling
          - API Design
          - Speech-to-Text
          - Voice Agents
          - Community Building
        knowsLanguage:
          - English
        nationality: British
        alumniOf:
          - "@type": Organization
            name: The Open University
---

[Luke Oliff.](/)

- [Blog](/blog) (current page)
- [CV](/cv)
- [Uses](/uses)
- [User manual](/user-manual)
- [Living with ADHD](/living-and-working-with-adhd)
- [RSS](/rss.xml)

Luke Oliff · Blog

# Writing.

Original posts, published first on this site. Imported posts live in the [archive](/archive).

- [Search](/blog/search)
- [AI (53)](/blog/category/ai)
- [API Design (13)](/blog/category/api-design)
- [APIs (23)](/blog/category/apis)
- [Career (11)](/blog/category/career)
- [Community (1)](/blog/category/community)
- [Developer Experience (53)](/blog/category/developer-experience)
- [Developer Relations (6)](/blog/category/developer-relations)
- [Engineering (124)](/blog/category/engineering)
- [Fun (1)](/blog/category/fun)
- [Git (13)](/blog/category/git)
- [Industry (32)](/blog/category/industry)
- [JavaScript (7)](/blog/category/javascript)
- [Latency (2)](/blog/category/latency)
- [Models (2)](/blog/category/models)
- [News (21)](/blog/category/news)
- [Open Source (20)](/blog/category/open-source)
- [Opinion (35)](/blog/category/opinion)
- [Pricing (1)](/blog/category/pricing)
- [Security (11)](/blog/category/security)
- [Speech-to-Text (9)](/blog/category/speech-to-text)
- [Streaming (4)](/blog/category/streaming)
- [Text-to-Speech (29)](/blog/category/text-to-speech)
- [TIL (113)](/blog/category/til)
- [TypeScript (1)](/blog/category/typescript)
- [Voice Agents (7)](/blog/category/voice-agents)
- [Voice AI (74)](/blog/category/voice-ai)

273 posts

**2026**

- [Sunday roundup: API design, I/O, Anthropic](/sunday-roundup-may-18-24-2026) (May 2026 · Original · Developer Experience): One post on voice API design in a week when Google I/O and Anthropic's London event reshaped AI. The roundup for May 2026.
- [5 API design decisions that shape voice AI dev experience](/5-api-design-decisions-shape-voice-ai-devx) (May 2026 · Original · Developer Experience): Error payloads, streaming edge cases, and latency limits all shape how developers interact with voice APIs. Here are five patterns I have seen matter most.
- [Testing 10 languages with one macOS command](/testing-10-languages-macos-say) (May 2026 · Original · TIL): The macOS say command generates speech in ten languages. I used it to test a multilingual STT model without installing any audio tooling.
- [Five SDKs, one streaming API: a maintenance retrospective](/five-sdks-one-streaming-api-maintenance-retrospective) (May 2026 · Original · Developer Experience): Maintaining five SDKs for one streaming voice API taught me things about developer experience that no spec review ever could. Here is what I learned.
- [What nobody tells you about audio in speech-to-text](/what-nobody-tells-you-about-audio-speech-to-text) (May 2026 · Original · Developer Experience): Production speech-to-text lives or dies on the audio: sample rate, encoding, channel mixing, chunk size. The docs skip it, so here is what matters.
- [TIL: Testing speech-to-text with curl](/til-stt-curl) (May 2026 · Original · TIL): One curl command transcribes audio through any REST-based STT API. No SDK, no imports, just your audio file and an API key.
- [Voice AI APIs Converged Into Single-Call Platforms](/voice-ai-apis-single-call-platform) (May 2026 · Original · Voice AI): The week of May 11, 2026, three separate announcements pushed voice AI from multi-service pipelines toward unified single-call APIs.
- [Sunday roundup: four posts on audio debugging and work culture](/sunday-roundup-may-11-16-2026) (May 2026 · Original · Developer Experience): Four posts from the week of May 11 in one Sunday roundup: afinfo, speaker diarization, Slack culture on remote teams, and ffmpeg for voice AI.
- [5 SDK anti-patterns I keep fixing in voice AI](/5-sdk-anti-patterns-voice-ai) (May 2026 · Original · Developer Experience): Maintaining SDKs across five languages taught me the same mistakes appear every time. Here are the five patterns I'd redesign first, and why they matter for voice
- [ffmpeg taught me more about voice AI than the docs did](/ffmpeg-voice-ai-debugger) (May 2026 · Original · Developer Experience): The first time I debugged a voice AI integration, ffmpeg saved me. It is still the most useful tool in my kit, and it is not even designed for voice.

Page 16 of 28. [← Newer](/blog/page/15) · [Older →](/blog/page/17)

[Browse the archive →](/archive)

## Search this site

`GET https://lukeocodes.dev/search.json?q=<words>` returns matching posts as JSON, each with its page URL and its markdown URL. Add `&limit=<1-50>` for more than 10. How it works: [/blog/search](https://lukeocodes.dev/blog/search.md).

```sh
curl "https://lukeocodes.dev/search.json?q=developer+relations"
```

---

© 2026 Luke Oliff. Posts live at the root of this site.

- [GitHub](https://github.com/lukeocodes)
- [LinkedIn](https://www.linkedin.com/in/lukeocodes)
- [X](https://x.com/lukeocodes)
- [Bluesky](https://bsky.app/profile/lukeocodes.dev)
- [Email](mailto:luke@lukeoliff.com)
- [RSS](/rss.xml)

## Cookies

This site sets one analytics cookie, from Google Analytics, and only in a browser that accepts the cookie banner. A client that does not run scripts sets no cookies, so there is nothing to accept or decline here.

[Cookie policy](/cookies)
