KarmaKey, Inc. is a provider of loyalty programs on mobile devices through tight integration with POS systems. KarmaKey, Inc. is a start-up company that was one of the BoomStartup 2010 participants, created by a group of entrepreneurs in Utah. Boomstartup is a Founding Member of The TechStars Network. The KarmaKey solution is built on a LAMP platform, integrated with Point Of Sale (POS) systems, and includes a mobile application … KarmaKey is a comprehensive customer loyalty solution with extensive analytics.
“KarmaKey lets you combine all your loyalty cards onto one single device… your phone. Amazing, right? Now you can avoid the hassle of having a wallet full of half-punched loyalty cards and achieve zen with the new KarmaKey app!”
Scott Lemon, the founder of HumanXtensions, is also one of the founders of KarmaKey. HumanXtensions tapped into it’s broad and extensive wealth of experience to architect and develop the KarmaKey platform from bottom to top. The solution involves .NET code integrated with the POS systems, an Amazon hosted LAMP solution providing the core data warehouse and admin/user portals, and a mobile application written using Appcelerator’s Titanium environment.
The core of the KarmaKey platform was built on a set of XML and JSON web services which provide the POS systems and mobile application with sophisticated and secure access to the KarmaKey data services. As a part of this core is also the administrator portal, where the KarmaKey staff and monitor the overall system, and view comprehensive client reports and charts. There is also a notification and feedback system allowing the administrators to view system notifications, and feedback from clients and end-users.
When a participating merchant signs up with KarmaKey, the POS integration service is installed in their POS system. The POS integration service was written to perform several different functions:
- collect and upload transaction data
- receive trailer data and KarmaCodes
- add KarmaKey redeem button to the register
- request KarmaCode validation
- apply redemption discounts to ticket
- provide fallback transaction queuing
- provide automated code update service
All of these functions were implemented in a .NET service, combined with Micros SIM Scripts, which then utilize the XML Web Services to communicate with the KarmaKey back-end services. HumanXtensions designed a streamlined installation process to install from the web, and a secondary update service to allow KarmaKey to scale the upgrading process – automating it to minimize human involvement – as they grow and add more installations. The back-end services created by HumanXtensions were also created as an extensible architecture which will allow KarmaKey to integrate with other POS Systems in the future.
KarmaKey also required a merchant portal allowing the business owner to log in and view overview and detailed information about their sales and loyalty program customers. The merchant portal created by HumanXtensions allows the merchant is able to see an immediate Overview of their loyalty program – card holders, transactions, claims, and redemptions – that can give the merchant a quick view into the activity today, over the last week, and over the last month. All of these analytic numbers are generated from the various carefully designed database tables where the raw data is collected.
The merchant is also able to see various sales charts that give them insights into their business and sales trends, showing the number of sales per hour, day or month and the trends in sales amounts. The charts leverage Google Charts and were created to show counts of transactions, total sales dollars per period, and average sales dollars per period. These are only some of the many charts that can be created from the wealth of data being collected.
HumanXtensions also implemented a “news feed” that shows the current and historical activity within the merchant’s loyalty program so that they are able to see the new customers who have joined, and what activities their loyalty program customers are taking. This feed displays the various activities as a stream, and is created by querying the numerous different database tables and combining the result into a time-ordered list. This feed is designed to evolve in future versions of the platform to provide a place for the merchant to reach out to specific customers via the mobile application or text messages, and also to launch customer specific reports.
The final aspect of the merchant portal was the creation of a series of customer profile information charts. These charts combine the sales and transaction data with the opt-in customer profile data and provide the merchant with greater insight into who is participating in their program. The initial set of charts display to the merchant details about the gender and age group of the participants, what other KarmaKey loyalty programs they participate in, and a distribution chart showing the balances of their card holders. HumanXtensions designed this aspect of the project to be able to continually add new and more valuable charts as the wealth of data accumulates.
HumanXtensions developed the mobile application for KarmaKey using the Appcelerator Titanium platform. Using this platform avoids the unnecessary burden of creating multiple codebases of souce code to support multiple types of mobile devices. The application communicates with the back-end JSON Web Services using an advanced protocol developed by HumanXtensions to support secure authentication, multiple device logins, and geo-based queries all allowing for multiple asynchronous requests and responses.
One of the requirements for the mobile application was to allow a KarmaKey user to easily locate nearby participating locations. The solution for this combined the use of the mobile device GPS with automatic geocoding of the locations in the back-end services. One of the JSON Web Services allows the application to easily query for nearby locations and displays the results.
KarmaKey users also need to see their cards and balances, along with claiming KarmaCodes for points and creating KarmaCodes to be able to redeem their points. All of this was implemented using additional JSON Web Services, and also encoding schemes which allows for the use of different image resolutions for the different types of mobile devices supported.
The KarmaKey users are also able to edit and maintain their profile information through the mobile application. HumanXtensions architected this using a WebView control within the application which displays HTML content using jQuery Mobile. This hybrid approach was chosen to allow the profile pages to be extended and enhanced without having to modify the mobile application, forcing it to be updated in the various app stores.
Most recently HumanXtensions developed integration between the KarmaKey platform and Twilio for the addition of SMS Text Message support. This set of features is continuing to be enhanced to extend the KarmaKey platform past “smart” mobile devices to also be able to provide support for standard feature phones.
KarmaKey is one of the more complex distributed applications developed by HumanXtensions, and is an ongoing project which is still being supported and enhanced.