
Zwift
Rouvy
Kinomap
TrainerRoad
TrainingPeaks
CyclOSM
Wahoo RGT
Upload a GPX and ride that exact road as a 3D world on your smart trainer, in the browser. No install.

DocRaptor
Turn templates, HTML or Markdown into PDFs, images and e-invoices via API.
Which is more popular?
Website, pricing, platforms and company facts side by side.
|
|
|
|
|---|---|---|
| Website | cycloscape.com | dynamicdocumentapi.com |
| Pricing | ||
| Platforms | — | |
| Company | Startup from Spain · 1 - 9 employees · 2026 | — |
| Listed in |
In their own words, as submitted to SaaSHub.


Cycloscape is an indoor cycling app that runs entirely in a web browser. Upload a GPX file — from Strava, Garmin, Komoot, Wahoo or any route planner — and it generates a 3D world from that exact road: the distance, the climbs, the gradient and the terrain around them. It talks to hardware...
Dynamic Document API renders PDFs and images from your own templates, from HTML and CSS or from Markdown. Use it through a REST API, SDKs for Node and Python, Zapier, Make and n8n, or an MCP server for AI agents like Claude and ChatGPT. It also creates validated e-invoices (XRechnung, ZUGFeRD /...
How often each product is chosen within a category, 0–100% relative to the other.


As answered by people managing Cycloscape and DynamicDocumentAPI.
Cycloscape's answer
Cycloscape started from a mismatch. Indoor cycling had become very good at simulating riding — the physics, the trainer control, the fair racing — and remained almost uninterested in where you ride. Every platform offers its own worlds, beautifully built and entirely fictional, while the road that actually gets a rider onto a trainer in January is usually one they have already ridden, or one they are about to.
So the founding idea was to invert it: make the route the input rather than the product. If any GPX can become a rideable world in seconds, a cycling world stops being something a studio ships and becomes something anyone uploads — the YouTube of cycling routes rather than the Nintendo of them.
Three decisions followed and have not moved since. It had to run in a browser, because an installer is a wall between a rider and a road they want to see. The core had to be free, because a platform whose value is other people's routes cannot begin by charging for the upload. And nothing bought could make you faster, because the moment equipment changes your speed the numbers stop meaning anything.
Development began in June 2026. It is early: the physics, the sensors, the group rides and the worlds work; the shared library of routes is only starting to fill.
DynamicDocumentAPI's answer:
Almost every product eventually needs to produce documents, and most teams end up building their own rendering stack: a headless browser, fonts, page breaks, storage and retries. It works until an invoice splits a table row or a certificate shows the wrong date, and then it becomes a support ticket. We built Dynamic Document API to be that layer for them: templates, rendering and delivery as one service, hosted in Europe, treating pagination, fonts and formatting as engineering problems rather than edge cases. When e-invoicing became mandatory for B2B in Germany, we added validated XRechnung and ZUGFeRD output, and with AI agents producing more paperwork, an MCP server followed.
Cycloscape's answer
Cycloscape is a browser application — there is no native client and no game engine runtime.
Next.js 16 (App Router, Turbopack), React 19 and TypeScript, deployed on Vercel. Three.js with React Three Fiber, drei and postprocessing for the 3D world. Terrain is generated procedurally in a Web Worker, and textures ship as KTX2/Basis-compressed GPU textures. Tailwind CSS v4 for the interface. Supabase — PostgreSQL with row-level security, auth, storage and Realtime — for accounts, saved routes, leaderboards and live group rides. LiveKit for live and group ride sessions, with YouTube streaming on top. Stripe for subscriptions. Browser hardware APIs, which are the unusual part: Web Bluetooth for FTMS smart trainers and heart-rate straps, and WebUSB plus Web Serial for ANT+ FE-C sticks — no companion desktop application anywhere in the chain. GPX parsing with fast-xml-parser; TopoJSON and Natural Earth data for maps.
DynamicDocumentAPI's answer:
Rendering runs in Rust workers that drive headless Chromium over the DevTools protocol, with MiniJinja for templates. The API and control plane are built with Django and Django REST Framework, with Celery, PostgreSQL, Valkey and NATS JetStream for queues and events, and S3-compatible object storage for files. PDF/A output is checked with veraPDF and e-invoices with the official KoSIT validator. The dashboard and website are built with Next.js. Everything runs on Kubernetes in data centres in Germany.
Cycloscape's answer
Cycloscape is a consumer product used by individual cyclists rather than by companies, and it launched in 2026 — so there is no list of named business customers to give.
DynamicDocumentAPI's answer:
Dynamic Document API is a young product. Our users are mostly developers and small SaaS teams, and we don't name customers without their permission.
Cycloscape's answer
Cycloscape builds the world from your route, instead of asking you to ride someone else's.
Every other indoor cycling app ships a fixed set of worlds a design team built, and your job is to ride them. Cycloscape inverts that. You drop in a GPX file — the climb you did last summer, the col you are training for, the road you grew up on — and it procedurally generates that exact road as a 3D world in seconds. The distance, the gradient, the climbs and the terrain around them all come out of your file.
It does this in a browser tab. No download, no installer, no minimum GPU, so it runs on a work laptop, a Linux machine or a Chromebook. And it still reaches your hardware: Bluetooth FTMS trainers and heart-rate straps over Web Bluetooth, ANT+ FE-C trainers through a USB stick over WebUSB or Web Serial, with no companion desktop app. That last part matters more than it sounds — an ANT+-only trainer that browser apps normally cannot see will still work.
The core is free permanently, not as a trial: unlimited rides from any GPX, every built-in world, full sensor support, group rides, leaderboards and achievements.
DynamicDocumentAPI's answer:
It covers the whole path from data to finished document in one API: you design a template in a visual or HTML editor (or send raw HTML, CSS or Markdown), send JSON, and get a PDF or image back. The same service also creates e-invoices (XRechnung, EN 16931, Factur-X / ZUGFeRD) that are validated against the official rules before they are returned, and can embed them in the PDF. Rendering is deterministic: the same template and data always give the same document, laid out by a headless browser, with no AI model generating content. Everything runs in the EU (Germany). It also ships an MCP server, so AI agents like Claude and ChatGPT can render documents directly.
Cycloscape's answer
Three reasons — and one honest reason not to.
You can ride your own roads. Zwift does not let you ride an arbitrary personal GPX at all; it recreates selected climbs that Zwift chooses. Rouvy accepts an upload but turns it into an auto-generated map view. TrainingPeaks Virtual and Biketerra do let you upload. Cycloscape turns any GPX into a full 3D world in seconds, with no limit on how many.
Nothing to install, and it still talks to your trainer. Of the established apps only Biketerra also runs in a browser, and Biketerra is Bluetooth-only by its own FAQ. Cycloscape adds browser-native ANT+ through a USB stick, so an ANT+-only trainer works with no desktop bridge application.
Price, and fairness. Riding is free and unlimited; Zwift is $19.99/month and Rouvy €19.99/month. And nothing you can buy makes you faster — kits, colours and unlocks are purely visual. On Zwift, frame and wheelset choices carry weight and aerodynamic values that measurably change in-game speed.
Where it is the wrong choice: Cycloscape has no workout builder, no FTP test protocol and no training plans. If you want intervals prescribed for you, TrainerRoad is the better tool. It is also not a mass-participation racing platform — if you want a crowded start pen at any hour, that is Zwift.
Competitor figures are each provider's own published statements, checked 26 July 2026.
DynamicDocumentAPI's answer:
Most document APIs do one thing: convert HTML to PDF, or fill templates. Dynamic Document API does both, adds image templates, PDF merging and validated e-invoices, and offers them through a REST API, SDKs for Node and Python, Zapier, Make, n8n and an MCP server for AI agents. Data is processed and stored in the EU only, files come back as signed links that expire, and storing nothing at all is a supported option. Pricing is predictable: one published credit table, the same core features on every paid plan and a spend cap you control. We also publish a render-time benchmark with its method and raw data, so you can check our speed instead of trusting a claim. The free plan includes 50 renders a month without a credit card.
Cycloscape's answer
Cyclists who train indoors and already have a particular road in mind. Four overlapping groups:
Riders with a specific route. Reconnaissance for a gran fondo or a sportive, a col they are training for months out, or a road that simply means something to them. They do not want a fantasy island — they want that climb. People whose computer cannot run a game. A work laptop, a Linux machine, a Chromebook, integrated graphics, or a locked-down machine where installing software is not an option. A browser tab is the entire requirement. Owners of trainers the big apps make awkward. Particularly ANT+-only trainers, which browser-based apps generally cannot reach at all. Clubs, coaches and creators who ride together. Hosting a group ride is one button and a shared link, free — so a club or a cycling YouTuber can put their whole audience on the same road at the same time.
Geographically it skews wherever the big platforms have not modelled the local roads, which is nearly everywhere. The rider it is not built for is the one who wants intervals prescribed and a season periodised: that is a training tool, and Cycloscape is a riding one.
DynamicDocumentAPI's answer:
Developers and product teams whose software has to send documents: invoices after a payment, certificates after a course, reports, labels and statements. Typical users are SaaS companies, marketplaces, e-commerce and learning platforms. A second group are businesses in Germany and the EU that need compliant e-invoices (XRechnung, ZUGFeRD) for the German B2B e-invoicing mandate and public-sector buyers. No-code builders use it through Zapier, Make and n8n, and teams building AI agents use the MCP server.
Share your experience with using Cycloscape and DynamicDocumentAPI. For example, how are they different and which one is better?
When comparing Cycloscape and DynamicDocumentAPI, you can also consider the following products.

Turn indoor cycling workouts into fun, social adventures
Compare Zwift to Cycloscape or DynamicDocumentAPI:

As the only API powered by the Prince HTML-to-PDF engine, DocRaptor provides the best support for complex PDFs with powerful support for headers, page breaks, page numbers, flexbox, watermarks, accessible PDFs, and much more
Compare DocRaptor to Cycloscape or DynamicDocumentAPI:

ROUVY Workouts app allows you to compete in a virtual cycling race to train yourself without going outdoor using advanced virtual reality features.
Compare Rouvy to Cycloscape or DynamicDocumentAPI:

Kinomap app enables you to view videos to get guidelines about how to get into the perfect shape right through their mobile phone.
Compare Kinomap to Cycloscape or DynamicDocumentAPI:

Cycling's most effective training system. Structured workouts, proven training plans, and easy-to-use ride analysis tools.
Compare TrainerRoad to Cycloscape or DynamicDocumentAPI:

Achieve your goals with training plans, coaches, and a powerful fitness app for triathlon, cycling and running.
Compare TrainingPeaks to Cycloscape or DynamicDocumentAPI: