Inspiration

Travellers checking entry requirements have to share sensitive personal details like passport info, health records, and equipment value. That creates a privacy risk. We built Chuba to solve this. The name comes from the traditional Sherpa robe, which provides warmth and protection in harsh conditions. Chuba protects your data the same way, using Midnight to generate Zero-Knowledge proofs so you can prove eligibility without exposing your raw information.

What it does

Chuba is a privacy-preserving travel eligibility tool. Users enter their departure, destination, equipment value, health status, and security clearance. The system uses the Sherpa API for real travel data, and Midnight generates a ZK proof that verifies eligibility without exposing personal information. The result is displayed with a ZK Protected badge, proving the verification happened.

How we built it

The frontend is React with TypeScript and a clean, hacker-friendly UI. The backend is an Express API that connects the frontend to the contract and Sherpa API. The Midnight Compact contract handles private state and ZK proof generation. User data stays local, and only the ZK proof goes on-chain.

Challenges we ran into

Getting the Compact compiler to work across different environments like Windows, WSL, and Docker was difficult. Understanding the Sherpa API and its data requirements for eligibility checks took time. Setting up the ledger state in the Compact contract for private user data was also challenging. Coordinating a distributed team across different time zones and platforms added to the difficulty.

Accomplishments that we're proud of

We built a working full-stack app with React, Express, and Midnight. We wrote a Compact contract that compiles and handles private state. The ZK Protected badge visually proves the privacy layer is working, and the UI is clean and intuitive.

What we learned

We learned how to write and compile Midnight Compact contracts. We learned how ZK proofs work in practice, not just in theory. We learned the importance of privacy-preserving design in travel applications and how to integrate a real travel API with Midnight.

What's next for Chuba

Deploy the Midnight contract to testnet and replace simulated proofs with real ones. Expand the country database to 50 destinations. Build a mobile app using React Native. Add Midnight DID for user accounts with no central database. Direct integration with Sherpa Requirements API for live data.

Built With

Share this project:

Updates