[HN Gopher] Show HN: Interval, CLIs in browser with no front end...
___________________________________________________________________
Show HN: Interval, CLIs in browser with no front end code
Hey HN, I'm Alex, founder of Interval [0]. We're bringing internal
tools written like CLIs to the browser to make them more powerful,
through a Node.js SDK which attaches them to a hosted dashboard
without any frontend code. Large companies have full teams that
work on internal dashboards and tooling. Interval brings that
infrastructure to anyone. In our previous project we had ~65 CLI
scripts for tasks like provisioning user accounts, moderating
content, and migrating data. These were quick to write and
powerful. They also turned into an ongoing timesuck. Non-technical
coworkers needed to bother an engineer every time to run one. Some
of them were powerful enough to be footguns, and because we had to
rewrite validation every time, we were always a bit scared of them.
We wanted to bring the power and speed of cranking out CLI scripts
into the world of modern software development: testable, easy to
expose to colleagues via a URL, and works with Everything Else by
default. That's why we made Interval. We built: - A Node.js +
TypeScript SDK - this embeds in your backend codebase and provides
APIs for defining tools + collecting input + displaying output.
These APIs are simple awaitable functions that return parsed,
validated, and soundly-typed user input. You put your Interval
actions in source control, test them, run CI/etc exactly like you
do for all your other backend code. - A hosted UI, which handles
I/O for the scripts in a less brittle way than command line
arguments do, while also taking care of auth, permissions, and
audit logs. This lets you take your CLI commands out of an
engineer's terminal and share them with the whole company. Give
support the ability to ban spammers but not drop the prod DB.
Require two people for sensitive actions. Echo commands to a Slack
channel. It's a powerful set of primitives out of the box and lets
you do anything else you want in the code you're already writing,
without making you have to spin up a second company just to support
your internal tools. Under the hood, your CLIs and the hosted
dashboard talk through a 2-way message passing system. We felt this
approach was the best of both worlds: - UIs are hosted by
Interval: We build, host, and maintain the part most people don't
care about for internal tools. - Backends are self-hosted: We
can't see your business logic, secrets, etc. We're in public beta
today. I hope you like it and I'm happy to answer any
questions/feedback in the comments. [0]: https://interval.com
Author : alexarena
Score : 45 points
Date : 2022-06-07 16:14 UTC (6 hours ago)
(HTM) web link (interval.com)
(TXT) w3m dump (interval.com)
| michaelvillar wrote:
| Loved using Interval in the past few months at height.app. I
| highly recommend it if you don't want to bother building UI
| within your internal admin pages.
| elsherbini wrote:
| I work in an academic lab and develop pipelines for processing
| raw data to get people tables to analyze. Would this be a good
| solution for me to allow labmates who aren't very good with the
| command line to run those pipelines? We run the pipelines on HPC
| cluster, would I need to spin up a server that sits between the
| cluster and interval, or could I somehow run the backend directly
| on the cluster?
| alexarena wrote:
| Yes, letting non-technical teammates run stuff that was
| previously only accessible on the command line is basically the
| perfect use case. In terms of the specifics of your setup:
| without having worked with an HPC cluster before, I'm not 100%
| on exactly what it would take, but I'm pretty confident it's
| possible. The SDK component is super lightweight, so if we can
| get Node.js running, we can get Interval running. Feel free to
| email me (alex at interval dot com) and I can help you with
| this.
| MatthiasPortzel wrote:
| I'm very excited by the idea of seamlessly providing a front-end
| for interactive scripts. (I have a similar idea that I've wanted
| to build for a while.)
|
| Is that an accurate description of what you're trying to build?
| Calling Interval a "CLI in the browser" made me think you had a
| command line in the browser, something like xterm.JS.
|
| I don't have anything else to say, I think the idea speaks for
| itself.
| alexarena wrote:
| Thanks! "Seamlessly providing a front-end for interactive
| scripts" is a really solid description of what we're doing.
| Honestly the interactive part is what I think is the most
| important to get across. A big part of why I started building
| this was I wanted to prompt for input/display output across
| multiple steps, basically in conversation with the script.
___________________________________________________________________
(page generated 2022-06-07 23:02 UTC)