An app to streamline the process of identifying and reporting roofing and siding damage, ultimately helping homeowners, contractors, and insurance adjusters!
- Overview
- Problem Statement
- Solution
- Features
- Target Users
- Technology Stack
- Project Structure
- Current Progress
- Installation & Setup
- Development Environment
- Deployment
- Documentation
- Testing
- Database Management
- Future Enhancements
- Contributors
- Data Contributors
- License
SureSight is a user-friendly tool that leverages Next.js and Artificial Intelligence (AI) to assist homeowners, contractors, and insurance adjusters evaluate damage caused by severe weather events. The application simplifies inspection by providing automated damage detection, classification, and cost estimation.
Severe weather conditions, such as hailstorms, hurricanes, and strong winds, frequently damage roofing and siding. Current assessment methods rely on manual inspections, which can be time-consuming, costly, and prone to human error. Additionally, existing solutions often lack accessibility, accuracy, and integration with modern technologies.
Key challenges include:
- Homeowners struggling to assess damage accurately, leading to delays in repairs.
- Contractors manually documenting damage, resulting in inefficiencies.
- Insurance adjusters require standardized and precise reports to process claims.
This application provides a smart, AI-driven approach to damage assessment, streamlining the process through:
- AI-powered image recognition to identify and classify damage severity.
- Automated cost estimation based on material type, damage extent, and local repair rates.
- Standardized report generation to assist insurance claims and contractor assessments.
- πΈ Automated Damage Detection β Upload images of roofing and siding for instant analysis.
- π AI-Powered Severity Classification β Distinguish between superficial and structural damage.
- π° Cost Estimation β Calculate repair costs based on local market rates.
- π Standardized Reports β Generate professional assessment reports for contractors and insurers.
- βοΈ Cloud Storage Integration β Securely store assessments and retrieve them anytime.
- π₯ User Role Management β Different interfaces and permissions for homeowners, contractors, and adjusters.
- π± Responsive Design β Optimized for both desktop and mobile devices.
- π Notification System β Real-time updates on assessment progress and claim status.
- Homeowners β Quickly assess damage and obtain repair estimates.
- Contractors β Improve efficiency in damage documentation and quoting.
- Insurance Adjusters β Streamline claim processing with standardized reports.
| Component | Technology |
|---|---|
| Frontend | Next.js, React, Tailwind CSS |
| Backend | Supabase Edge Functions |
| Machine Learning | Google Cloud Vision AI |
| Database | PostgreSQL via Supabase |
| Authentication | Supabase Auth |
| Storage | Supabase Storage |
| Hosting | Vercel |
| Testing | Jest, React Testing Library |
| CI/CD | GitHub Actions |
The SureSight project is organized into the following directory structure:
SureSight/
βββ components/ # Reusable React components
β βββ auth/ # Authentication-related components
β βββ common/ # Shared UI elements
β βββ layout/ # Page layout components
β βββ ui/ # Base UI components
βββ pages/ # Next.js pages
β βββ api/ # API routes
β βββ reports/ # Report-related pages
βββ public/ # Static assets
βββ styles/ # CSS and styling files
βββ utils/ # Utility functions
βββ types/ # TypeScript type definitions
βββ supabase/ # Supabase configurations and functions
βββ services/ # Service layer for external APIs
βββ __tests__/ # Test files
βββ _sql/ # SQL scripts for database management
βββ docs/ # Documentation files
The project is currently in active development with the following components implemented:
- β User authentication system (signup, login, password reset)
- β Profile management for different user roles
- β Basic dashboard UI for viewing reports and properties
- β Image upload functionality with storage integration
- β Database schema and Row Level Security (RLS) policies
- β Notification system for real-time updates
- β Initial AI model integration for damage detection
- β Comprehensive test suite for core functionalities
- π Advanced damage classification algorithms
- π Cost estimation module based on damage assessment
- π Report generation with detailed damage analysis
- π Mobile responsive design improvements
- π User experience enhancements
To set up the project locally:
-
Clone the repository:
git clone https://github.com/yourusername/SureSight.git cd SureSight -
Install dependencies:
npm install
-
Set up environment variables: Create a
.env.localfile with the following variables:NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key -
Start the development server:
npm run dev
-
Access the application at
http://localhost:3000
- Node.js 16.x or higher
- npm 7.x or higher
- Supabase account for backend services
- Google Cloud account (for Vision AI integration)
- Visual Studio Code with extensions:
- ESLint
- Prettier
- Tailwind CSS IntelliSense
- Jest Runner
- Supabase CLI for database management
- Postman for API testing
This project follows strict TypeScript conventions and uses ESLint/Prettier for code formatting. To check for linting issues:
npm run lintGo to SureSight.app to see it in action!
To deploy this project on Vercel:
- Ensure you have a Vercel account.
- Install the Vercel CLI by running:
npm install -g vercel
- Verify the installation by running:
If the command is not recognized, ensure that your Node.js global
vercel --version
bindirectory is added to your system's PATH. - Set the required environment variables (
NEXT_PUBLIC_SUPABASE_URLandNEXT_PUBLIC_SUPABASE_ANON_KEY) in the Vercel dashboard. - Run the following commands:
npm install npm run build vercel dev
- Connect your GitHub repository to Vercel for automatic deployments.
SureSight's documentation is distributed across several files in the repository:
- Main README - This file, providing an overview of the entire project
- Supabase Reference - Information about the Supabase implementation
- Image Analysis Documentation - Details about the AI-powered image analysis system
- Testing Documentation - Comprehensive guide to the testing infrastructure
- Database Documentation - SQL scripts and database management information
The project includes documentation for various components in the docs/components/ directory.
Detailed database schemas and relationships can be found in the docs/dbdocs/ directory.
For setup and configuration information, refer to the docs/setup/ directory.
SureSight uses Jest and React Testing Library for comprehensive testing. The test suite includes:
- Unit tests for utilities and services
- Component tests for UI elements
- Integration tests for API endpoints
- End-to-end tests for critical user flows
- Database service tests
To run tests:
# Run all tests
npm test
# Run with coverage report
npm run test:coverage
# Run database tests
npm run test:dbFor more details about testing, see the Testing Documentation.
The project uses Supabase as its database provider. SQL scripts for managing the database schema, functions, and policies are found in the _sql directory.
For detailed information on database management, see the Database Documentation.
The SureSight roadmap includes the following planned improvements:
- Enhanced AI model training with larger dataset
- Implement contractor bidding system for repairs
- Add weather data integration to correlate with damage reports
- Develop PDF export functionality for reports
- Improve accessibility features
- Mobile application development (iOS and Android)
- Implement real-time chat between homeowners and contractors
- Add historical weather data analysis for damage correlation
- Expand damage detection to additional property areas (gutters, windows)
- Develop API for insurance company integrations
- Machine learning model for predictive damage assessment
- Drone imagery integration for comprehensive property scanning
- AR/VR features for interactive damage visualization
- Marketplace for verified contractors
- International market expansion with localization
- Integration with smart home systems for automated detection
- Austin Lukowski
- Isaiah Jacobsen
- Samuel Escamilla
- Scott Faust
- Sebastian Gomez-Duranona
- Zane Eggleston
- Andrew Heftie
- Papio Exteriors
- Titan Exteriors
This project is licensed under the MIT License.