We help engineers and product teams solve customer retention and product education through open-source tooling.
š Website - š Documentation (soon) - š Waitlist - Slack - Figma (soon)
Only interested in features? You can skip the spiel by clicking here.
Building great software is hard.
Someone, presumably...
But educating users how to use software effectively, demonstrating the value-add it brings and keeping those users active over time is harder. When companies donāt educate, engage and keep their users active, they risk dissatisfying those users and increase the likelihood of churn.
Our goal is to bridge the gap between product and customer, helping users get up to speed with your software product quickly, automating customer engagements and providing a real time 360-view of customers at all stages of the adoption lifecycle.
Absolutely, but building user education (product tours, checklists .. etc) and retention experiences (upselling dialogs, email engagements) into applications is time-consuming, often requiring:
- constant code updates and database migrations.
- complex scheduling and user segmentation logic.
- crossover between frontend and backend teams.
- multiple sprints worth of dev time.
Pendo, Intercom, AppCues and Chameleon are probably the most well known product adoption platforms. The problem with these platforms is that they all cater to non-technical users, cut out engineering and try to solve the problem by providing pre-built UI components. As a result they
- aren't extensible and offer very limited customisation.
- only fit a handful of use cases (youāre stuck using tooltips and modals that work at a layer above your product via a JavaScript snippet).
- look and feel like an afterthought (since they donāt fit your design language or brand).
- are difficult (and often expensive) to self-host.
Crumpet allows developers to integrate onboarding, education and retention experiences into their software products natively and using their own UI components through a drag-and-drop workflow builder combined with an SDK.
-
šŖ Configure simply, engage purposefully: modelling customer engagements as steps in a workflow gives engineers and designers as much freedom as possible. This means you can bring your own UI components or use our existing library of templates.
-
šŖ Flexible customer data model: share whatever data you want with Crumpet and use this to target specific users or groups. This could be users on a free trial, users of a particular company or whatever you like - itās just JSON under the hood , no need to retrofit your data into predefined objects on a remote cloud.
-
š Open-source, open architecture: Contribute, self-host, fork. Break free from vendor lock-in and join us in transforming how software businesses engage with their customers and drive product adoption.
-
šØ Extendable and customisable: Extend our API and connect Crumpet to your internal systems and tools (i.e. CDPs, CRMs, direct messaging tools like Slack ā¦ etc)
-
šø Transparent pricing: Our community self-hosted version will always be free and open-source. Our cloud version is priced like typical usage-based SaaS - you pay only for what you use.
-
š¾ Own your data and host on your terms: your data never has to leave your infrastructure.
Weāre currently in the development phase of Crumpetās alpha version. If you have ideas, think something is missing, have a specific requirement or just want to ask a question, please either create an issue/disscussion or message our Slack community.
Hereās an idea of what you can build with Crumpet.
Engagements in Crumpet are just simple state machines, steps represent the state and transitions move state through the flow.
You can access, manage and transition user flow state from code by calling the defined transition event.
const [block, transition] = getBlock(āwelcome-cardā);
block.state.isActive; //true
transition(ācompleteā);
block.state.isActive; //false
Identify your users and share as much or as little data as you like with absolutely no schema migrations. Itās just JSON under the hood, so you to query update and transform data into whatever structure you want.
You can share data with Crumpet by manually creating and editing records within the web app or share it via the SDK or our API.
crumpet.identify(userId, {
"name": "Jared Dunn",
"email": "jared.dunn@piedpiper.com",
"properties": {
"subscription_tier": "starter",
"daily_active_hours": 1.2,
"features_used": [
"cloud_storage",
"video_chat",
"not_hotdog"
]
//... anything you like
}
});
Choose who should see your engagements by segmenting customers into groups based on shared criteria. Since itās just JSON, you can create targeting rules on any properties you like.
Crumpet is still in development so expect regular updates and new features. If you have any ideas or features that you think weāre missing, please get in touch.
Hereās whatās to come:
- šŗļøĀ Public roadmap (coming very soon).
- šĀ Contributing guide with labelled 'good-first-issues' (coming very soon).
- šĀ Documentation (coming very soon).
- š³Ā Docker image.
- š ļøĀ React SDK (other frameworks to follow).
- šĀ Customise Crumpet with plugins and more.
- š½ļøĀ Templates and recipes.
- You can star the repository.
- You can join the waitlist to stay in the loop.
- Join our Slack.
- Contributions are extremely welcome (and very much appreciated)! If you're interested, please message me on Slack (for now) and I'll help you get set up.