Skip to main content
Big news! Interval has been acquired by Meter. Learn more →

Build internal tools with just backend code

Interval generates full web apps just from backend Node.js or Python code. If you love writing code but hate building UIs, you'll love building with Interval.

Designed for

Trusted by

VendrVStreamVStreamStarlightTavus
100% code-driven tools

Just write your business logic

Interval introduces a new programming model for building UIs. Simply make Interval SDK calls alongside your business logic, and Interval automatically produces UIs in your browser.

In your codebase:

100% code-backed tools committed to your app's codebase

Import internal functions & modules

Use language-native features like async/await, conditionals, and type safety (because it's just code)

src/internal-tools/routes/create-user.ts
import { Action, io } from "@interval/sdk";
import { createUser, startTrial } from "~/modules/users";
 
export default new Action({
name: "Create user",
handler: async () => {
const email = await io.input.email("Email address");
const startDate = await io.input.date("Start date");
 
const user = await createUser({ email });
 
if (startDate > new Date()) {
await startTrial(user.id, startDate);
}
},
});

In your browser:

Interval renders UIs while your script awaits input

Runs in your browser, shareable with your whole team

Full component library with inputs, pickers, tables, & more

https://interval.com/dashboard/viewtube/create-user
Create user
Email address
kyle@example.com
Start date
Create user

Made for TypeScript & Python

Interval's Node & Python SDKs integrate with your backend and provide simple code-first primitives for things like forms, tables, and navigation.

const = await io.search('Find a user', {
placeholder: 'Search by name, email, or ID',
onSearch: async query => db.findUsers(query),
});
const user
const user: {
id: string;
email: string;
name: string;
imageUrl: string | null;
role: 'ADMIN' | 'MEMBER';
}

A single line of Interval code packs a punch

Interval's component library compresses the tedious work of building and wiring up UIs for your tools into simple async method calls placed within your business logic.

While you're awaiting input...
const email = await io.input.email("Email");
Email

UI component

Interval renders a responsive, accessible UI in the user's browser.
Replaces

UI libraries

Custom frontend code

Email

Robert'); DROP TABLE Users; --

Validation

Interval automatically validates input in the UI and on the backend. The method call doesn't resolve until the user enters valid input.
Replaces

Custom validation logic

Email

robert@example.com

Network

Interval returns the user-submitted value to your backend. All the network communication is handled for you—no need to write APIs for your internal tools.
Replaces

Apollo

fetch

REST/GraphQL APIs

Examples

What can you build with Interval?

AI database query tool

An example tool to answer plain english questions about your company's SQL data.

Integrates with

OpenAIPrismaPostgreSQL
VStream

"I normally hate internal tool builders. They're often clunky, hard to audit, and removed from your code base. But Interval solves all of those issues and so many more. I love Interval and suggest it to every startup that will listen to me!”

Eric Koslow — VStream

Whether you're starting from scratch or migrating away from your existing tools, Interval is easy to incrementally adopt and powerful enough to scale with your business.

Notifications

Send Slack or email notifications from within Interval apps with one line of code.

Teams & permissions

Invite team members and grant granular access to your internal tools.

Cron & scheduling

Schedule actions to run automatically and optionally prompt for input if needed.

Links & navigation

Link between actions, perform redirects, and construct hierarchical navigation.

Environments

Create multiple environments for your apps and easily switch between them.

Loading states

Interval automatically detects when data is loading and renders loading states to the user.

Security & privacy

Interval runs on your own infra, so only the data you send us reaches our server.

Multi-factor authentication

Add an extra layer of security to sensitive actions by prompting for MFA verification inline in your code.

Investors

Backed by the best

Sequoia Capital
TQ Ventures
Erik Berlin
Creator of Rails Admin
Josh Buckley
Buckley Ventures
Jen Yip
Founders You Should Know

"At Stripe we built an extremely similar tool for turning scripts into tools that anyone on our team could run. Now Interval is bringing that same ability to every company."

Lachy Groom
Former Head of Payments at Stripe

Build internal tools fast, with code.

Interval is a thoughtful, intuitive approach to quickly building powerful UIs that integrate seamlessly with your backend—no API endpoints, drag-and-drop, or frontend code required.

Umar Ahmed

@umariomaker

Okay, I'm trying out Interval right now... and I have to say, this is a really nice DX 😍.

The fact that I can just start accessing Prisma as I normally would makes it feel like a part of my app dev process and not some extra tool I'm investing extra time into

Rafal Wilinski

@rafalwilinski

regret of the day: wish I've @useinterval-ized every product support operations sooner

Joan R

@naoj_gior

I've got to enjoy building internal tools thanks to @useinterval. I extremely recommend them. What they do is like magic, and their support is top notch.

548 Market St PMB 31323
San Francisco, CA 94104

© 2023

Join our mailing list

Get 1-2 emails per month with a roundup of product updates, SDK releases, and more.