When you know how to write a single page app with your UI framework of choice, you basically already know how to create a Capri site. There are no new APIs to learn.
You have to make sure though, that the libraries you use for data fetching and routing provide an option for SSR usage, which most of the popular ones do anyway.
Here a some detailed instructions for the different frameworks that Capri supports: