What do you feel when you're starting on a new project? For me, it's the freedom of an open expanse of possibilities and experimentation. It's the thrill of pitting my skills against a real world problem and solving it with code. I'm genuinely excited for the challenges ahead of me.
That is, until the realities of modern web app development bring me crashing back down to earth. Before I start any of this, I've got to think about a ton of things that don't interest me: authentication, database access, setting up infrastructure… the list goes on and on.
Developer frameworks are convenient, but they still feel like a stop-gap solution since they don't really solve the problems — they just make them a little less painful.
When we started looking at how to improve web app development, we took a step back and considered a more radical solution. That led us to the MicroSaaS Platform.
What's A MicroSaaS Platform?
Let's quickly breakdown the meaning behind the words:
MicroSaaS Platform: Most of us are familiar with the concept of Software-as-a-Service. Basically, this is software that you typically use through a browser and pay for on a subscription basis or it's ad supported.
MicroSaaS Platform: As opposed to a traditional SaaS app, a MicroSaaS app is only the specific UI and logic that delivers value to a user and solves a specific problem.
MicroSaas Platform: Our platform is the ecosystem that allows users to install and use MicroSaaS apps, and the infrastructure that makes it possible for developers to build and sell MicroSaaS apps.
Each user or company has their own environment with a single interface/login and a single place for all of their data.
The simple paradigm shift of separating data from applications completely changes everything. In just a minute, we'll start covering those changes in detail. But first, a few highlights that the platform, and this paradigm shift, make possible.
Highlights of our platform:
Easy To Install Apps
Installing a MicroSaaS app is literally a click away. MicroSaaS apps run with a user's data, so there is no app integration.
There's definitely infrastructure, but the platform takes care of it. No servers or databases to administer.
Install MicroSaaS from Different Developers
Different developers' MicroSaaS apps seamlessly work together in the same environment, with the same data.
Marketplace to Find MicroSaaS Apps
A marketplace helps bridge the gap between users who have problems and developers who have solutions.
The entire platform is accessible via a web browser, just like any other SaaS. Multiple users, even multiple apps, can work with the same data, from anywhere in world.
Our Mission: Change the way web apps are built, used, and sold.
We know that's a large hurdle! Below we have some specifics to share to help you understand exactly how we plan to do it.
The Key Components
Systems of almost any kind — your PC, your phone, web software, even a light switch — are made of three primary components: data storage, compute/logic, and interface. Each of these components are tightly interwoven with each other, so understanding ENTREOS’s unique approach to one can help you understand the others. Let's start with the ENTREOS data store.
Basic schemas form the basis of all data stored in ENTREOS. A schema defines the organization of the data: what is stored and how fields are related.
All schemas are public allowing different MicroSaaS apps to operate on the same data. Developers can create new schemas, use existing schemas, or extend existing schemas when creating their apps. This means you can find an existing schema that has 90% of the data you want and extend it with the remaining 10% instead of building everything from scratch.
You'll want to reuse or extend existing schemas whenever you can. This is because, when you reuse a schema instead of building a brand new similar one, your app automatically becomes interoperable with any other ENTREOS app that uses that same schema. Here's how it works:
Let's say a developer built a series of MicroSaaS apps that work together as a CRM suite in ENTREOS. You build your own MicroSaaS app that takes a city name and finds the population of that city. You could build a brand new schema for the app containing just two fields: the city name and the population (which your logic will fill). Or, you could extend the existing schema used by the CRM instead. Now, users of that CRM can easily install your MicroSaaS app into their existing CRM suite to add value to their data. You don't have to build a user base from scratch. You have tons of users perfectly positioned to get value out of your MicroSaaS app on launch day!
This doesn’t mean any old MicroSaaS app can come along and start monkeying with your data. Access to data is restricted by default per app on a per schema basis. When a user installs an app, ENTREOS will ask the user for permission to access each schema the app needs to access. It’s similar to how apps on your mobile OS each ask for access to location data, Bluetooth, or the camera, as needed.
Any piece of data can be "linked" to another piece of data to show a relationship between the two. These links are arbitrary which means you can create them as-needed without having pre-established relationships between the two schemas. Take our CRM example above. A single deal might be linked to multiple emails, phone call logs, or even a Tweet which each represents a point of contact as the deal moves through the pipeline. You might even want to link the deal to news articles to share with the prospect which might move them toward a close. Maybe you have a meeting scheduled and link the deal to that calendar event so that every activity is properly tracked.
This flexibility is fantastic. Additionally, schemas can also have pre-defined relationships to other related schemas. Every “deal” in your CRM from our example will have at least a point of contact, so it makes sense to set that relationship up beforehand.
Accessing a user’s data in an ENTREOS MicroSaaS app is frictionless. Instead of learning a new query library or protocol, applications access the data store with the full power of standard SQL queries.
Data is critical, but applications aren't applications with data alone. You need to do something with that data to add value to it. That's where the compute/logic component comes in.
Applications in ENTREOS are only composed of specific UI views (which we'll discuss next), functions, and defined triggers for when to run the functions.
Your functions are triggered by one of the following:
In traditional SaaS, you need API endpoints ready to handle all UI interactions that will trigger all of your functions. In ENTREOS, you can set these up directly in the UI.
Run on a specified schedule. These can be hard-coded in the app (e.g. the app hits an external endpoint once per day to check for changes), or they can be configured by your users (e.g. your app posts a reminder message in Slack at an interval specified by the user who installed it).
Exposes an external URL that triggers the logic to run. You define the endpoint that triggers the logic.
Monitor a specific schema and run your logic on a change, creation, or deletion of any data within that schema.
When your function is invoked, it will be passed the specifics of the trigger responsible, any user information (if applicable), and a connection to the datastore ready for SQL queries.
Your only focus is on the code required to solve the problem at hand. Don't worry about URL routing, database admin, user authentication, security, or scaling; that's the job of the ENTREOS platform.
Now that you have logic and a way to trigger it, you’re going to need some way to present all of this to your users.
Most developers do whatever they can to avoid writing boilerplate code, but boilerplate UI is often overlooked. When you’re writing the next great app of our generation, do you want to start by designing yet another authentication UI? Probably not.
Common UIs, like authentication, are part of ENTREOS. Since your app runs inside ENTREOS, it doesn’t need its own authentication. Focus on building the unique UI elements of your app, and let ENTREOS take care of the rest.
What about UI that is part of your app but is a commonly used component like a data table or a contact card? The ENTREOS SDK comes with a library of common UI components you can drop into your app. Just link them up to the appropriate data and logic, and they're ready to go!
Besides requiring no additional code and no design/UX chops, these components will have a look and feel that's familiar to users of other ENTREOS MicroSaaS apps. The components are responsive and work across all supported browsers, too.
If your app needs a new UI component, you're welcome to build it from scratch. Heck, if your ENTREOS app needs an entirely custom UI for all its components, you can build that, too. The component library is there to help accelerate your development, but we don't hamper you by forcing you to use it.
All the tools in the world to make building apps faster and easier don't mean anything if you can't sell the apps you build. The ENTREOS Marketplace is a store for ENTREOS MicroSaaS applications where users can easily find you and buy your amazing work.
Users will be able to find your ENTREOS apps, not only by using standard search, but by searching for apps that operate on the schemas they're already using. Let's return to the city population example app we discussed earlier. Since you wrote your app to run against the schema already being used in popular CRM solutions, users will surface you by searching for apps that use that schema and find that they can easily add that valuable data to their CRMs. They can find you instead of you always having to find them.
Payments are handled through ENTREOS so you don’t have to set up some way to take those. You can charge whatever amount you want and base your pricing on whatever metric makes sense, like users or compute time.
While ENTREOS can handle discovery and payment processing through the Marketplace, you're not required to distribute every app through this channel. If you're building a one-off solution for a client who doesn't want to share their new MicroSaaS advantage with competitors, you can make that solution available to them directly and never make it public. The Marketplace is a tool that's there when you need it without forcing you into a "walled garden" when you don't.
Why Users Love ENTREOS
ENTREOS makes developers’ lives a lot easier, but it’s also great for users. ENTREOS users don’t have to invest heavily in monolithic SaaS applications, getting locked in to all of their limitations. The alternative to this has generally been to depend on brittle integrations to bridge the gap between web apps, each app having features the user can’t live without, but also lots of features they don't need.
Example: Kanban Board + Calendar
Here's what it looks like for a user when features they need are locked up in monolithic applications.
I have a great Kanban board web app I’m using for project management. It’s the perfect way to visualize and reinforce my team’s process. The only problem is that, sometimes, I need to see the upcoming tasks on a calendar so I can understand when we might need to staff up with contractors, when we have resources that aren’t being utilized, and when we have just the right amount of work to keep the team busy.
I’ve been manually copying the due dates over to a calendar, but that’s just doubling the amount of data entry I have to do. I could use a service that copies new Kanban cards to the calendar, but they are still distinct pieces of data living in two separate silos. If I make a change to one, I have to remember to replicate that change on the other.
This is the problem the single data store solves. By having my tasks in my ENTREOS data store, I have the freedom to install both a Kanban app and the calendar app and simply point them to the same schema. No duplicate entries or fussy integrations required to have exactly the solution I need to make my team more efficient.
ENTREOS gives them a new option: they can pick and choose the features that make sense to them and evolve as they go. They’re not locked in to a single solution. If a suite of ENTREOS MicroSaaS apps isn’t solving their problems, they can easily move over to a different suite or cherry-pick new features to fill the gaps. Since their data belongs to them, and ENTREOS apps automatically work with their data, they have loads of flexibility.
A New Way to Build and Sell Apps
Put all those pieces together, and you have a new way to develop web applications that lets you focus on building what makes your app unique, both in terms of logic and UI, helps you sell it when you’re done, and gives your users greater freedom and control over their data.
When we started digging into the common problems web app developers face, we weren’t sure where it would take us. By taking a step back and looking for a comprehensive solution to a wide range of problems, we were able to bring a fresh approach with more robust solutions across the board.
ENTREOS lets you:
- Skip boilerplate and focus on what makes your app unique
- Ignore infrastructure since it's handled for you
- Access your customer's data in your app with simple SQL queries
- Drop in familiar, UX-aware, responsive, browser-friendly UI components that just work
We started this journey by asking, "What would web app development look like if it got out of your way and let you solve interesting problems with code?" ENTREOS is our vision of that future, realized.
If you're on board, sign up to be one of the first to experience our future for yourself.