hyper logo

hyper 

 Beta  

hyper - a service for building hyperscale applications

Create. Connect. Build.

Create your services. Connect using an consistent, clean API. Build and focus on your application's features, not its cloud plumbing.

homepage splash
THE PROBLEM

Cloud services are complex.

Choosing the correct cloud service and provider while ensuring scalability, security, and minimizing downtime is a huge challenge that distracts from your overall goal: building features that solves your customer's problems.

flow
OUR SOLUTION

hyper. A service framework.

Hyper delivers straightforward and secure access to reliable and scalable services using clear and easy-to-use APIs. Create features quickly into apps that scale while keeping cloud complexity and frustrations at bay.

hyper provides APIs to core application services: data, cache, storage, queues, and search.

hyper box

Data Service

Store, retrieve, and index structured data

MORE INFO >
import { connect } from "hyper-connect";
import { cuid } from "cuid";
const hyper = connect(process.env.HYPER);

export async function addMovies(movies) {
  movies = movies.map((movie) => ({
    _id: `movie-${cuid()}`,
    ...movie,
    type: "movie",
  }));
  await hyper.data.bulk(movies);
  return movies;
}

export async function addMovie(movie) {
  movie = { _id: `movie-${cuid()}`, ...movie, type: "movie" };
  await hyper.data.add(movie);
  return movie;
}

export async function findMovies(rating) {
  const { docs: movies } = await hyper.data.query(
    {
      rating: {
        $gte: rating,
      },
    },
    { useIndex: "custom-idx" }
  );
  return movies;
}

Compose Hyper Services Seamlessly 🧪

Compose your Hyper services to create complex flows

import { connect } from "hyper-connect";
import { cuid } from "cuid";
const hyper = connect(process.env.HYPER);

export async function addMovie(movie) {
  movie = { _id: `movie-${cuid()}`, ...movie, type: "movie" };
  await hyper.data.add(movie);
  await hyper.cache.add(movie._id, movie, "1h");
  await hyper.search.add(movie._id, movie);
  await hyper.queue.enqueue({ type: "MOVIE_ADDED", movieId: movie._id });
  return movie;
}

export async function getMovie(movieId) {
  let movie = await hyper.cache.get(movieId);
  if (movie.status === 404) {
    movie = await hyper.data.get(movieId);
    await hyper.cache.add(movie._id, movie, "1h");
  }
  return movie;
}

export async function searchMovies(criteria) {
  const { matches: movies } = await hyper.search.query(criteria);
  await Promise.all(
    movies.map((movie) => hyper.queue.enqueue({ type: "MOVIE_SEARCH_MATCH", movieId: movie._id }))
  );
  return movies;
}

export async function findPopularMovies() {
  const { movies: trending } = await hyper.cache.get("trending-movies");
  return trending;
}

// Your Queue Target Worker
export async function handleMovieJobs(payload) {
  const movie = await hyper.data.get(payload.movieId);
  switch (payload.type) {
    case "MOVIE_ADDED":
      await notifyGenreSubscribers(movie.genre, movie);
      await updateMovieStats(movie);
      break;
    case "MOVIE_SEARCH_MATCH":
      let { count = 0 } = await hyper.cache.get(`search-hits-${movie._id}`);
      await hyper.cache.set(`search-hits-${movie._id}`, { count: count++, _id: movie._id }, "1h");
      if (count > 10) {
        await updateTrendingMovies(movie);
      }
      break;
  }
}

Where does hyper fit?

hyper services power your backend business services. Hyper's consistent API makes it simple to consume cloud native services, and without coupling. Focus on your business services, not plubming in the cloud.

HYPER POWER

All-in-one

hyper contains all of the services primitives to build applications without having to deal with servers, services or clouds.

hyper framework

Learn About hyper

Build an Express API backed by hyper services in under 5 minutes

Follow video workshops that show how you can use hyper

See examples on how you can leverage hyper services to create complex flows

Use the hyper-connect SDK to seamlessly connect to hyper services on Node or Deno

Keep up with all of the news and info from the hyper team

FAQs

Can't find the answer you're looking for? Reach out to our Slack support channel.

What is hyper?

Hyper delivers straightforward and secure access to reliable and scalable services using clear and easy-to-use APIs. Create features quickly into apps that scale while keeping cloud complexity and frustrations at bay.

hyper provides APIs to core application services: data, cache, storage, queues, and search.

Learn More

What kind of apps can I build with hyper?

hyper provides APIs to core application services: data, cache, storage, queues, and search. You are set free to hyper-focus on your app's business logic and presentation layer.

How do I get started?

The best way to get started with hyper is to create a free developer account and complete our Getting Started Guide.

Where are the docs?

Great question! Here are the Docs.

Is hyper production ready?

Hyper's cloud service is in beta and we have production users. Register for free today.

How much does hyper cost?

You get 3 hyper applications for free. Learn more about our pricing.

Do I have to use all the services?

No, you can use search to power your website, cache to aggregate statistics, or queue's to manage ETL jobs. Hyper's core services are designed to be independent but composable, check out our documentation. Go to Docs

TESTIMONIALS

Why use hyper?

hyper enables us to spend time on what matters. By providing a well-defined interface for things like data persistence, caching, and search, hyper allows us to avoid bike-shedding and reinventing logic that is common across the majority of our applications. Instead, we can spend our time working on the details that make each project unique and keep our focus on providing value to the customer.

Travis Nesland, Senior Lead Developer at Sovereign, co.