When someone asks me what we do here at Weavy I give an answer that is pretty familiar to anyone who has looked at our home page recently: “we create next generation building blocks for developers.” While this answer has satisfied many a developer and executive alike, specificity is, as they say, the soul of narrative. So today let’s dive into what we mean when we say next generation building blocks for developers.
What are building blocks for developers?
When we talk about building blocks, what we’re really referring to are a series of low-code solutions that enable developers to do their best work quickly and effectively. These solutions include APIs, UI Kits, webhooks, and hosting environments. What unifies all of them is that they require very little heavy lifting from developers beyond simple configuration. We of course always encourage developers to make our tools their own, but that’s hardly a requirement.
When we at Weavy talk about environments, we’re talking about application hosting environments: a distinct cloud instance specially designed to host a web application. As you might imagine, our environments take care of all the server side logic and data storage. The environment exposes a Web API and handles real time communication through websockets and event notification via webhooks.
All Weavy environments come pre-configured to host all the server-side functionality of our Chat, Files, and Feeds products. They also come with the storage required to make our file handling features effective. In order to make our offering as compatible as possible with DevOps CI/CD pipelines, each Weavy account can have up to three environments so they can simultaneously test and stage without interrupting their production environment.
At the time of writing we offer three environment types at three price points:
- Basic, 2GB of storage, available for free.
- Standard, 250GB of storage, improved bandwidth, available for $299/month.
- Max, 1TB of storage, with maximum bandwidth, available for $499/month.
Though developers have the choice of upgrading all of their environments to Standard or Max, we imagine that the most in our developer will community will opt to have only their Production environment upgraded. The Basic environment, even with its limited storage and bandwidth, should be more than suitable for Development and Staging environments. To give maximum flexibility to our developers, and to insure the most seamless possible experience for their users, we allow developers to upgrade (or downgrade) environments at any time, as well as rename environments.
Today nearly every comment section, weather information, share button, or calendar is powered by a server-based API, and more often than not that API is developed by a third party and licensed for use. While SaaS platforms like Calendly are built on integrating multiple APIs to create a better user experience. Likewise, many successful businesses like Weather Underground have been built around selling their API as a service to improve other websites and services.
Now that’s not to say that every company that develops apps should primarily rely on third-party APIs to function. Instead, it’s better to think of APIs as a form of digital outsourcing: APIs provide a shortcut to additional essential functionality, allowing your team to focus on the core features that already make your platform great.
APIs provide deep functionality in exchange for relatively little heavy lifting on the part of the developers who utilize them. Weavy offers three different APIs:
- Chat, which enables real time one-on-one and group messaging.
- Files, which enables file storage, synchronization, and sharing.
- Feeds, which enables static posts where other users can comment, reply, and share updates.
These APIs allow developers to connect their apps to Weavy environments, allowing the environment to handle the workload in parallel with the app server, providing a seamless experience for end users. The APIs pass data such as messages, files, posts, as well as authentication credentials, so that any accounts in the app become accounts in the Weavy environment.
A webhook is a software hook that utilizes HTTP functions as its delivery method. This HTTP based callback allows different applications to quickly share information with each other. Typically webhooks act as a form of automation: a signal sent from one app to another that is triggered whenever an event happens, like a new user is created, or a file is uploaded. Webhooks are great for automating functions and secure one-way communication from one application to another.
Webhooks and APIs are similar inasmuch as they are both mechanisms for exchanging data between different applications, different environments, or different databases. The biggest difference lies in their complexity: if an API is like a swiss army knife capable of doing several complex but interconnected functions, then a webhook is like an icepick, capable of doing one thing very efficiently.
Though at the time of writing we don’t offer any custom webhooks, our environments are configured to send and receive webhooks, and we provide extensive documentation on what is required to get a webhook connected to any Weavy services.
A UI Kit (short for user interface kit) is a package of files designed to expedite the development of a user interface. UI Kits typically include important components such as fonts, CSS or HTML stylesheets, and graphical elements such as containers, input controls, navigation controls, and icons. Most UI kits, such as those offered by Weavy, are compiled for specific programming libraries such as JS and React.
Weavy’s UI Kits work in tandem with a universal Weavy theme library, and taken as a whole they contain the elements required to seamlessly integrate the UIs of our Chat, Files, and Feeds APIs, the code required to make them operate, as well as the tools and documentation required to customize them to better match your app’s appearance. At present we offer two UI Kits, our jack-of-all-trades JS kit, which has the most compatibility, and our React UI Kit, which has been optimized for React apps.
All of our UI Kits have been released as fully Open Source under the MIT license. This way developers can get under the hood, make improvements, or even adapt them to their favorite programming library.
Taken as a whole we know firsthand how well these building blocks work together, but we encourage developers to mix and match our components with their favorite tools. For developers who want to share their work, ask questions, or just hang out with fellow devs, we encourage you to join our Discord community: