Inspiration
Millions of people globally suffer from psoriasis but often lack timely access to dermatologists due to cost, distance, or appointment delays. We were inspired to build PASIWise, a web-based application that empowers users to perform accurate PASI scoring from anywhere—combining manual input with AI-driven image analysis and personalized recommendations using AI.
What it does
PASIWise is a smart, accessible PASI scoring tool with two main features: Manual Scoring Interface: Users input scaling, redness, thickness, and lesion area to calculate the PASI score. AI Image Analysis: Upload images of affected skin; our AI model detects lesions and calculates a score automatically. AI Recommendations: Based on the score, the app provides personalized skin care advice and guidance to monitor and seek professional help. It’s a full-featured early diagnostic and self-monitoring tool accessible via any web browser.
How we built it
I built this psoriasis diagnostic app using Streamlit for the frontend and Google's Gemini API for AI-powered recommendations. My goal was to create a user-friendly platform that guides patients through four simple steps: PASI scoring, DLQI scoring, image-based estimation, and AI-driven support. First, I imported essential libraries like streamlit, PIL for image handling, random for simulation, and google.generativeai for accessing Gemini. I used dotenv to manage my API key securely. Although I redundantly called genai.configure() twice, it doesn't break functionality. I set up the Streamlit page layout and added custom HTML/CSS to style the app with a clean and professional feel. I used tabs to split the interface into four core steps: PASI Calculator: Users assess redness, thickness, scaling, and area affected in four regions. I created sliders for each parameter and computed the final score based on PASI's medical formula. DLQI Survey: This tab offers a 9-question form to gauge quality of life. I used st.radio() inside a form to collect answers, then scored and classified them from "No effect" to "Extremely large effect. Image Estimator: Users upload skin images for each region. I simulated severity scores using random.randint() for now, but this part is structured to later integrate a machine learning model. AI Assistant: Finally, users input their scores and queries. Using Gemini 2.0 Flash, I crafted a prompt-based system where the AI replies empathetically with helpful (but non-professional) advice. In short, I built an interactive, multi-step diagnostic tool that combines medical scoring with AI insights, all in a clean, web-friendly interface without requiring users to install anything.
Challenges we ran into
Image Variability: Ensuring images of the entire body at correct distance of the camera. UX Design: Balancing clinical accuracy with a user-friendly interface took several iterations. AI Integration: Calibrating Gemini AI to provide safe, relevant, and non-clinically misleading advice required careful prompt engineering.
Accomplishments that we're proud of
Successfully integrated image-based PASI scoring with manual inputs in a clean, unified interface. Developed a working prototype of an AI model capable of lesion detection with promising accuracy. Integrated Gemini AI for personalized, score-based recommendations—making the tool informative and supportive. Built a product that has real-world impact, especially in communities with limited access to dermatological care.
What we learned
How to translate a clinical diagnostic process into an accessible, digital format. The importance of designing for accessibility, empathy, and simplicity in healthcare technology.
What's next for PASIWise
Expand our training dataset to improve AI accuracy across more skin types and severity levels.Add multi-language support to reach underserved populations globally. Implement a telehealth referral system so users can connect with professionals based on their score. Seek medical certification and pilot with clinics in rural or low-access areas.
Log in or sign up for Devpost to join the conversation.