Inspiration

Travelling from one country to another for work involves lots of processes from applying for visa, registering with financial institutions, finding a house e.t.c. Expatriate helps expats navigate the complex process of settling down in Amsterdam though reusable digital identities.

What it does

Truvity

Expatriate aims to simplify and ease the process of relocation through issuing verifiable credentials directly to our users wallets.

  • Wallet is structured in a to-do list for easier navigation.
  • Expatriate fully controls the document issuance on behalf of Amsterdam.
  • In-built user verifiable credentials wallet where users store all credentials necessary for settling as an expat.
  • Admin panel for our officials to verify submitted verifiable credentials to either approve or reject and issue new ones on top.
  • Seamless integration i.e Verifiable credentials are sent directly to users wallets.
  • Verifiable credential linking i.e Applying for a bank account a user can be asked to provide employment contract, proof of identity e.t.c as Verifiable credentials. Linking all this from users wallets simplifies the process of opening bank account.
  • All wallet to-do list verifiable credentials are linked together and sent a a draft credential to admin wallet for approval or rejection.
  • To send verifiable Credential back to users wallet, click on _ Verify Credential button _ on admin wallet, fill out the form and send, It generates a Verifiable credential with Bank Account details back to users wallet.

Pinata

  • Pinata Secure File System for our users to submit all proof of person-hood documents. Pinata File CID allows users full control and secure transmission of their documents.

How we built it

Everything is built with Angular.

User Wallet:

  1. Request Employment contract as verifiable credential.

    • Verifiable credential to be sent to user wallet.
  2. Register with Municipality.

    • Generates all verifiable credentials.
    • Sends them to users wallet.
    • Links all VCs and sends the draft to Expatriate wallet for approval/rejection and generation of necessary verifiable credentials.
  3. Open Bank account.

    • Generates all verifiable credentials.
    • Sends them to users wallet.
    • Links all VCs and sends the draft to Expatriate wallet for approval/rejection and generation of necessary verifiable credentials.
  4. Sign Rental Agreement.

    • Generates all verifiable credentials.
    • Sends them to users wallet.
    • Links all VCs and sends the draft to Expatriate wallet for approval/rejection and generation of necessary verifiable credentials.

Admin Wallet

Admin wallet hold all submitted users credentials and all linked verifiable credentials drafts for approval/rejection.

From admin wallet, compliance officers can issues bank account credential after approving and verifying user linked bank account credential and send it to users wallet.

Pinata

All proof of person-hood document are uploaded to Pinanta secure file system and resulting (CID) is embedded on verifiable credentials.

Leveraging Pinata Immutable File System allows our users total control of their documents i.e passports, employment contracts, bank account documents, birth records e.t.c.

From user wallet, users request and save all necessary verifiable credentials using Truvity platform, while Pinata Immutable File System

Challenges we ran into

  • This being my first web3 app I had a steep learning curve.
  • Lack of a way for users to bring or import credential wallets from other platforms.
  • I couldn't find how to revoke an issued verifiable credential (not DELETE).

Accomplishments that we're proud of

  • Working proof of concept.
  • Learning about Truvity and Pinata was a rewarding experience.

What we learned

Developing Expatriate has given me an opportunity to learn and explore the world of DIF and web3 credentials.

What's next for Expatriate

  • Improve on user UI/UX
  • Allow users to bring their own wallets.

Built With

Share this project:

Updates