project screenshot 1
project screenshot 2
project screenshot 3

Jilo

Jilo is a telegram based mini-app designed to help users create, send, and manage invitations for events (like meetings, parties, or conferences) while ensuring a next level confirmation of RSVP's by minting PKP's.

Jilo

Created At

ETHOnline 2024

Project Description

Project Name: Jilo

Platform: Telegram-based app

Project Overview: Jilo is a Telegram-based event management app designed to create, send, and manage invitations for various events such as meetings, parties, conferences, or other social or professional gatherings. The app focuses on simplifying the invitation and attendance confirmation process while leveraging blockchain technology for enhanced security through Programmable Key Pairs (PKPs).

The core idea behind Jilo is to offer a simple, user-friendly interface that makes it easy for users to set up events and for participants to confirm their presence through secure, decentralized verification mechanisms. Unlike many traditional event management apps, Jilo prioritizes ease of use, minimal steps, and high-level security.

Core Features:

Create Invitations:

Users (event organizers) can create custom invitations for their events, specifying details such as: Event name and type (e.g., party, meeting, conference). Date, time, and location (can be physical or virtual). Event description (agenda, dress code, or any specific instructions). Organizers can set restrictions, allowing only invited guests to access event details. Send Invitations:

Once the invitation is created, the organizer can send it directly through Telegram to selected participants. This can be done via: A direct link to the event page. A shared invite within a Telegram group or chat. Restricted Access:

Event details are only accessible to those who receive and confirm the invitation. Participants need to verify their identity and confirm their presence using blockchain-based methods, making unauthorized access impossible. This system ensures privacy and security, particularly for high-profile or sensitive events where only specific attendees are allowed. PKP Minting for Verification:

Participants confirm their presence by minting Programmable Key Pairs (PKPs). This involves a simple process: Upon receiving the invite, participants will be prompted to mint a PKP using a straightforward UI. The PKP will act as their unique identifier for the event, ensuring both secure access and proof of participation. This ensures that participants are verified and authenticated through decentralized technology, making it harder for unauthorized users to gain access. Session Signatures for Confirmation:

After minting their PKP, participants will confirm their attendance by signing session signatures. This signature serves as their digital confirmation and can be tracked by the organizer to ensure all guests have acknowledged the invite. Seamless Event Management:

Organizers can easily track RSVPs, monitor confirmed participants, and manage event-related tasks through a simple dashboard. Participants can view event details, communicate with the organizer, or update their RSVP status if necessary. :

How it's Made

How Jilo is Made:

  1. Technology Stack:

Telegram Bot API: The backbone of Jilo is a Telegram bot, built using the Telegram Bot API. This bot handles all user interactions, from creating events to sending invitations and verifying attendance. Telegram’s API provides a highly flexible platform for interaction, allowing for seamless integration with blockchain technologies. Node.js & Express.js: Jilo’s backend is powered by Node.js and Express.js, ensuring fast, scalable, and efficient handling of user requests. This backend handles event creation, participant management, and interfaces with blockchain components for PKP minting and session sigs. Lit Protocol: One of the standout technologies in Jilo is Lit Protocol, used for minting PKPs (Programmable Key Pairs) and managing session sigs. Lit’s PKP mechanism allows for decentralized key management and authentication, ensuring that only authorized users can access event information. Solidity (Ethereum Smart Contracts): Solidity is used to write smart contracts for the event verification process. This includes minting PKPs and managing session signatures. Smart contracts handle the event’s verification logic, ensuring decentralized, trustless interactions. IPFS (InterPlanetary File System): IPFS is used to store event details in a decentralized manner, ensuring that event data is secure and immutable. Only verified participants with the correct PKP and session signature can access the stored data. MongoDB: MongoDB stores non-sensitive event data, such as event metadata (name, date, location) and user preferences. This database allows for fast querying and easy scalability. Web3.js / Ethers.js: Web3 libraries like Ethers.js or Web3.js are used to connect to the Ethereum blockchain, interact with smart contracts, and trigger the minting of PKPs. These libraries enable seamless interaction between Jilo’s backend and the blockchain. 2. Step-by-Step Process:

Event Creation Flow: Step 1: Telegram Bot Interaction: The user (event organizer) interacts with the Jilo bot through commands in Telegram, such as /create_event. The bot then prompts for event details like name, date, location, and participants. This information is stored in MongoDB and IPFS. Step 2: Backend Processing: The bot sends the event details to the backend, which processes the event creation request. This involves saving the event to the MongoDB database and encrypting sensitive event details, which are then uploaded to IPFS. Step 3: Invite Sharing: Once the event is created, the organizer can share the invitation link with participants. This link contains a unique event identifier that participants will use to verify themselves. Participant Verification Flow: Step 1: Receiving the Invitation: When a participant clicks the invitation link or receives a message in Telegram, they’re directed to interact with the bot to confirm their attendance. This initiates the PKP minting process. Step 2: Minting PKP (Powered by Lit Protocol): The Telegram bot connects with Lit Protocol’s API to mint a PKP for the participant. This PKP serves as their unique, decentralized identifier. The process of minting is abstracted behind a few simple buttons to ensure ease of use. Step 3: Session Signature Signing: After minting the PKP, participants sign a session signature, which serves as their digital confirmation of attendance. The signed session is stored on-chain via smart contracts. The blockchain backend verifies this signature before granting access to event details stored on IPFS. Event Management Flow: Step 1: Managing RSVPs: The bot updates the event’s participant list with confirmed attendees. This list is stored on-chain and can be queried by the organizer at any time via the bot. Step 2: Event Access Control: The event details remain encrypted and stored on IPFS. Only participants who have minted a PKP and signed their session can access the decryption keys to view the event details. This ensures full privacy and security. 3. Key Technologies and Their Role:

Telegram Bot API: Facilitates user interaction and event management through simple commands. Node.js & Express.js: Provides the foundation for handling requests and integrating the various services (Telegram, Lit Protocol, IPFS, Ethereum). Lit Protocol: Handles decentralized key management via PKP minting, ensuring secure and decentralized access to event details. Solidity (Smart Contracts): Manages the logic behind event verification and session signature handling. This provides trustless verification without needing centralized servers. IPFS: Decentralized storage for event details, ensuring privacy, immutability, and access control.

background image mobile

Join the mailing list

Get the latest news and updates