Search + navigation

Find domains, tables, workflows, APIs, files, and guardrails.

This is a local structured index. It is intentionally small and implementation-focused so developers can quickly jump from a concept to the right diagram and source files.

domain

Identity / tenancy / auth

Cognito identities are resolved into app users, tenant memberships, roles, teams, and platform access before any protected API route runs.

identity-tenancy-authusersplatform_userstenantstenant_usersrolespermissionsteams
domain

Portfolios / workspaces

Workspace portfolios are the operating context for deals, config, maps, documents, CRM views, and analysis.

portfolios-workspacesportfoliosresource_sharespackages/domain/portfoliopackages/domain/sharingapps/web/src/features/portfolio
domain

Pipeline configuration

Portfolio-scoped pipelines, stages, deal types, and metadata shape deal workflows without hard-coded global enums.

pipeline-configurationpipelinespipeline_stagesdeal_typesmetadata_fieldsmetadata_field_optionspackages/domain/configapps/web/src/features/portfolio/config
domain

Deals

Deals are the central business object: they sit inside a workspace, carry workflow state, link to properties, documents, CRM, tasks, maps, and analysis.

dealsdealsdeal_stage_historydeal_propertiesresource_sharespackages/domain/dealsapps/api/src/routes/deal.routes.tsapps/web/src/features/portfolio/deals
domain

Properties

Reusable tenant property/location records can be linked to deals or grouped in property lists.

propertiesaddressespropertiesdeal_propertiesproperty_listsproperty_list_itemspackages/domain/propertiespackages/services-geocoding
domain

Documents / extraction

Documents have versions, generic links to resources, and queued extraction jobs that can be reviewed and applied.

documents-extractiondocumentsdocument_versionsdocument_linksdocument_extractionspackages/domain/documentsapps/api/src/routes/document.routes.tsapps/api/src/document-worker.ts
domain

CRM

Tenant CRM companies and contacts are reusable and can be linked to deals with roles such as sponsor, broker, lender, or counsel.

crmcrm_companiescrm_contactsdeal_companiesdeal_contactspackages/domain/crmapps/api/src/routes/crm.routes.tsapps/web/src/features/crm
domain

Tasks / comments / activity

Execution work and timeline events are deal-centered today and form the future notifications/inbox backbone.

work-activitytaskscommentsactivity_eventspackages/domain/activitypackages/db/src/schema/work.ts
domain

Maps / explore / analysis

Maps combine app-owned deals/properties with read-only public geospatial/demographic/POI datasets for portfolio maps, deal analysis, and broad market exploration.

maps-explore-analysisdealspropertiesaddressespublic.poi_chain_locationspublic.poi_shopping_centerpublic.sti_block_group_*packages/domain/maps
domain

Comps

Comps are persisted Dealflow-owned market evidence records, with manual entry, source snapshots, private/workspace visibility, lists, and deal selections.

compscompscomp_listscomp_list_itemsdeal_comp_selectionspackages/domain/compsapps/api/src/routes/comp.routes.tsapps/web/src/features/comps
domain

Sharing / permissions

Resource sharing overlays owner/visibility with explicit grants to users, roles, teams, or tenant-wide principals.

sharing-permissionsresource_sharesportfoliosdealstenant_usersrolesteamspackages/domain/sharing
table

users

App-local identity resolved from Cognito.

identity/tenancydealflowcognito_subemailstatus/api/me
table

tenants

Top-level customer/security boundary.

identity/tenancydealflowslugstatussettings/api/me/api/portfolios
table

tenant_users

Active user membership in a tenant.

identity/tenancydealflowtenant_iduser_idrole_idteam_idmembership_status/api/* auth
table

portfolios

Workspace portfolio container for deals and configuration.

portfolio/sharingdealflowtenant_idnamestatusvisibilityowner_user_id/api/portfolios
table

resource_shares

Explicit grants to users, roles, teams, or tenant principals.

portfolio/sharingdealflowresource_typeresource_idprincipal_typeaccess_levelrevoked_at/api/portfolios
table

pipelines

Portfolio workflow container.

configdealflowportfolio_idpipeline_typeis_defaultstatus/api/portfolios/:portfolioId/config
table

pipeline_stages

Workflow stage definitions and current deal state targets.

configdealflowkeysort_orderis_closedis_won/api/portfolios/:portfolioId/config
table

deals

Central deal record.

dealsdealflowportfolio_idpipeline_idcurrent_stage_idrecord_statusvisibilityheadline_value
table

properties

Reusable property/location record with geocode fields.

propertiesdealflowprimary_address_idlocationgeocode_statussource_reference/api/properties
table

documents

Document catalog record.

documentsdealflowdocument_typestatusreview_statusmetadata/api/documents
table

document_extractions

Queued/executing/reviewed extraction job record.

documentsdealflowstatusproviderraw_outputreviewed_outputattemptslocked_by
table

crm_companies

Tenant company/organization CRM record.

CRMdealflowcompany_typerelationship_healthstatus/api/crm
table

tasks

Assignable work item.

work/activitydealflowdeal_idassignee_user_idtask_statusprioritydue_at/api/portfolios/:portfolioId/deals/:dealId
table

comps

Persisted manual comps and source snapshots.

compsdealflowcomp_typesource_kindsource_typevisibilityrecord_status/api/comps
table

comp_lists

Named private/workspace comp collections.

compsdealflowportfolio_idvisibilityrecord_status/api/comps/lists
table

comp_list_items

Many-to-many comp list membership.

compsdealflowtenant_idcomp_list_idcomp_idsort_order/api/comps/lists/:compListId/items
table

deal_comp_selections

Deal-specific comp review and inclusion state.

compsdealflowdeal_idcomp_idstatusconfidencereviewed_at/api/portfolios/:portfolioId/comps/deals/:dealId
table

public.poi_chain_locations

Large chain POI source used for explore and analysis.

read-only publicpublicgeometrychain_nameprimary_category/api/explore/pois/api/explore/poi-tiles
workflow

Cognito login -> tenant resolution -> portfolio loading

Browser obtains Cognito ID token; API verifies it, syncs membership, then portfolio APIs return accessible workspace portfolios.

auth-portfolio-loading/login/portfolio/api/me/api/portfoliosuserstenant_userstenant_user_sources
workflow

Deal creation -> property linking -> activity

New deal uses portfolio config defaults, optionally creates/links a property, writes stage history, then logs activity.

deal-creation/portfolio/:portfolioId/deals/new/portfolio/:portfolioId/deals/:dealId/api/portfolios/:portfolioId/deals/api/propertiesdealsdeal_stage_historyaddresses
workflow

OM upload -> extraction -> review -> apply

Uploaded PDF becomes a document/version/link; extraction worker processes queued job; reviewed data applies back to deal/property records.

om-extraction/documents/documents/:documentId/portfolio/:portfolioId/deals/new/api/documentsdocumentsdocument_versionsdocument_links
workflow

Explore map -> viewport POIs -> vector tiles

Explore uses a list API for the sidebar and authenticated MVT tile APIs for POI and demographic map rendering.

explore-tiles/explore/api/explore/pois/api/explore/poi-tiles/:z/:x/:y/api/explore/heatmap/:metric/:z/:x/:ypublic.poi_chain_locationspublic.poi_shopping_centerpublic.sti_block_group_*
workflow

Source comp discovery -> Dealflow snapshot -> deal selection

Deal comp discovery reads public source tables inside a radius or Mapbox isochrone, then saves selected records into dealflow.comps before adding deal-specific selection status.

comps-source-snapshot/comps/portfolio/:portfolioId/comps/portfolio/:portfolioId/deals/:dealId?tab=comps/api/comps/api/portfolios/:portfolioId/comps/source-search/api/portfolios/:portfolioId/comps/deals/:dealIdcomps
file

apps/api/src/app.ts

Hono API mount point and auth boundary.

apiroutesauth
file

apps/web/src/components/app-shell.tsx

Main product shell and workspace navigation.

frontendnavigationportfolio
guardrail

AGENTS.md

Database and agent operating guardrails.

dbpublicdealflow_role