NUPY offers a B2B service, an NFT event creation tool that combines AI and chatbots, and a "Chatbot Airdrop Dapp" for users.

The problem NUPY solves

Nupy is aimed at creating a tool that can easily and simply create NFTs, generate interactions, and provide rewards using NFTs to form a virtuous cycle of Event > Interaction > Reward.

It is a scalable tool for businesses through chatbots and AI. Users set the location and conditions to issue the NFT. When the user enters the chat room code created by the company into the application and provides the conditions required by the company (photos, text, location information), they are air-dropped an NFT.

The following solves the fundamental problems existing in the current NFT ecosystem

Problem 1. Value Decline due to Indiscriminate NFT Issuance

By applying the features of NFTs in areas that can actually be used outside of art (e.g. documents, proof of ownership, etc.), we are expanding the range of practicality of NFTs.

  • Case 1. It is possible to develop a safe and transparent voting system using blockchain technology. It ensures the integrity of the election and allows voting to be conducted simply via a chatbot.
  • Case 2. "Apply for Early Bird" The chatbot takes care of the FAQ about the service, and NFTs are air-dropped for pre-entry tickets.

Problem 2. Difficult NFT Concept and UI/UX

By applying NFTs to fields that can be easily encountered in everyday life, and utilizing the chatbot UI/UX and AI features, we minimize the entry barriers and burdens for users.

Problem 3. Environmental Pollution due to Carbon Emission at Issuance

To reduce greenhouse gas emissions due to the energy used to issue and trade NFTs, we integrate NFT issuance and trading into the Flow ecosystem.

Challenges we ran into

Difficulty in learning Cadence

A lot of time was consumed in learning Cadence itself. Understanding the process of wrapping the entire Cadence code to be executed and sending it in JS code also took time. The example for the Blocto wallet was outdated, so I had to find a proper example from the Flow documentation and fix it. It was a growing experience for me, facing the pitfalls and realizing that I should have looked at the official documentation before looking at derived products.

Excavating Flow Development Documentation

The contract developer had implemented the method by calling from JS using Cadence. But when I tried to apply it, there was a problem with the test node and I couldn't check it properly. Despite the diligent development, the hardest part was the inability to verify whether the actually implemented part was working well.

Lessons on Data Management

I was in the process of managing global data using recoil while saving user data. The key point in this process was to maintain login on the browser. Fortunately, there was no problem as we decided to store it in localstorage using the effects feature supported by Recoil. However, it was impossible to re-login when a certain value was missing in Recoil. Calling the window object was not possible, so functions were added for each page. On reflection, it would have been nice to use NEXT/auth to use user information. If so, it could have been handled with cookies... there is a lingering regret that the wallet connection might have gone smoother if we had done so.