Architecture

System Context

The Insight Service is a set of AWS Lambda functions. It exposes a REST API behind API Gateway, receives Pave webhooks through the shared FloatMe webhooks gateway, consumes Kinesis and EventBridge-tapped SQS events, and publishes to EventBridge.

system context insight service

Components

Component Trigger Purpose

site-insight-api (Lambda)

API Gateway site-insight (AWS IAM)

REST API — payday prediction, forecasts, employment, income verification, income detection

site-insight-feeder (Lambda)

Kinesis site-txn-plaid-transactions

Uploads Plaid transactions and balances to Pave for gate-eligible users; writes pave_label and last_page — Feeder

site-insight-webhook (Lambda)

Shared webhooks API Gateway (POST /v1/pave, HMAC-signed)

Enqueues a miner job on USER_DATA_INSIGHTS_READY — Webhook

site-insight-miner (Lambda)

SQS site-insight-miner

Publishes user_new_insights_available when the webhook completed a user’s upload run — Miner

site-insight-replay-feeder (Lambda)

SQS site-insight-replay-feeder

Forwards deferred transaction deletions to Pave — Replay Feeder

site-insight-balance-alert (Lambda)

SQS site-insight-balance-alert-event-tap

Low-balance push notification on new_account — Balance Alerts

site-insight-institution-change-handler (Lambda)

SQS site-insight-institution-change-handler-sqs-tap

Deletes employment, income verification, and cached payday on new_bank_account_added — Institution Change

site-insight-savings-snapshot (Lambda)

SQS site-insight-savings-snapshot-event-tap

Writes the monthly checking and savings balance row on user_new_txns_batch_completed — Savings Snapshot

Pave Mining Architecture

Four Lambdas move data to Pave and turn Pave’s completion webhook into an event: feeder to Pave, Pave to webhook, webhook to miner SQS, miner to EventBridge, with the replay feeder handling deferred deletions. Flow detail is in Pave Mining.

system context pave mining

Storage

  • PostgreSQL Schema — the FloatMeAPI_employmentinfomodel employment table in the shared FloatMe RDS cluster (main and replica pools)

  • DynamoDB Tables — site-pave single table, site-incomedetection, site-fmdatacapture, user-balance-settings, locks

External Dependencies

Service Role

Pave

Receives transaction and balance uploads and deletions; returns recurring income sources for payday prediction; sends completion webhooks

Transactions Service

Transaction history, active items, and account balances for forecasts, payday prediction, income detection, and savings snapshots; re-mine trigger; producer of the Plaid Kinesis stream and the tapped txn-service.* events

Underwriting Service

Recalculation after an employment write; zero-amount float eligibility check before a balance alert

User Service

Client constructed by the API Lambda with invoke permission; no handler calls it

SageMaker

incomedetection-inference-endpoint-site income classification model — Income Detection

GrowthBook

Feature flags — Feature Flags

EventBridge (default bus)

Publishes user_new_insights_available; source of the tapped txn-service.* events — Events

Segment

Low-balance push notification delivery

Datadog

Metrics, monitors, and SLOs — Monitoring