Elarian Hackathon & Building Scalable Solutions

Nov 13, 2021, 5:00 AM – 6:00 PM (UTC)

Elarian Community

Elarian is organizing a scalable solutions hackathon about Elarian on Nov 13th, 2021 from 8:30 AM EAT until late. The event will feature how Elarian addresses building apps at scale and features you can use to bring this into reality, followed by a hackathon where participants will develop scalable solutions further and compete for prizes. We will have launch party later on. Get your Tickets!

71 RSVPs

CommunityCustomer EngagementEnergyEntertainmentFin TechHackathonHealth TechJAVA/KOTLIN/SCALA SDKJavaScript SDKPython SDKWeareElarian

About this event

Elarian is organizing a scalable solutions hackathon about Elarian on 13th Nov 2021 from 8:30 AM EAT until late. The event will feature how Elarian addresses building apps at scale and features you can use to bring this into reality, followed by a hackathon around Elarian where participants will develop scalable solutions further and compete for prizes. Social distancing, mask wearing and other safety measures will be observed to keep facilitators and participants safe. 

The Hackathon is open and you can start building now:

The same day there will be an official launch party to celebrate solutions built and early adopters.

Elarian provides infrastructure for building reactive, scalable applications fast. At its core, Elarian is a customer data and automation framework. It helps you organize and work with your customer data, even as you perform basic actions such as sending messages or handling payments; this data encompasses communications, payments, and activities generated from sources such as websites and mobile apps.

The "Elarian SDKs, Tools and Scalable Solution” to help engineers build scalable solutions with Elarian SDKs seamlessly !". As the title suggests, the objective is to introduce attendees to Elarian SDKs: JavaScript, Java, Scala, Python, PHP, .Net, Ruby & Go. This is designed to empower developers in building solutions in:

Data Hierarchy

The root owner of data in Elarian is an organization, which is identified by a unique orgId. Engagement data within an organization can then be contextualized further using applications identified by a unique appId. An example of this would be a survey application or a loyalty program application, all within the same organization.

While establishing a connection to Elarian, an appId is required to indicate which application should be used to contextualize the following engagement data.

Customer Data Management

Elarian provides several constructs to help you organize your customer data. The broad categories of supported customer data are Identity Data, Metadata, and App Data.

Identity Data

Identity Data refers to data that allows your application to identify one customer or groups of customers. At the moment, there are four primary pieces of identity data, and these are customerNumber, customerId, secondaryId, and tags.

Metadata

Metadata allows you to store arbitrary data about your customer in a key-value map associated with a unique customer. The data can be in either string or binary format, which allows you to serialize complex objects and associate them with the customer. Examples of metadata could be a user's address, language preference, or gender.

App Data

App Data allows you to store arbitrary data to help determine the state of a user for a specific application. Using the survey application as an example, you could use app data to store what question you're currently waiting for the user to answer. App data can also be in string or binary format.

A customer can have multiple instances of app data linked to them, e.g., the survey app data and the loyalty program app data. The appId passed while establishing a connection determines the instance of the customer's app data that will be made available. Another way to think about this is establishing connections to different databases, only that the database (app data) stores information for a single customer.

Engagement Automation

Elarian allows you to initiate requests to customers and handle notifications from customers through communication or payment providers. In line with the customer being the unit of abstraction, all data that a customer generates is stored in the customer's perspective, making it easy for your application to build a better profile of the customer's behaviour.

Messaging

Elarian accepts a sendMessage command, where you specify the customerNumber, channelNumber, and the message to send. Elarian supports messaging across various channels, namely, SMS, Voice, Ussd, WhatsApp, Facebook Messenger, Telegram, and Email.

Payments

Elarian provides a rich infrastructure for managing payments. We provide functionality for storing money into purses owned by organizations or wallets owned by customers. You can create as many purses or wallets as you need.

Elarian then allows you to initiate payments through different providers (MNOs, Banks, etc.) and process received payments that come in from those providers.

Customer Activity

Elarian allows you to track customer activity data from various sources such as mobile or web applications. This customer activity data helps you build an even richer profile of your customer's behavior. You can then correlate this activity data to your customer's messaging and payment data to make intelligent engagement decisions.

A simple e-commerce example might be tracking a customer's abandonment of their shopping cart and sending them a reminder on SMS or WhatsApp to buy the products before getting out of stock.

Pre-requisites:

  • An instance of Elarian installation 
  • Accounts for each team/organization (Working in teams) to log in and create an app
  • Connect to SDKs you will use

Agenda

1. Team Breakouts

Attendees break into different teams: Teams of 5 to 8 members. Each member is required to have:

Login instructions to the instance/API they will be working on

Ensure everyone in your team is signed up and you have added them to your team

Assign modules that each team member will build


2. SDKs Overview (90 mins)

  • SDK Overview.
  • Give a preview of how to create a team/org (At least 2)
  • Each team to discuss 2 or 3 use cases.
  • Each team to document the discussion.

If each member will be from a different company/organization. That is ok. Ask them to share their stories from their existing roles at their companies. I suggest picking Shared Understanding and Managed Dependencies as the two attributes.

If you are working through Step 4 and Step 5 of this workshop (optional), you should also suggest each team have a developer familiar with cloning GitHub/GitLab/BitBucket repositories and writing basic JS/HTML/Java/Python/ code.

3. Project Poster (60 minutes)

In this section, we will be providing three strategic objectives for all teams. Each team will be responsible for coming up with a new feature for existing Elarian Products, or a new product. The feature or product should align with any one of the strategic objectives provided.

  • Building Elarian CDP solutions using JavaScript
  • Communication (USSD/SMS/Voice/Telegram/WhatsApp/Messenger)
  • Customer Insights/Habits/Data points solutions
  • Payment integration solutions

NB: BYOC(Bring your Own Connection) AT, Twillio and Stripe

Each team is responsible for coming up with a new feature or product that aligns with either Analytics or Communication or Customer Insights/Habits/Data points.

We will use a document to brainstorm:

  • What are we doing?
  • Why will a customer want this?

The team will create a Trello page or Google Doc, and answer the above questions in the "Ready to make it" section of the project poster.

4. Tracking message insights in Elarian(60 minutes)

Each team will create a story point on Elarian, that is linked to the Project you are building or the customer data model you will be building a solution on Google Docs.

5. Code in GitHub/GitLab/BitBucket and deploy in Docker/Automated CI/Travis CI/Bamboo (240 minutes)

Note: This section needs additional setup.

Developers in each team will clone the repository of the sample apps, and create a JS/HTML page to market their new feature or product. Upon commit, the repository is built and deployed to an accessible web server or an S3 bucket.

6. Demonstration and Wrap-up

At the end of Step 3 or Step 5, each team demonstrates their published solutions, 

7. Next steps (Rewards and follow-up)

Rewards for the outstanding attendees who will build stable MVPs:

  • Opportunity to get Gigs
  • KES 10,000 for the winner
  • Lots of Swag

Note: Carry a laptop

Facilitators

  • Anthony Kiplimo

    Africa's Talking

    Developer Relations

  • Michael Kimathi

    Africa's Talking

    Head of Developer Community

Featured Attendees

  • Michael Kimathi

    Elarian

    Developer Relations Community

  • Daggie Douglas

    BMI

    Developer

  • Phanuel Mutuma

    Robust Limited

    Software Engineer

  • Jeff Mboya

    Qualis Labs

    Head, PR

  • Iancecil Njoroge

    Strathmore University

    Student

  • Brian Muigai

    USIU-A

    Student

  • Judy Ngure

    Kazzo limited

    CEO

When

When

Saturday, November 13, 2021
5:00 AM – 6:00 PM (UTC)

Agenda

5:00 AMIntroductions, Registrations and Icebreaker
5:30 AMTeam Breakouts and SDKs Overview
6:00 AMProject Poster (60 minutes)
7:00 AMTracking message insights in Elarian
8:00 AMCode in GitHub/GitLab/BitBucket and deploy in Docker/Automated CI/Travis CI/Bamboo
10:00 AMLunch
10:45 AMCode in GitHub/GitLab/BitBucket and deploy in Docker/Automated CI/Travis CI/Bamboo
1:00 PMDemonstration and Wrap-up
2:45 PMNext steps (Rewards and follow-up)
3:45 PMCelebration and Good Music

Global sponsor

Africa's Talking logo

Africa's Talking

CONTACT US