Core - evolution of our infrastructure


#1

We have been doubling down on development efforts of Core, our Rails Engine backend library and building out the suite of compatible Engines that will supercharge this approach.

Core, on its own, is very powerful. It gives you, out of the box, many many things that you need when building a new modern backend infrastructure, so you don’t have to write this stuff, AGAIN, from scratch. It’s a little opinionated, in that the features represent what we believe is both common and pre-requisite for modern, innovative applications of the next-generation, based on our experience of building numerous products for ourselves and for our innovative clients.

What we really want though, is to supercharge Core :zap: .

Give Core magic powers :mage:

This will happen in two primary ways that I imagine right now.

:one: Domain Specific Engines

:two: Vulcan Modules

Domain Specific Engines

If you want to use Core for your company / project, chances are you’ll need to very quickly think about the scope of your first domain specific engine. This is an Engine that contains all of your proprietary business logic and API endpoints to resources specific to your domain.

This engine has the capability to accessing Core’s features, extending them within the namespace of your custom engine. For example, you could create a much more specific User model than we give you in BeachAPICore::User by subclassing this model inside your engine, for example, if you wanted to really extend the User profile with more specific structure.

Most critically, all of your unique models, controllers, even views can be served via your custom Engine.

In each of the Instances of Beach Platform that we’ve deployed so far, we have created at least one custom engine that works alongside Core as a dependency. Most projects have more than one custom Engine.

The beauty about this approach also, is the ability to have different license terms and access levels for each Engine. Core is provided with a permissable open source license. It is likely, based on our experience so far, that your core proprietary business logic will need to be a very different approach, likely closed source and highly restrictive. It also doesn’t dictate that you can’t open source your code, if you so decide. Whatever you decide, installing your code through the Rails Gems dependency management system is very simple.

With this approach, it’s fully practical for these Engines to live together within a codebase and pass technical due diligence if you’re raising money from investors - we know, we’ve done this more than once with Beach Core customers raising more than $15m do date.

We offer custom Engine development services - get in touch to discuss your needs with us.

Vulcan Modules

Vulcan is our own custom Engine, designed to work directly with Core. You can think of it as a kind of bridging Engine. It’s not technically necessary, like Core is. But, if you have it, you’ll wonder how you ever lived without it!

Vulcan is designed to supercharge your company or project with magic technical powers.

Vulcan encompasses features that are driven by visual automated process workflows. It exposes the technical powers of your code to all members of your teams to fully maximise their use in your business - from product development, to operations, to finance - all aspects, really putting every part of your code to use in the pursuit of building an intelligent next-generation startup business.

The first and default Vulcan module that you would have access to is codenamed Odin.

Odin, the leader of Asgard in Norse mythology and renowned for his wisdom and courage
You may have guessed that the Odin module is a knowledge & research tool.

Knowledge & Research Module

The Knowledge & Research module is a visual note-taking and collaboration tool. It’s designed to make the gathering of rich information around topics fast, powerful, collaborative and dynamic. It’s visual interface, based on the Concept Graph approach, similar to mind-mapping (but critically different in many ways) offers us the best way to store and manage information.

This is hugely powerful, especially when it represents the collective intelligence of your organisation.

For more information about the Knowledge & Research tool inside Vulcan, :arrow_right: follow this topic.

Bot Module

The Bot module extends the Vulcan system with a suite of new tools designed for building conversations, that can result in building Chatbots, Voice interfaces and highly personalised apps.

The Bot module gives you the ability to quickly iterate new conversational Flows, which can be simple logic trees to more advanced natural-language driven, context derived intent based flows. It’s hugely powerful and offers you the opportunity to take these conversational structures into the environments where you interact with your customers - inside your website, your apps, your chat apps, like Messenger, Slack, Telegram.

The future of human-technology interface is conversational intelligence, and we believe that the bot module is a key stepping stone to enabling this reality.

For more information about the Bot module inside Vulcan, :arrow_right: follow this topic

Website & App Builder Module

Building websites, mobile apps and single page web apps continues to drive most of the product development activities of startups and established business alike.

Many activities within this area, beyond the initial ideation, ends up being repetitive tasks - such as producing new product landing pages from templates, perhaps changing a few styles, key messages and call’s to action, but with the actual component design and structure already very well defined. Often the reason for doing this is driven by business needs - a new marketing campaign, for example - but requires the input of overqualified development resource to enable it.

The vision for this module is to make it possible to expose Website and App building functionalities to a greater number of people within your organisation and reduce the barrier to entry based on skillset requirements to achieve the business goal.

The seed was planted when we built a way to create apps and websites using Sketch as an app builder interface.

We imagine the role of machine intelligence in supporting this module, supporting business users with making intelligent decisions about how to construct new public-facing materials, such as advising on which layout mode to use for a particular component, which call to action, which colour pallet, in order to achieve business objectives. This is a complex area to get right, so I’m staying intentionally light on details for the time being.

We’ve got particular experience in this field, with our supportive tools and services Hammer, Forge and Chisel benefitting from the experience of working with more than 50,000 web developers worldwide. We are creating a suite of tools needed to make website and app creation and iteration a more streamlined and intelligent process.

Business Process Module

We are huge fans of business process automation, using tools such as Pipefy, Tray.io, Zapier, IFTTT etc. But we found, despite using these services, that there’s something missing in each of them.

Pipefy lacks the ability to rapidly sketch and iterate the process design itself, relying on us doing this offline and then converting to pipes.

Tray, although extensive, is more geared towards technical process designs and the tools for the broader business are not so clear.

Zapier and IFTTT are great for building individual integrations, but not so good for overall process management that these integrations fit into.

With the business process module, we intend to make good on the process of business process automation.

These are just a few of the Vulcan modules that we have in the works. But, it doesn’t end there. Once you have designed and implemented your own custom Engines, full of specific resources, logic etc. you maybe asking… “how can I expose this into Vulcan?”

That, my friends, is a discussion for another time.