Top FAQs

How do I identify a material?
Open the app → tap + → add a photo (or take one) → confirm category (stone, wood, tile, metal). You’ll see a confidence score, close matches, and supplier links.
Tips for better results
  • Photograph in natural light; avoid glare.
  • Fill the frame with the surface (no heavy shadows).
  • Add a second photo at a slight angle for texture.
  • Include known info (brand/series) in notes if available.
What devices are supported?

iOS 15+ (iPhone 8 or later). Android support is planned for a future release.

How do I report an incorrect match?

From any result screen, tap •••Report. Please include lighting conditions and any brand clues. We use this to improve the model.

Do you integrate with suppliers or certifications?

We’re onboarding supplier catalogs and surfacing sustainability certifications in staged releases. If you represent a brand, contact us to partner.

Is my data private?

Yes. We only process what’s needed to identify materials. See our Privacy Policy and Accessibility pages for details.

Troubleshooting

  1. App not loading? Check your connection → force close → reopen. iOS: Settings → General → iPhone Storage → Material Master → Offload/Reload if needed.
  2. Photos won’t upload? Allow Photo/Camera permissions in iOS Settings → Material Master.
  3. Poor accuracy? Retake photos in brighter, even light; add a second angle; remove heavy filters.
  4. Payment issues? Verify App Store payment method and region, then retry.

Release Notes

Latest version: v1.0.0 — Initial launch with photo identification, notes, and supplier links.

  • Improved stone/wood classification
  • Confidence score visibility
  • Bug fixes and performance
// Simple in-page FAQ filter (client-side, no external deps) (function(){ const input = document.querySelector(‘input[type=”search”]’); if(!input) return; const items = Array.from(document.querySelectorAll(‘details.faq’)); input.addEventListener(‘input’, function(){ const q = this.value.trim().toLowerCase(); items.forEach(d => { const text = (d.textContent || ”).toLowerCase(); const show = !q || text.includes(q); d.style.display = show ? ” : ‘none’; if (!show && d.open) d.open = false; }); }); })();