Inspiration

Me and my teammate were debating over which track we should actually go for, and spent some time brainstorming, we thought of building a generic wallet with Zero Knowledge Proof in a mobile app, but that kind of seemed too basic, so we thought of building something that integrates other tracks as well, since this was our first time building actual ZKP stuff we had no clue. So we thought might as well include AI track, went with Medshield, which analyses the reports uploaded by the user via Gemini

What it does

As I mentioned in the previous section, one of MedShield's susbstantial features is its report analyser, but we manage to build our own redaction engine that detects sensitive information from the text returned by OCR which scanned the report or any kind of medical document. It sounds like we dont actually need Midnight, Do we? But we need midnight for verifiable privacy layer, meaning we need midnight to verify whether we are actually protecting the user's data. Also let our customer know of this, adding Trust. No personal or sensitive information goes on-chain, all of it is local, the only data going is the commitment hash on-chain

How we built it

We made an android app using kotlin and ran it with the help of android studio. We had to use kuira sdk for local proof generation, since docker containers dont run natively on android phones which was a hassle to figure it out, until midnight themselves provided kuira sdk's hint in the track itself(Thanks Midnight). Most of it was completed on opencode, since neither of us knew kotlin or java to begin with, plus it was our first time developing on android-studio, using my own phone as an emulator was nice.

Challenges we ran into

One of the biggest challenges we ran into was the ktor dependency compatiblity issue, because we thought of calling gemini via firebase ai service. Firebase was bringing in a newer version of ktor, while kuira was using an older version of ktor, and during runtime this kept crashing the app because firebase kept calling a function that wasnt in the older version and it was using older version of ktor from kuira's instead of its own. This was really hard to figure out, and eventually we had to give up and instead just send requests over HTTP and use google ai studio's Gemini

Accomplishments that we're proud of

The redaction engine we built using only regex string matching, which worked fine most of the time, and our idea of fallback for regex to have the user redact the stuff he wants to not disclose which allows even more freedom for customers and feel safe to use the AI summarization feature, and not worry about the company behind it using these information to train their models.

What we learned

The incredible topics of privacy and the magic behind Zero Knowledge Proofs which still does not make sense to me

What's next for Medshield

We would love to implement a ticketing/appointment with doctors such that they dont have to disclose anything online when booking the appointment, and when they arrive at the clinic or hospital they'll be asked for their ticket which is again a QR, and their information is revealed only at the time of scanning, again its all local. Secondly establish some privacy policies, and also create a audit trail if possible for the above ticketing system for legal reasons. Checkout our project here : https://github.com/Aravind226/MidnightHackathon.git

Built With

Share this project:

Updates

Submission history