What is Summit?
And what makes it different.
Summit is a stack of tools. You are free to use any part or all of them.
Much of the stress of modern web development, and no-code/low-code building, arises from having to figure out how to stitch things together.
Summit removes that stress by automatically configuring the tools in its stack to work together seamlessly.
This tightly-knit trait plus a small, declarative language at its core is what makes Summit a no-code/low-code platform that is capable of providing hassle-free setup, flexibility, and power.
The Stack
Database layer
At the lowest level, Summit offers a database layer as part of our Persistent Storage offering. This database is Postgres-compatible and powered by Cockroach Labs. We made this choice for you because it is highly-scalable and resilient.
Our data layer also includes built-in "it just works" connectivity to this database. Just write a Query event containing any SQL, send it to a Storage event, and the results come back as a list of rows in JSON format.
Don't want to use our built-in database or want to bring your own? We're flexible. Just pass a connection string (stored in your Vault) to the Storage event, and we'll send queries to that database instead.
Logic layer
Logic, traditionally called the "controller" layer (and sometimes the "view" layer) of a stack, is where things often get tricky, especially with no-code/low-code. The primary use of languages like Python, PHP, and Ruby is to tackle this layer, after all.
These languages are incredible, but if you're looking to ship web apps, API's, and automations against deadlines, we find the ratio of setup and configuration vs. code-that-actually-does-the-interesting-work to be out of whack. I was recently looking at a HubSpot SDK written in Python and this ratio was easily 100 lines of configuration per line that "matters" in any business sense.
Summit Event Language (SEL) is a distillation of the lines that matter. Sitting on top of Python, is brutally succinct, reducing what could be a 5,000 line request to a HubSpot endpoint to two lines of code: one to define the Object you want to retrieve, and another Request object to make the call.
You can think of SEL as what you'd see if you peeled away the user interfaces and forms from all of the things you see on your screen when you're using a no-code automation platform like Zapier or Make. It's the stuff that sits behind these forms that you often wish you could change to make your automation do that one thing just a little bit different. Where other products put up their hand, Summit waves you in.
Logic in Summit is stored in files called models.
API layer
Sitting on top of this logical layer is a layer of API's that spin themselves up any time you deploy (save changes to) a model.
The web is awesome because of its connectivity. Summit is designed to be highly-connective with numerous ways to run a model and fetch its output. Every model can be called or run via:
- Synchronous HTTP request (POST)
- Asynchronous HTTP request (POST)
- Webhook
- Inbound Email
Even with all of these ways to call a model, Summit does not restrict or control the interface to your model, i.e. the arguments it takes, which is yours to freely define using Parameters ("Tags").
All of this functionality is provided to you with zero extra effort once you create a model. With Summit, you never have to worry about using what you make from elsewhere, as long as they allow requests.
Presentation layer
Sometimes your creation is just data, like retrieving a set of records. Sometimes it's data plus logic, like an automation to process an email. But sometimes you also need the ability to view this output in a web native way.
Summit provides you with the ability to write and generate code, text, and HTML using the same world-class templating language that's built in to Python's Django framework. With liquid syntax at its core, plus a load of custom filters and tags, this engine is fully-equipped.
Every model you publish has the ability to return an HTML Response in addition to JSON.
Playground view
For HTML fragments and prototyping, we offer a view that turns any model into a simple form and display.
HTML pages
For full-blown HTML pages and single-page apps, you can use HTML pages (how novel, we know).
You'll find the URL to view this HTML on your model's API's & Webhooks screen. These screens use an API key for authentication and are perfect for creating single-page internal apps.
These pages aren't limited to static HTML, either. Summit recommends the use of TailwindCSS and htmx to create interactive elements, dashboards, and pages.
Tailwind allows you to generate beautiful pages without the need to write inline styles or mess with complex stylesheets. htmx is a tiny but elegant scripting package that opens up the powers of JavaScript (asynchronous requests and more) to you without hassle of build steps or learning JavaScript syntax.
Embeds / iframes
You can embed your Summit-powered HTML pages elsewhere; moreover, we provide a convenient way to manage access across various domains. If you want Summit to power part of a web application or internal tool that lives outside of Summit, it's a few clicks away.
Where to?
The best way to learn Summit is to get your hands a little dirty by signing up for a Maker account.
You might also want to start by watching some of our YouTube tutorials, or joining the no-code/low-code community chat in Discord.
Updated about 2 months ago