Launch Week Day 4: Upgraded developer tools thumbnail
Product updates

Launch Week Day 4: Upgraded developer tools

Karthik Sethuraman's headshotKarthik Sethuraman
  • November 9, 2023
  • 2 min read

On day 4, we’re excited to share all our developer tool upgrades. We’ve shipped a ton of SDK, client, and API improvements that you can leverage to build the best possible product onboarding and education experiences.

At Dopt, we’re developer-first: this means that we prioritize developer tooling and meeting you where you’re at in your product building journey.

For us, that means:

  • building out rich component and primitive support across frontend frameworks, like React and Next.js, Vue, and plain JavaScript
  • creating first-class Users API and clients so that you can identify and update your users from your backend services and your frontend React code
  • supporting stateful journeys in non-frontend places like CLIs and python services via our new blocks APIs and clients

Developer-first, framework-second

We’re a bit biased, but we think our customers are the best, and they work with a range of frontend frameworks. For our Dopt SDKs, we first built out React support and learned about a number of customer needs in other areas. We’ve since grown to support Vue and all other native JavaScript frameworks, and we’ve kept iterating on these SDKs to offer the best possible developer experience.

Upgraded React SDK

React SDK usage example

We continue to invest in our React SDK, @dopt/react, and just published v4. The React SDK now serves tens of thousands of sessions daily, and we prioritize SDK and API reliability and performance. We focus on the hard problems of user session re-connectivity, initialization and loading times, and rapid state transitions so that you don’t have to.

We also work hard to make sure our React SDK works out of the box with popular meta-frameworks like Next.js and Remix. In the last few months, we’ve made several bundling and packaging improvements to our React components so you can easily pull them into your Next.js and Remix projects and use them with styles or headlessly.

First-class Vue and JavaScript support

If you’re building with Vue, we just published v1 of our Vue SDK, @dopt/vue. The Vue SDK ships with the same reactivity, reliability, and performance guarantees that our React SDK ships with, and we’ve built Vue-focused examples for checklists, tours, and more to help you start developing with our rich composables and primitives.

Vue SDK usage example

That’s not all — if you’re working with Angular, Svelte, Ember, or any other frontend framework, you can reach for our JS SDK, @dopt/javascript. The JS SDK is built with simple Class primitives in JavaScript (or TypeScript) and is the foundation for our two other SDKs. With the JS SDK, you can easily control how you fetch, update, and respond to flow and block states with the exact same performance and reliability as our other SDKs.

APIs and clients wherever you need them

Improved APIs and docs

We’ve also devoted a lot of time to fleshing out our Users and Blocks APIs and building rich clients so that you can identify and update your users and groups and progress their flows from wherever you need.

First, we’re excited to launch our new API reference, api.dopt.com.

Brand new API reference

Built and published continuously from our openAPI specifications, api.dopt.com provides rich and up-to-date information on how to perform every user, group, flow, and block operation that Dopt supports.

For example, if you want to update a group’s payment plan from your backend payments service, you can use our POST users.dopt.com/identify/group API.

Or, if you’d like to complete a block from your backend app service, you can reach for POST blocks.dopt.com/v2/block/:uid/transition API.

We support simple HTTP header based authentication, so you can get up and running in no time.

Brand new JavaScript and Python clients

Even more, we’re excited to share our new JavaScript and Python clients! The core of a great developer-experience is providing rich and helpful extensions to APIs, and we believe that our Users (JavaScript, python) and Blocks (JavaScript, python) clients can help you develop across your entire stack. Just like our API reference, these clients are also built and published continuously, and we use them ourselves both within our own product (app.dopt.com) and in all our examples.

Python usage example

For example, in your own Python CLI, you could easily progress a block based on user input and subsequently fetch the user’s updated state.

Using our APIs and Clients, you can truly build across-the-stack experiences starting from the backend and ending in the browser (see a full example here →).

Next steps

Dopt’s SDKs, APIs, and clients help you build better product onboarding and education.

Get started with Dopt for free by signing up →