Inspiration

The inspiration was personal frustration. I walked into a skincare aisle and felt completely overwhelmed. There were thousands of bottles, all promising 'glow' and 'anti-aging,' but I had no idea what was actually safe for my specific skin type. I didn't have the time to research 50 ingredients, and I didn't have the money to consult a dermatologist. I realized there was a gap: consumers need instant expert advice right at the store shelf. I built this app to bridge that gap—giving ordinary buyers the knowledge of a dermatologist in seconds.

What it does

  1. Profile Ingestion Action: The app records the user's specific biological constraint (Skin Type: Oily, Dry, Sensitive, or Combination). Purpose: This establishes the filtering parameter for all subsequent analysis.
  2. Product Retrieval (Simulated) Action: It identifies a product via camera input (simulated) or text search. Mechanism: It queries your local hardcoded JSON dataset to retrieve metadata (Ingredients, Price, Suitability Tags) for the selected item.
  3. Comparative Logic Engine (The Core) Safety Algorithm: It runs a conditional check: IF Product_Suitability != User_Skin_Type THEN Return WARNING. This filters out harmful products. Financial Algorithm: It compares the Current_Price against the Dupe_Price in the dataset. If the difference is positive, it displays the cheaper alternative and calculates the savings.
  4. Alternative Recommendation Action: It retrieves a pre-defined "Natural Alternative" string associated with the product category. Purpose: Provides a non-commercial option for the user. ## How we built it "We utilized a Rapid Application Development (RAD) approach using Base44 (AI-Powered App Builder) to generate a mobile-first Single Page Application (SPA). Since the priority was immediate user feedback and zero latency, we bypassed traditional backend integration. Instead, we architected a Client-Side Data Layer. We engineered a comprehensive prompt to generate a React-based frontend styled with Tailwind CSS. For the data logic, we implemented a structured JSON Schema directly within the application code. This schema holds the dataset of skincare products, prices, ingredients, and 'dupe' mappings. The core application logic—including the skin-type compatibility check and the price comparison engine—runs entirely in the browser using JavaScript ES6 filters and conditional operators. This ensures the app is blazing fast and functions offline." Section: Technologies Used (List these exact bullets) Development Platform: Base44 (AI-Assisted Development) Frontend Framework: React.js Styling Engine: Tailwind CSS Icons/UI: Lucide-React Data Structure: Local JSON (Client-Side State) Logic: JavaScript (ES6) Section: Architecture Diagram (If allowed to upload text/image) "Client-Side Architecture: User Input (Skin Type) -> Local State -> JavaScript Logic Engine -> JSON Data Lookup -> UI Rendering." ## Challenges we ran into
  5. The "Real-Time" Data Bottleneck Our initial ambition was to integrate live APIs (like Google Shopping) to fetch real-time pricing for any product. However, we discovered that these APIs introduced significant latency and rate limits that would crash a live hackathon demo. How we solved it: We pivoted to a Client-Side Data Architecture. We engineered a hardcoded JSON dataset of market leaders. This sacrificed "universal" coverage but gained zero-latency performance and stability.
  6. Prompt Engineering for Logic Getting the AI (Base44) to generate a beautiful UI was easy, but getting it to execute complex logic—specifically comparing a scanned product’s ingredients against a user’s stored skin type—was difficult. The AI initially hallucinated features or forgot the user's input. How we solved it: We moved from vague prompts to a strict technical specification prompt, explicitly defining the data structure and conditional logic (If/Else statements) in the prompt itself to force the AI to write functional JavaScript.
  7. Simulating OCR in the Browser Building a true "Image-to-Text" scanner requires heavy backend processing (like Tesseract.js or Cloud Vision), which was out of scope for a frontend-only build. How we solved it: We implemented a hybrid approach. We kept the camera UI for the "Scan" experience but added a robust Search Fallback to ensure the judge could successfully find a product even if the visual recognition layer was simulated. ## Accomplishments that we're proud of

What we learned

  1. The "Wizard of Oz" Strategy in Prototyping We learned that for a hackathon or MVP, Simulation > Complexity. We realized that hardcoding a local JSON dataset is a valid engineering strategy to test user value. It taught us that you don't need a full backend to prove a business concept; you just need the logic to work on the frontend.

  2. Precision Prompt Engineering We learned that AI is not a mind reader; it is a technical translator. Vague requests led to broken code. We learned how to write structured technical prompts—defining specific variable names, data arrays, and conditional logic (If/Else)—to force the AI to generate functional, bug-free React code.

  3. Client-Side State Management We gained a deeper understanding of how modern web apps handle data without a server. We learned how to use local application state to persist user preferences (like "Oily Skin") across different screens to filter results dynamically, proving that powerful logic can live entirely in the user's browser.

  4. The Value of Constraints Working with a "No-Code" tool and a tight deadline forced us to cut feature creep. We learned to identify the one core feature (The Dupe Finder) that provided maximum value and ruthlessly cut everything else that didn't support that goal.

    What's next for skinnophobic

    Phase 1: From "Mock Data" to "Big Data" Currently, we rely on a curated local dataset of 20 products for zero-latency demonstration.

Next Step: Migrate the data layer to a scalable cloud database (MongoDB or PostgreSQL).

The Goal: Ingest a real dataset of 50,000+ SKUs by scraping public e-commerce listings or integrating with open beauty APIs to cover every product in the market, not just the top sellers.

Phase 2: True Computer Vision Integration Our current "Scan" feature uses file metadata and search fallbacks.

Next Step: Integrate Google Cloud Vision API or Tesseract.js to perform real-time OCR (Optical Character Recognition) on product labels.

The Goal: Allow users to snap a photo of any ingredient list—even obscure brands—and have our algorithm instantly parse the chemical names against our safety database without manual typing.

Phase 3: The "Affiliate" Business Model We have proven the "Dupe Finder" logic works.

Next Step: Partner with e-commerce platforms (Amazon, Nykaa, etc.).

The Goal: Monetize the app by adding "Buy Now" links to the suggested cheaper alternatives. When a user switches from a ₹5,000 cream to a ₹500 dupe, we earn a commission on the sale, creating a sustainable revenue stream.

Phase 4: Dermatologist Verification

Next Step: Collaborate with certified dermatologists to review our "Ingredient Safety" algorithm.

The Goal: Move from "General Advice" to "Medically Verified" recommendations, adding a layer of trust that allows us to market to sensitive skin communities safely.

Built With

Share this project:

Updates

posted an update

Did you know that a $380 luxury cream often shares 95% of the same ingredients as a $20 pharmacy brand? For my latest hackathon project, I built SkinSavvy to expose this truth. It is a client-side web app that acts as a personal skincare analyzer. Users simply select their skin type (Oily, Dry, Sensitive), and the app scans products to perform two critical checks: it warns if ingredients will cause a reaction, and it instantly suggests cheaper 'dupes' with identical active ingredients.

The Engineering Reality: To ensure a zero-latency demo without the risk of API rate limits, I architected this MVP using a 'No-Code' build with a curated, hardcoded dataset of the market’s top 20 products. This allows the logic—the core ingredient comparison engine—to run instantly in the browser. It’s not a full production app yet, but it’s a functional proof-of-concept that protects both your skin and your wallet. Check out the demo below

Log in or sign up for Devpost to join the conversation.