Prototype faster than ever before with Serverless Cloud

Feb 25, 2022

With more and more competition in almost every corner of the startup ecosystem, it has become vital to develop prototypes and collect genuine feedback from users as fast as possible. Deciding how to build the application and what systems to use is often harder than implementing the actual business logic.

Serverless technologies from cloud giants AWS, Azure, and GCP seem like a logical choice for building prototypes. The focus on pay-per-use billing and managed services make them both economical and relatively fast to implement. However, the learning curve of such technologies is still very steep, and for someone who has limited or no experience with these platforms, that choice becomes less than ideal. This is when Serverless Cloud comes to the rescue as a one-of-a-kind platform that boosts developer productivity when building event-driven mobile and web applications. Let’s take a closer look at the advantages of using Serverless Cloud to build a prototype for your next idea.

A Swiss-army Knife for Builders

Most apps need an API, a database, file storage, and maybe a CDN to cache and serve files quickly to your users. At least five cloud services are required to build such a system with one of those cloud giants. You’ll need to learn how to provision these services and make sure they’re properly configured for security and reliability. After that, you can finally start building your business logic. With Serverless Cloud’s built-in SDK (Serverless Development Kit) for APIs, databases, storage, schedules, and events, you can just write code and start building without any setup or a deep technical knowledge of the cloud.

The code below shows how simple it is to create an image-hosting API with Serverless Cloud.

import { api, storage } from "@serverless/cloud";
const random = (length = 6) => Math.random().toString(20).substr(2, length);

api.get("/:imageId", async (req, res) => {
  const imageId = req.params.imageId;

  try {
    return await res.sendFile(imageId);
  } catch (error) {
    console.error(error);

    let status = error.message === "NotFound" ? 400 : 500;

    return res.status(status).send(error.message);
  }
});

api.upload("/", async (req, res) => {
  const imageId = random();
  const fileBuff = req.files[0].buffer;

  if (!fileBuff) {
    return res.status(400).send("No file provided");
  }

  try {
    await storage.write(imageId, fileBuff);

    return res.send({ url: `https://${req.hostname}/${imageId}` });
  } catch (error) {
    console.error(error);

    return res.status(500).send(error.message);
  }
});

With just 40 lines of code, we’ve created two endpoints to serve and upload files into Serverless Storage. We didn’t have to define an API-Gateway, a computing resource, or a storage bucket. Serverless Cloud automatically provisions the resources that best meet the needs of your application. This is what we call "infrastructure FROM code" but you can call it massively boosted productivity to build awesome stuff.

Brice Carpentier, who’s been developing applications for over a month on Serverless Cloud, had this to say:

"We all know how serverless infrastructures are usually good for new projects because of how cheap and scalable they can be. But never before has the developer experience been so good all the way through like it is with Serverless Cloud."

Build, Share, Collect Feedback, Repeat! 

The entire purpose of building a prototype is to gather honest feedback from potential customers. You’ll incorporate their ideas, iterate on your application, and show it off again to stakeholders and more potential users. Serverless Cloud offers extremely flexible workflows that enable developers to share different versions of the app with a variety of user groups.

When building an application in your local IDE, you simply save your changes, and it will automatically sync and publish to your personal developer sandbox in the cloud in about a second. Yes, it’s that fast. If you want to see how your API behaves, you can use the Interact functionality of Serverless Cloud Dashboard and test your API instantly. Need some sample data in your database? You can seed data from the data.json file by typing `import` in the Serverless Cloud Shell running in your terminal. If you want to reseed whenever something changes in data.json, then add the `--reseed` flag when you start the Cloud Shell. 

Once you’ve finally finished building the first version of the app, it’s time to share it with others to get their feedback. You can deploy it with a single command, "deploy <stage_name>". This creates a “permanent” instance of your app with its own public URL, completely independent from your developer sandbox. If you want to look more professional, you can assign a custom domain to your stage with just a few clicks. 

Let’s say you got feedback and you want to test a small tweak to your app. However, you don’t want everyone to see this change just yet. Use your personal developer sandbox to make the change and test it, then create a preview instance by running "share" from your Cloud Shell. You can even feed sample data to this preview instance. You can continue to iterate in your personal developer sandbox without affecting any other version that you’ve shared. Updating the permanent instance with your changes is as easy as typing "deploy <stage_name>" again. Serverless Cloud provides all of these effective workflows to allow developers to iterate and test their projects faster than ever.

Hassle-free Frontend Integration

Prototypes are typically not just a backend. To make a good first impression on your target market, you'll need to create appealing user interfaces as well. Fortunately, SPA frameworks allow developers to quickly build good-looking UIs for their ideas. Serverless Cloud makes it easy to connect front-end apps with React, Vue, and others. You’ll just need to define the build directory of your application as a folder in your Serverless Cloud project.

You can run a separate terminal with your SPA in development mode to quickly test locally, and when you build your SPA, the output files will sync instantly to test in your developer sandbox. We are now working on ways of improving this experience even more and are looking forward to removing the need to run a separate terminal. See this sample project which is a status-page application with a React frontend as an example of such an integration. 

Summary 

In this hyper-competitive market for new startups, reducing time to market has become more crucial than ever. Being able to rapidly deliver a prototype into the hands of potential customers puts you one step ahead of the competition. In this blog post, we’ve explained why Serverless Cloud is the best way to rapidly prototype your idea. Plus, Serverless Cloud can support your actual product as it’s built on top of the cloud giants we’ve mentioned.

Many of our users come for the prototyping, and then use us to host their actual product once seeing the ease and flexibility of the Serverless Cloud platform. One of our frequent users, James Hammond, describes his Serverless Cloud experience:

"Serverless Cloud strips the complexity away from serverless development, providing the core tools needed to get an app up and running quickly and effectively. No steep learning curve, no AWS management nightmares, and a fantastic, helpful community behind it."

Watch this video to see the features of Serverless Cloud packed into 3 minutes. And start your Serverless Cloud journey to prototype and build your product faster than ever before. Happy coding!

Subscribe to our newsletter to get the latest product updates, tips, and best practices!

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.