The mission was to deliver a simple solution for the problem:
How can I optimize my personal cloud storage - for free?

So simple - so generic. Enter the world of crypto in the browser.
Spoiler: It's complicated!

🧑🏿‍💻 The Journey

We already have native apps for iOS and Android but we wanted to create a seamless experience for the user and lower the hurdles to test our app. And what's easier to access than a slick web app (of course a Progressive Web App).

So - let's enter the world of web apps.

We choose a rather popular stack (mostly inspired by the great - which is currently undergoing a redesign despite of technical issues, but more on this later).

Wait, what? Yes, you read correct: We decided to erase the backend. Because the best code is no code at all, right?

"The best code is no code at all"

Ok so let's take a closer look what (almost) nothing on the backend means.

Of course there is a server that hosts the website (consisting of JavaScript - transpiled from TypeScript, CSS, assets - like images, etc.).
In the case of securebeam it's Firebase Hosting. There are a ton of pros and cons, we decided very pragmatically: We already had some experience on Firebase, so lets use Firebase Hosting because it fits our (very basic) needs to serve JavaScript files and other assets fast.

Blog post additional image

Lighthouse Audit of ⚡️

Note: To optimize performance we are currently working on next-gen image formats

Ok, so far we have the following phases:

  • User enters in the browser

  • Browser HTTP(S) GETs JavaScript, CSS and assets

  • Progressive Web App is rendered in the browser

As soon as the PWA is ready in the browser - on the average this happens X ms after surfing to - the App requests presigned URLs to upload the encrypted data chunks to different cloud storage services.

But this is basically all functionality on the backend: Serving JavaScript, CSS and assets and generating presigned URLs.

All other functionality happens right in the PWA - on the client side, to be highly secure and absolutely performant!

Stay tuned how we implemented to frontend or drop us a line if you have any questions or feedback!

Visit product site

Get inTouch

This page is protected by reCAPTCHA. Google's privacy policy and terms of use apply.