Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

πŸ”₯ polyfire

Documentation | Discord | Dashboard

⚑ An all-in-one managed backend for AI apps. Build AI apps from the frontend, very fast. πŸͺΆ

Why use Polyfire?

  • Just code from the frontend, no backend needed
  • If you already have backend, less code to write
  • Most backend services you'd need in a couple lines of code

We manage your AI backend so you don't have to.

Demo Gif

🧰 Examples

We have several examples in our documentation. But here are two simple ones to get you started


import { useState, useEffect } from "react";
import { createRoot } from "react-dom/client";
import { PolyfireProvider, usePolyfire } from "polyfire-js/hooks";

function App() {
  const { auth: { login, status }, models: { generate } } = usePolyfire();
  const [haiku, setHaiku] = useState();

  useEffect(() => {
    if (status === "authenticated") generate("haiku").then(setHaiku);
  }, [status]);

  if (status === "unauthenticated")
    return <button onClick={() => login("github")}>Login with Github</button>;
  else if (status === "loading" || !haiku) return <h1>Loading...</h1>;
  return <h1>{haiku}</h1>;

document.body.innerHTML = '<div id="app"></div>';
const root = createRoot(document.getElementById("app"));
root.render(<PolyfireProvider project="your_project_id"><App /></PolyfireProvider>);

Don't forget to change the your_project_id by your project ID you will have got on

Vanilla JS

<script src=""></script>
	(async () => {
		const polyfire = window.PolyfireClientBuilder({ project: "your_project_id" })
		const isAuthenticated = await polyfire.auth.init();
		if (!isAuthenticated) {
		  await polyfire.auth.login("github")
		const helloWorld = await polyfire.models.generate("Write me a hello world haiku");

Don't forget to change the your_project_id by your project ID you will have got on

πŸ†• Getting Started

To get an overview of Polyfire follow this Basic Usage tutorial.

✨ Starter Guides

We also made a couple of tutorials you can use to get started with Polyfire:

πŸ“š Useful References

πŸ”— Links

We're open source! Make a good PR to the JS SDK or the API and we'll merge it.