How pranshupujara/codecraft_proptech works
This is a rental-intelligence web application: renters browse and shortlist properties, compare their true costs, and use personalized recommendations and decision support to choose a home. Related workflows cover roommate compatibility, rental-agreement analysis, and a grounded AI copilot. The graph maps the dashboard entry points to their API capabilities and the sampled route-to-service calls; several page and subsystem implementations were not sampled, so their internal wiring is intentionally left unspecified.
Main entry points: db.ts Application database · agreements/route.ts Agreement extraction · decision-assistant/route.ts Decision synthesis · copilot/route.ts Copilot conversation
Components 28
Renter experience
- Dashboard
app/(dashboard)/dashboard/page.tsx - Discover properties
app/(dashboard)/discover/page.tsx - Property detail
app/(dashboard)/properties/[id]/page.tsx - Saved properties
app/(dashboard)/saved/page.tsx - Compare homes
app/(dashboard)/compare/page.tsx - Recommendations
app/(dashboard)/recommendations/page.tsx - Roommate matching
app/(dashboard)/roommates/page.tsx - Agreement review
app/(dashboard)/agreements/page.tsx - Decision assistant
app/(dashboard)/assistant/page.tsx - Rental copilot
app/(dashboard)/copilot/page.tsx
Property decisions
- Property search
app/api/properties/route.ts - Property lookup
app/api/properties/[id]/route.ts - Shortlist management
app/api/saved/route.ts - Cost comparison
app/api/compare/route.ts - Property recommendations
app/api/recommendations/route.ts - Cost calculations
lib/cost.ts
AI assistance
- Compatibility analysis
app/api/roommates/compatibility/route.ts - Agreement extraction
app/api/agreements/route.ts - Agreement retrieval
app/api/agreements/[id]/route.ts - PDF text extraction
lib/agreementPdf.ts - Decision synthesis
app/api/decision-assistant/route.ts - Copilot conversation
app/api/copilot/route.ts - User context
lib/ai/copilotContext.ts - Structured AI client
lib/ai/client.ts
Application services
- Preference management
app/api/user/preferences/route.ts - Authentication
lib/auth-session.ts - Application database
lib/db.ts
Other components
- Renter
Connections 44
- Renter → Dashboard: opens
- Renter → Discover properties: browses
- Renter → Saved properties: shortlists
- Renter → Compare homes: compares
- Renter → Recommendations: requests
- Renter → Roommate matching: matches
- Renter → Agreement review: reviews
- Renter → Decision assistant: seeks advice
- Renter → Rental copilot: asks
- Discover properties → Property search: searches
- Property detail → Property lookup: loads
- Saved properties → Shortlist management: manages
- Compare homes → Cost comparison: compares
- Recommendations → Property recommendations: requests
- Roommate matching → Compatibility analysis: submits profiles
- Agreement review → Agreement extraction: uploads
- Agreement review → Agreement retrieval: retrieves
- Decision assistant → Decision synthesis: requests
- Rental copilot → Copilot conversation: sends query
- Property search → Application database: queries
- Property lookup → Application database: reads
- Shortlist management → Application database: reads/writes
- Cost comparison → Application database: loads properties
- Cost comparison → Cost calculations: calculates costs
- Cost comparison → Structured AI client: requests analysis
- Property recommendations → Application database: loads preferences and homes
- Property recommendations → Cost calculations: calculates costs
- Compatibility analysis → Structured AI client: requests explanation
- Agreement extraction → Authentication: identifies user
- Agreement extraction → PDF text extraction: extracts text
- Agreement extraction → Structured AI client: extracts and flags
- Agreement extraction → Application database: stores agreement
- Agreement retrieval → Authentication: identifies user
- Agreement retrieval → Application database: loads agreement
- Decision synthesis → Authentication: identifies user
- Decision synthesis → Application database: loads user and saved homes
- Decision synthesis → Cost calculations: calculates costs
- Decision synthesis → Structured AI client: requests synthesis
- Copilot conversation → Authentication: identifies user
- Copilot conversation → User context: loads context
- User context → Application database: reads user data
- Copilot conversation → Structured AI client: generates answer
- Copilot conversation → Application database: stores chat
- Preference management → Application database: reads/writes preferences