Inspiration

LYLT is inspired by small business loyalty programs that implement punch cards to record transaction history.

What it does

A business owner registers their business, then defines a promotion. A promotion includes a claim requirement, a reward, and business details. A promotion may require a customer to have accrued points, coins, or nfts before claiming their reward.

Points - By default whenever a custom scans a promotion, a point is issued to that customers account. Whenever the limit defined by the business owner is matched, the points are automatically transferred to the promotion record itself.

Coins - LYLT is minted after the business owner claims the points on each promotion. The lifetime points earned is kept within the promotion record.

NFTs - Promotion NFTs can be created by anyone as an investment into the business promotion using LYLT coins. These NFT have meta data that is dynamically updated using off chain lifetime point data.

Here are some example promotions for clarity:

  1. 5 points for 1 Free Sandwich
  2. 5 "LYLT" Coins for a Birthday Cake
  3. 1 "LYLTB" NFT purchased for 50 "LYLT" coins and 1000 points accrued for a catered pizza party on your Birthday annually.

How we built it

LYLT is built on the Polygon Network using Chainlink's API to update promotion NFTs. Its front end is built using Biconomy.io for authentication and account abstraction with gas-less transactions. The interface was built using NextJS and deployed to Vercel. The off-chain database and api is built using Firebase functions and Firestore database

Challenges we ran into

System design best practices using Chainlink.

Accomplishments that we're proud of

Building a NFT with an oracle dependency was a first.

What we learned

I gained a better understanding of the Chainlink ecosystem and how oracle jobs are constructed. In particular how Nodes operate.

What's next for LYLT

We will be piloting the program within the coming weeks with different industries including food trucks and retail.

Built With

Share this project:

Updates