How kacytran1122/keyo works
Keyo helps roommate groups evaluate NYC rental listings, coordinate approvals, and make guarded application-fee or deposit payments. Its main path is chat-based listing review, evidence and risk assessment, shared listing/vote state, then a payment proposal checked by an independent guard before XRPL submission. A web dashboard exposes listing evidence, activity, heat layers, and narrated tours. The source excerpts confirm the dashboard reads and guard checks, but do not show the agent’s full orchestration or evidence-ingestion calls; those links are therefore not expanded into a detailed sequence.
Main entry points: Dashboard.tsx Map dashboard · server.ts Payment policy guard · index.ts Application database · route.ts Thread state API
Components 24
Chat assistant
- Chat agent
backend/apps/agent/src/bot.ts - Fact-based replies
backend/apps/agent/src/llm.ts
Rental evidence
- Evidence analysis
backend/packages/evidence/src/analyze.ts - Public record sources
backend/packages/evidence/src/sources.ts - Listing risk score
backend/packages/evidence/src/score.ts
Dashboard and tours
- Map dashboard
backend/apps/web/components/Dashboard.tsx - Thread state API
backend/apps/web/app/api/state/route.ts - Complaint heat API
backend/apps/web/app/api/heat/route.ts - Summer heat API
backend/apps/web/app/api/summer-heat/route.ts - Tour script API
backend/apps/web/app/api/tour/route.ts - Tour voice API
backend/apps/web/app/api/voice/route.ts - Tour scripts
backend/apps/web/lib/tour.ts - Speech synthesis
backend/apps/web/lib/elevenlabs.ts
Guarded payments
- Guard API client
backend/apps/agent/src/guard-client.ts - Payment policy guard
backend/apps/guard/src/server.ts - Transaction comparison
backend/apps/guard/src/verify-tx.ts - Payment policy rules
backend/packages/shared/src/policy.ts - XRPL transaction tools
backend/packages/ledger/src/index.ts
Shared data
- Application database
backend/packages/db/src/index.ts - Complaint heat queries
backend/packages/db/src/heat.ts - Building pulse queries
backend/packages/db/src/pulse.ts
Other components
- Roommates
- XRPL network
- ElevenLabs
Connections 22
- Roommates → Chat agent: message listings
- Chat agent → Guard API client: request payment
- Guard API client → Payment policy guard: cosign or fund
- Payment policy guard → Application database: load and update
- Payment policy guard → Payment policy rules: evaluate rules
- Payment policy guard → Transaction comparison: compare transaction
- Payment policy guard → XRPL transaction tools: sign and submit
- XRPL transaction tools → XRPL network: submit transaction
- Map dashboard → Thread state API: fetch thread state
- Thread state API → Application database: read thread data
- Map dashboard → Complaint heat API: request heat layer
- Complaint heat API → Complaint heat queries: query hotspots
- Complaint heat queries → Application database: read heat data
- Map dashboard → Summer heat API: request summer layer
- Summer heat API → Application database: query temperature cells
- Map dashboard → Tour script API: request tour script
- Tour script API → Tour scripts: load listing script
- Map dashboard → Tour voice API: request narration
- Tour voice API → Tour scripts: load room text
- Tour voice API → Speech synthesis: synthesize speech
- Speech synthesis → ElevenLabs: generate audio
- Thread state API → Building pulse queries: load building pulse