On the screen
Building blocks and outside APIs
Plenty of features are quicker to plug in than to build: a rich text editor, a chart, a flow diagram, a command menu, a toast message. These building blocks are open-source libraries that drop into an app and handle the fiddly details, such as keyboard handling, accessibility and rendering speed, that take a long time to get right.
Outside APIs are the other half: data and services on someone else's servers, such as files in Google Drive, repositories on GitHub, film and anime catalogues, or booking pages. They save building a database from scratch, but come with keys, rate limits, attribution rules and terms that decide whether commercial use is allowed.
14 terms · 2 comparisons · prices checked September 2026
14 terms, click any to open
Editors
TipTap
LibraryOpen sourceAn open-source toolkit for building rich text editors, the kind with bold, headings, lists, links and images, which you style and extend to fit your app.
TipTap is built on ProseMirror, a well-tested editing engine, and wraps it in a friendlier API for React, Vue and plain JavaScript, with guides for other frameworks. It is headless: there is no built-in toolbar or styling, so the editor looks like the rest of your app. Each feature (headings, tables, mentions, slash commands, code blocks) is an extension you add or write, and documents are saved as structured JSON or as HTML.
Rich text editing is notoriously hard to build from scratch (selection, undo, pasting from Word, mobile keyboards), and that is the work TipTap takes on. Real-time collaboration, with several people editing one document and seeing each other's cursors, runs on Yjs: you can host the open-source Hocuspocus server yourself or pay for the Tiptap Platform, which adds comments, version history, document conversion and AI editing tools.
Pros
- Headless, so it matches your design instead of imposing one
- Many ready-made extensions, and custom ones are straightforward
- Stores clean JSON or HTML that is easy to render and search
- Real-time collaboration through Yjs, self-hosted or managed
Cons
- You build the toolbar and menus yourself
- Some advanced extensions and hosted features need a paid plan
- ProseMirror ideas (schemas, transactions) take time to learn
Pick it when
- Blog, notes, comment or CMS editors inside your own app
- Collaborative documents with live cursors
- Custom blocks such as mentions, embeds or callouts
Skip it when
- Users edit code or plain text (CodeMirror fits better)
- A plain text box with Markdown is enough
What it costs · Open source
The editor is free (MIT). The hosted Tiptap Platform (collaboration, comments, AI) starts at about $49 a month, with a 30-day free trial.
TipTap pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: Tiptap, rich text editor, WYSIWYG editor, ProseMirror, Hocuspocus
CodeMirror
LibraryOpen sourceAn open-source code editor for web pages, with syntax highlighting, autocomplete, search and multiple cursors, light enough to embed anywhere.
CodeMirror 6 is built from small modules: language support, themes, linting, autocompletion and key bindings are all extensions you add. Highlighting uses Lezer, an incremental parser that re-reads only what changed, so large files stay responsive, and the editor was designed with touch screens and screen readers in mind. Its author, Marijn Haverbeke, also created ProseMirror, the engine under TipTap.
The main alternative is Monaco, the editor from VS Code, which brings more IDE features out of the box but is heavier and does not support mobile browsers. CodeMirror suits code playgrounds, SQL consoles, config editors, Markdown source editing and in-app scripting. It edits plain text; for formatted documents with bold and images, a rich text toolkit such as TipTap fits instead.
What it costs · Open source
Free (MIT).
Approximate, checked September 2026.
Related
Also called: CodeMirror 6, code editor, Lezer, web code editor
Charts
Recharts
LibraryOpen sourceA popular React charting library where you build line, bar, area and pie charts by combining components, much like writing HTML.
A chart is written as JSX: a LineChart containing an XAxis, a YAxis, a Tooltip, a Legend and one Line per series, fed an array of objects. It renders SVG, so charts stay sharp at any size, take CSS styling and resize with ResponsiveContainer. It borrows parts of D3 for the maths without making you learn D3, and the chart components in shadcn/ui are built on it.
SVG means one page element per point, bar or label, so charts slow down with many thousands of points or rapid live updates; Canvas-based libraries such as uPlot cope better there. For typical dashboards, reports and admin screens it is a comfortable default.
What it costs · Open source
Free (MIT).
Approximate, checked September 2026.
Also called: React charts, recharts.js, React chart library
uPlot
LibraryOpen sourceA small JavaScript chart library that draws time series and line charts on a canvas, built to stay quick with large or live-updating data.
uPlot draws with the Canvas 2D API instead of creating SVG elements, and the whole library is about 50 KB minified. That keeps large data sets and live streams responsive, with smooth zooming and hover readouts. It supports multiple series and y-axes, time zones, bands, stacked areas, cursors synced across several charts, and plugins through hooks.
It is deliberately minimal: no animations, no data processing, and a lower-level API built on an options object. It is framework-agnostic, with small community wrappers for React, Vue and Svelte. It suits monitoring dashboards, sensor and trading charts and analytics views where an SVG library would bog down; for pie charts and decorative visuals, other libraries are friendlier.
What it costs · Open source
Free (MIT).
Approximate, checked September 2026.
Related
Also called: μPlot, time series chart, canvas chart
Vico
LibraryOpen sourceA chart library for Kotlin apps that draws line, column and pie charts natively in Jetpack Compose, Compose Multiplatform and the Android view system.
Vico draws with the platform's own graphics rather than a web view, so charts scroll, animate and follow the app's theme, including Material 3 colours. It covers Cartesian charts (line, column and candlestick layers, which can be combined in one chart) and pie charts, with axes, markers that show values on touch, zooming and scrolling through long series.
It began as an Android library with separate modules for Compose and classic views, and now also targets Compose Multiplatform, so the same chart code can run on iOS, desktop and the web. It is the native counterpart to web libraries such as Recharts, suited to fitness, finance and usage screens in mobile apps.
What it costs · Open source
Free (Apache 2.0).
Approximate, checked September 2026.
Related
Also called: Vico charts, Compose charts, Android charts
Interface pieces
React Flow
LibraryOpen sourceA React library for node-based interfaces: diagrams, flowcharts, workflow builders and pipelines where users drag boxes around and connect them with lines.
You give React Flow a list of nodes (with positions) and edges (which node links to which), and it renders an interactive canvas with dragging, zooming, panning, selection, a minimap and controls. Each node is an ordinary React component, so it can hold forms, charts or buttons, and handles mark where connections may start and end. It is made by xyflow, which also publishes Svelte Flow.
Common uses are automation and workflow builders, AI agent editors, data pipelines, mind maps and org charts. It does not arrange nodes by itself; layout libraries such as dagre or ELK calculate positions. Very large graphs with rich nodes need care (simple node components, memoisation) to stay smooth.
What it costs · Open source
Free (MIT). An optional React Flow Pro subscription adds advanced examples, prioritised issues and direct support from the maintainers.
React Flow pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: xyflow, @xyflow/react, node editor, flowchart library, Svelte Flow
cmdk
LibraryOpen sourceA small React component for command menus, the search box that opens with Cmd+K or Ctrl+K and lets users jump to any page or action by typing.
cmdk supplies the behaviour and leaves the looks to you: an input, a list of items and groups, filtering and ranking as the user types, arrow-key navigation and the roles screen readers need. It renders inline or inside a dialog (built on Radix UI's Dialog), can double as an accessible combobox, and each item can run any function, such as opening a page, switching the theme or creating a record.
It is the engine behind the Command component in shadcn/ui, so many React apps use it without knowing. Command menus speed up large apps for regular users, but they add to navigation rather than replace it, because newcomers rarely know the shortcut exists.
What it costs · Open source
Free (MIT).
Approximate, checked September 2026.
Also called: command menu, command palette, Cmd+K menu, Ctrl+K
Sonner
LibraryOpen sourceA React library for toasts, the small messages that slide in to say 'Saved' or 'Something went wrong' and then disappear on their own.
You place one Toaster component near the root of the app and call toast('Saved') from anywhere, even outside React components. It has success, error, loading and custom toasts, action buttons such as Undo, and toast.promise, which shows a loading message that turns into success or failure when a request settles. Toasts stack neatly and can be swiped away.
shadcn/ui adopted Sonner as its recommended toast component, which made it a common choice in Tailwind-based React apps. Toasts suit brief, non-critical feedback. Errors that need a decision, or anything users must not miss, belong in the page or a dialog, and toasts that matter should stay long enough to read and be announced to screen readers.
What it costs · Open source
Free (MIT).
Approximate, checked September 2026.
Related
Also called: toast, toast notifications, snackbar, React toast
In-browser runtimes
Pyodide
RuntimeOpen sourceThe standard Python interpreter compiled to WebAssembly, so real Python code, including packages such as NumPy and pandas, runs inside a web browser with no server.
Pyodide is CPython compiled to WebAssembly with Emscripten. A page loads it from a CDN or your own server and then runs Python code, and Python and JavaScript can call each other and pass objects back and forth. Pure-Python packages install from PyPI with micropip, and many packages with compiled parts (NumPy, pandas, SciPy, Matplotlib, scikit-learn) are pre-built for it. It also runs in Node.js and in web workers, which keeps long jobs from freezing the page.
It powers JupyterLite notebooks, PyScript, and many teaching sites and code playgrounds, where running code on the visitor's own machine avoids maintaining a server-side sandbox. The costs are a download of several megabytes before the first line runs, slower execution than native Python, and limited support for threads and network sockets.
What it costs · Open source
Free (MPL 2.0).
Approximate, checked September 2026.
Related
Also called: Python in the browser, Python WebAssembly, micropip, PyScript, JupyterLite
Outside APIs
Google Drive API
APIFreeGoogle's API for letting an app read, create and organise files in a user's Google Drive, with the user's permission, for uploads, backups, imports and exports.
Users sign in with Google through OAuth and grant a scope that decides how much of their Drive the app can reach. The narrow drive.file scope covers only files the app created or the user chose (for example in the Google Picker) and keeps Google's app review light; apps asking to read a user's whole Drive must pass a stricter verification, which can include a security assessment. A hidden appDataFolder gives an app private space for settings or backups.
The REST API covers resumable uploads of large files, folders, sharing permissions, search, change notifications, and exporting Google Docs, Sheets and Slides to formats such as PDF and DOCX. Calls are free within per-minute quotas measured in quota units, and Google has announced that usage above a daily threshold will be billed once it has given 90 days' notice.
What it costs · Free
Free within the standard quotas. Google has said usage above a daily threshold will be billed later, after 90 days' notice.
Google Drive API pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: Drive API, Google Picker, appDataFolder, Drive REST API
Open Google Drive API as a pageOfficial site (opens in a new tab)
Octokit
LibraryOpen sourceGitHub's official client libraries for its API, used to read and change repositories, issues, pull requests and more from code, most often in JavaScript.
octokit.js bundles clients for GitHub's REST and GraphQL APIs with helpers for pagination, webhooks, retries, throttling and signing in as a user, an OAuth app or a GitHub App. It runs in Node.js, browsers and Deno, and there are official Octokit libraries for .NET and Ruby as well. Typical uses are bots that label issues, pull request dashboards, tools that commit files, and scripts in GitHub Actions.
The library is free; the limits are GitHub's. Unauthenticated REST calls get 60 requests an hour per IP address, a signed-in user or token gets 5,000 an hour, and GitHub App installations scale with their number of repositories and users (up to 12,500 an hour). Secondary limits also cap bursts and concurrent requests, so heavy tools should cache, use conditional requests and back off when GitHub says so.
What it costs · Open source
Free (MIT). GitHub's API is free to call within its rate limits.
Approximate, checked September 2026.
Related
Also called: octokit.js, @octokit/rest, GitHub API, GitHub SDK
TMDB API
APIFree tierA free API from The Movie Database, a community-built catalogue of films, TV shows and people, with posters, cast lists, trailers and where-to-watch data.
After registering for a key, you query endpoints for search, details, credits, images, videos (trailer links, mostly on YouTube), recommendations, trending lists and where-to-watch providers by country. Images are served from TMDB's CDN in several sizes, so an app can load small posters in lists and large ones on detail pages. The data is edited by a large community in dozens of languages and changes often, so cache it but refresh it.
It is free for non-commercial use as long as the app credits TMDB with an approved logo and the notice 'This product uses the TMDB API but is not endorsed or certified by TMDB.' A project whose main purpose is earning money needs a commercial licence, arranged through TMDB's sales team. Watch-provider data comes from JustWatch and must be credited to JustWatch too. There is no uptime promise, and heavy traffic is throttled at around 40 requests a second.
What it costs · Free tier
Free for non-commercial use with credit to TMDB. Commercial use needs a licence, priced on request through TMDB's API for Business.
TMDB API pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: The Movie Database API, movie database API, TV show API
AniList API
APIFreeA free GraphQL API from AniList, a community anime and manga site, for looking up series, characters, staff and studios and, with permission, users' watch lists.
Every request goes to a single GraphQL endpoint, and each query names exactly the fields it needs, such as titles in several languages, cover images, episode counts, airing schedules and scores. Public data needs no key, while reading or changing a user's own lists requires OAuth sign-in. Entries carry an isAdult flag, which matters for apps listed in the App Store or Google Play.
The normal rate limit is 90 requests a minute plus a burst limit, and it can be lowered temporarily when the service is under strain. The terms allow non-commercial use and commercial apps earning under $150 a month without asking; above that a commercial licence is needed. Mass collection of data, using the API as storage and building a competing list tracker are not allowed, and apps with AniList in their name must mark themselves as unofficial.
What it costs · Free
Free for non-commercial use and for commercial apps under $150 a month in revenue. Above that, a commercial licence is arranged by email.
AniList API pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: AniList GraphQL, anime API, manga API
Open AniList API as a pageOfficial site (opens in a new tab)
Calendly
ServiceFree tierA scheduling service that gives you a booking link: people pick a free slot from your real calendar, and the meeting, invite and reminders are created for them.
Calendly connects to Google, Outlook or iCloud calendars, checks for conflicts and shows only open times, in the visitor's own time zone. Event types set the length, buffers, questions to ask and the video link (Zoom, Google Meet or Microsoft Teams). A booking page can be embedded on a website inline, as a pop-up widget or as a pop-up text link, and on paid plans it can take payment through Stripe or PayPal before a meeting is confirmed.
The API works on every plan, for listing events and invitees or creating single-use booking links; webhooks that tell your server when someone books or cancels need a paid plan. Round-robin scheduling, lead routing and Salesforce sync sit in the Teams tier. Cal.com is an open-source alternative that can be self-hosted.
What it costs · Free tier
Free plan with one event type and one calendar. Standard about $10 and Teams about $16 per seat a month billed yearly; Enterprise from about $15,000 a year.
Calendly pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: scheduling links, booking page, meeting scheduler
Side by side
Differences
How the options in this area compare on the questions that usually decide the choice.
Recharts vs uPlot vs Vico
Open as a page: Recharts vs uPlot vs VicoThree open-source chart libraries for different jobs: Recharts for everyday React dashboards, uPlot for large and live time series on the web, and Vico for native Android and Compose apps.
| Compare | Recharts | uPlot | Vico |
|---|---|---|---|
| Runs in | React web apps | Any web page, with or without a framework | Android and Compose Multiplatform apps |
| Draws with | SVG | Canvas 2D | Native Compose and Android graphics |
| How you write it | JSX components | An options object and data arrays | Kotlin composables or views |
| Large or live data | Slows with many thousands of points | Built for it | Fine for typical app data |
| Chart types | Line, bar, area, pie, radar and more | Lines, areas, bars, OHLC | Line, column, candlestick, pie |
| Animations | Yes | None, by design | Yes |
| Licence | MIT | MIT | Apache 2.0 |
| Best for | Admin dashboards and reports | Monitoring, metrics and sensor data | Charts inside native Android apps |
How to choose
- Pick Recharts for typical React dashboards, where quick, good-looking charts matter more than raw speed.
- Pick uPlot when a web chart must show large time series or update many times a second.
- Pick Vico for charts inside a native Android or Compose Multiplatform app.
TipTap vs CodeMirror
Open as a page: TipTap vs CodeMirrorBoth are open-source editors for the browser, and both trace back to the same author's editing engines, but they edit different things: TipTap edits formatted documents, CodeMirror edits code and plain text.
| Compare | TipTap | CodeMirror |
|---|---|---|
| What it edits | Rich text: headings, lists, images | Code and plain text |
| Built on | ProseMirror | Its own engine, with Lezer parsers |
| Saved as | JSON or HTML | Plain text |
| Key features | Toolbars, mentions, tables, embeds | Highlighting, autocomplete, linting, multiple cursors |
| Collaboration | Yjs, self-hosted or through Tiptap Platform | Possible with Yjs bindings, wired up yourself |
| Looks | Headless: you style everything | Themeable, with a default look |
| Cost | Free core; paid cloud features | Free |
| Best for | Notes, comments, CMS and document editors | Playgrounds, SQL consoles, config editors |
How to choose
- Pick TipTap when users write formatted documents, posts or comments.
- Pick CodeMirror when users write code, queries, config files or Markdown source.
- Some apps use both: TipTap for the document and CodeMirror inside its code blocks.
Crafted in the dark. Shipped to the world.
Tell us what you are building. You get a private project space with a proposal and a line-by-line quote within a day.