<- Back to all posts

Introducing Ditto's API and Developer Integrations

Jessica Ouyang
|
March 15, 2021

Since the beginning, Jo and I have built Ditto with the core beliefs that (1) copy is paramount to building great product and (2) that it's end-to-end. Even though the process today often doesn't look like it — a patchwork of the same text pasted between mockups, docs, spreadsheets, development, tickets, and translation tools — we think how teams work on text can (and should!) be seamless.

That's why we're excited to launch our API and developer integrations, which allow engineers to fetch up-to-date copy directly into development. This means a single source of truth for product text, from design all the way to production.

How it works

With our developer integrations, engineers only have to integrate copy once — and can pull copy into development in parallel with the drafting and design processes. Our CLI also enables teams to automate their copy workflow, pulling in copy edits on builds or deploys.

The first release of our API and developer integrations has one core functionality: updating development with the latest copy. It functions in 3 core parts:

  1. Developer Mode — turning on Developer Mode for a project generates unique identifiers for all text, frames, and blocks in the project. You can also rename IDs to best fit your development workflow.
  2. API/CLI — with our CLI, developers only need to type "ditto-cli pull" to immediately pull down the latest text (and metadata!) from their project
  3. (Bonus!) React SDK — although teams can build a robust copy workflow with just (1) and (2), we've also released a React SDK to quickly and easily pull the text from our generated JSON directly into front-ends for teams running on React. Just specify relevant IDs and you're good to go!

What's next?

Our developer integrations are shaped immensely by what we heard and saw teams using Ditto — real product and engineering teams! — doing to integrate the text from Ditto into development. From teams that spent their hackweeks building Javascript libraries just to pull in text from Ditto JSON exports (🤯) to teams that tested out our initial Github app (thank you! 🙏), what we saw over and over again was the desire for solutions that treated text as an entity, one with structure and hierarchy, rather than a piece-meal solution of opening PRs for diffs of scattered product text.

We know there's a ton of room for us grow, and we're excited for what's next. From variable support to internationalization, we're looking to build out Ditto as the infrastructure for product text. We've open-sourced our CLI and React SDK under an MIT license, and they've available to download through npm and yarn. If you see a way Ditto could better fit into your workflow, we'd love to hear.

Developer Community

Our own team loves being a part of developer communities, and the support(?) that happens from people building upon and improving the same framework.

We're excited to build the same with our own developer integrations — and learn from all the ideas and feedback. We've set up a Slack community for developers using Ditto. If you have any questions about our developer integrations or just want to learn more, come say hi here! 👋

Copy is teamwork

Writing, delivering, and implementing copy is an enormous part of shipping great product — and it's overwhelmingly a team effort. It takes time and energy to think about the words users see and to the processes involved to make it happen.

Copy being end-to-end makes working on it especially challenging. Aligning team members across so many disciplines and contexts isn't easy, and we're so thankful for all individual writers and designers and developers that have advocated for Ditto and for a better way of doing things.

In short, we want to give time back to product teams to enable them to deliver their best work faster. Time back to designers and writers that currently have to file and follow up with tickets to make copy changes in production, and time back to developers to allow them to build in parallel with design and future-proof product copy.

Getting Started

In case you couldn't tell, we're beyond excited about our developer integrations.

You can get started by following the instructions in our developer documentation. Getting set up to sync text end-to-end shouldn't take more than 10 minutes!

For more help,

  • To get a demo of our developer integrations, click here
  • To join our developer community, click here

Happy editing! 😊