Introduction & Getting Started
Relevant source files
The following files were used as context for generating this wiki page:
Driveway Estimator Pro is a professional-grade mobile and web application designed for homeowners and contractors to streamline the process of driveway estimation. The system utilizes AI vision for automatic edge detection and square footage measurement, provides real-time local material pricing, and enables photorealistic visualization of different asphalt and gravel materials.
Sources: README.md:3-15, client/src/pages/Home.tsx:55-65
The application architecture is a full-stack TypeScript environment utilizing React 19 for the frontend, Express with tRPC for a type-safe API, and Drizzle ORM for database management. It is designed as a cross-platform solution, using Capacitor to wrap the web application for native iOS and Android deployment.
Sources: README.md:27-44, MOBILE_BUILD.md:3-5
System Features & Capabilities
The platform is organized around a core estimation workflow that transitions from image capture to professional estimate sharing.
| Feature Category | Description |
|---|---|
| Measurement | Camera capture or image upload with AI-powered edge detection and manual coordinate adjustment. |
| Visualization | AI-generated photorealistic previews for materials like Hot Mix Asphalt and Tar & Chip. |
| Estimation | Real-time pricing lookups by ZIP code and material quantity calculation (tons). |
| Collaboration | Generation of unique share tokens for contractors and PDF export functionality. |
Sources: README.md:17-25, todo.md:28-40, drizzle/schema.ts:46-64
Supported Materials
The system supports four primary driveway materials, each with distinct density and pricing profiles:
- Hot Mix Asphalt: Durable, professional surface.
- Asphalt Millings: Recycled, budget-friendly option.
- Tar & Chip: High traction, rustic appearance.
- Gravel: Economical and standard.
Sources: README.md:46-51, client/src/pages/Home.tsx:142-155
Technical Architecture
The project follows a monorepo-style structure where the client, server, and database schemas are closely integrated via tRPC for end-to-end type safety.
This diagram illustrates the flow from user interaction through the type-safe tRPC layer to backend services and native mobile wrappers.
Sources: README.md:27-44, MOBILE_BUILD.md:14-23
Backend Services
The backend is modularized into specialized services:
- Edge Detection Service: Analyzes photo URLs using LLM vision to return coordinate points.
- Pricing Service: Manages ZIP-code based material costs and caches data in the
materialPricestable. - Email Service: Handles automated notifications for estimates and contractor sharing.
- Storage Service: Manages uploads of original photos and generated material previews to S3.
Sources: README.md:54-68, todo.md:12-21, server/routers/projects.ts:48-95
Data Model
The application uses a relational schema managed by Drizzle ORM. The central entity is the projects table, which links measurements, image references, and user identification.
The entity-relationship diagram shows the ownership of projects by users and the generation of unique tokens for sharing estimates.
Sources: README.md:105-139, drizzle/schema.ts:16-105
Getting Started & Development
Installation & Environment
Developers must have Node.js 16+ and pnpm installed. The environment configuration requires database credentials, OAuth keys, and API keys for AI image generation.
# Clone and install
git clone https://github.com/DaddyFilth/driveway-estimator-pro.git
pnpm install
# Setup environment
cp .env.example .env.local
Sources: README.md:145-155, package.json:7-12
Mobile Development Workflow
The mobile implementation utilizes Capacitor. Specific native build tools (Xcode for iOS, Android Studio for Android) are required for native platform synchronization.
| Command | Action |
|---|---|
pnpm dev | Starts the web development server at localhost:3000. |
pnpm mobile:build | Compiles web assets and syncs to native directories. |
pnpm mobile:ios | Opens the iOS project in Xcode. |
pnpm mobile:android | Opens the Android project in Android Studio. |
Sources: README.md:165-175, MOBILE_BUILD.md:25-32
Build & Deployment
The application can be built for web or native mobile distribution.
- Web Build:
pnpm buildcreates the production bundle. - Mobile Release:
pnpm mobile:build-iosorpnpm mobile:build-androidprepares the respective native archives for distribution.
Sources: README.md:185-195, MOBILE_BUILD.md:65-80
Project Conclusion
Driveway Estimator Pro provides a highly integrated solution for site-specific estimation. By combining AI vision for measurement with local pricing caches and mobile-native capabilities, it offers a professional toolset for both field contractors and homeowners. The use of a type-safe stack (TypeScript/tRPC/Drizzle) ensures robust data handling across web and mobile interfaces.
Sources: README.md:273-280, todo.md:42-53