Inspiration
I come from Antofagasta, Chile, a region known for two things: the beautiful Atacama Desert and having some of the highest solar radiation levels on the planet. In my hometown, skin cancer isn't just a statistic—it's a daily reality for my community.
Despite this risk, the public healthcare system is overwhelmed. Getting an appointment with a dermatologist can take 3 to 6 months. During that wait, patients are left with anxiety, wondering if that new mole is harmless or life-threatening.
I built DermaSkinAI to bridge that gap. It’s not about replacing doctors; it’s about providing an instant, accessible triage tool that turns anxiety into action.
What it does
DermaSkinAI is a web application that provides a preliminary dermatological analysis in seconds.
Upload: The user takes a photo of a skin lesion.
Analysis: Our Deep Learning model scans the image to classify it among 7 common skin pathologies (including Melanoma).
Explanation: We don't just show a scary medical term. We integrate Google Gemini to act as a "Medical Translator," explaining the result in plain English, assessing the urgency, and recommending the next steps.
How we built it
I used a Hybrid AI approach, combining Computer Vision with Large Language Models:
The Vision (TensorFlow): I trained a Convolutional Neural Network (CNN) using Transfer Learning on the MobileNetV2 architecture. The model was trained on the HAM10000 dataset (human-verified dermoscopy images) to recognize patterns invisible to the naked eye.
The Brain (Google Gemini API): We pipe the model's confidence scores into Gemini, which contextualizes the data. It generates an empathetic, easy-to-understand report for the user.
The Backend: Built with Python and Flask.
The Infrastructure: Deployed on Railway using a custom Gunicorn configuration to handle heavy ML workloads on the cloud.
Challenges we ran into
The biggest challenge was Deployment Hell.
"It works on my machine": Our model ran perfectly locally, but deploying a heavy TensorFlow model to a free cloud tier caused constant memory overflows (SIGKILL errors) and timeouts.
Dependency Conflicts: We faced critical version mismatches between Keras 2 and Keras 3 when serializing the model, which required rebuilding our environment requirements from scratch.
Optimization: We had to implement image compression algorithms before processing and tune our Gunicorn workers/threads to ensure the app wouldn't crash under load during the demo.
Accomplishments that we're proud of
Optimizing Deep Learning for the Web: We successfully deployed a full TensorFlow inference engine on a server with limited RAM, keeping response times under 5 seconds.
The "Hybrid" Engine: Successfully linking the raw mathematical output of a CNN with the semantic understanding of an LLM (Gemini) to create a human-centric user experience.
Going Live: Securing a custom .tech domain and managing DNS propagation in real-time during the hackathon!
What we learned
Resource Management: I learned that in cloud computing, efficiency is king. Resizing an image from 4K to 800px before processing made the difference between a crash and a successful diagnosis.
The Power of Context: A prediction of "Melanoma: 85%" is useless (and terrifying) without context. Integrating Gemini taught us that how you present AI data is just as important as the data itself.
What's next for DermaSkinAI
Longitudinal Tracking: Allowing users to save encrypted records to track how a mole changes over time (evolution is a key cancer indicator).
B2B API: Offering our triage engine to general practitioners in rural clinics (like those in Atacama) to help them prioritize referrals.
Spanish Localization: Bringing this tool home to Chile to help the community that inspired it.
Built With
- deeplearning
- llm
- python
- tensorflow
Log in or sign up for Devpost to join the conversation.