Inspiration

Financial advisors are relationship businesses running on duct tape. The actual client knowledge — preferences, sensitivities, family details, what was promised in the last meeting — usually lives across scattered notes, email threads, spreadsheets, and the advisor's own memory. None of that scales past a few dozen clients, and the cost shows up as missed follow-ups, weak meeting prep, and forgotten details that quietly erode trust.

That gap felt familiar from real-world exposure to how enterprise teams handle post-customer-interaction workflows — the same pattern of fragmented context and reactive (instead of proactive) follow-up shows up constantly. We wanted to build something that treats client context as a system, not a memory exercise, and we saw the advisor-productivity challenge as the perfect place to test that idea.

What it does

Aether is a daily operating workspace for financial advisors, built around one core idea: client context should be remembered, organized, and surfaced automatically — not reconstructed from scratch before every meeting.

  • Home briefing — a daily summary of today's meetings, urgent tasks, quiet clients (people who haven't been contacted in a while), and a weekly calendar view.
  • Client hub — a dedicated record per client combining profile details, a memory timeline, sensitivities, relevant articles, full meeting history, and an AI chat assistant grounded in that client's saved context.
  • Expense tracker — receipt upload with OCR-assisted labeling and monthly quota tracking for client-related expenses.
  • Agent & workflow builder — configurable Trigger → Condition → Action automations for proactive outreach, like quiet-client reminders, renewal nudges, and high-value client check-ins.
  • Connectors/MCP page — a surface showing how Aether can plug into external tools.

The chat assistant is intentionally conservative: it answers from saved client context and is designed to say when information is missing rather than inventing it.

How we built it

We built Aether as a React/Vite frontend with all data access routed through a single abstraction layer, src/services/dataClient.js. That let us build and demo the entire product against realistic mock data first, then swap in Supabase as the real backend once environment variables are configured — without touching any UI code. This mock-first approach let the whole team build in parallel against a stable data shape instead of waiting on a live backend.

The AI chat assistant is grounded in each client's stored memory, sensitivities, and meeting history, with prompting designed to keep it factual rather than generative when context is thin. The workflow builder models automations as simple Trigger → Condition → Action chains so non-technical advisors could plausibly configure their own follow-up rules.

Challenges we ran into

  • Keeping the AI assistant honest. Grounding the chat in saved client context was straightforward; getting it to reliably say "I don't have that information" instead of filling gaps took more careful prompt design and testing.
  • Designing a believable mock dataset. To make the demo land, we needed clients with enough texture — history, quirks, gaps — to make the "quiet client" and "memory timeline" features feel real rather than placeholder.
  • Scope control. Between the briefing page, client hub, expense tracker, and workflow builder, it was easy to keep adding surfaces. Sequencing what shipped first, with the dataClient abstraction as the seam, kept things from sprawling.

Accomplishments that we're proud of

  • A working end-to-end advisor workspace — briefing, client records, chat, expenses, and workflows — all functioning together rather than as disconnected demo screens.
  • A data layer that lets the whole app run convincingly on mock data, then move to a real Supabase backend with no UI rewrite.
  • An AI chat assistant that stays grounded in real client context instead of hallucinating answers — something we treated as a core trust requirement, not a nice-to-have.

What we learned

We came away with a much sharper sense of where advisor pain actually concentrates: not in a lack of tools, but in the lack of one place where context persists and resurfaces at the right moment. We also learned a lot about designing for trust in an AI assistant — the "say when you don't know" constraint shaped more of our prompting and data design than any other single decision. On the build side, separating data access behind one client (dataClient.js) early on turned out to be the highest-leverage architectural choice we made for a time-boxed hackathon.

What's next for Aether

  • Full Supabase integration with real authentication and multi-advisor support.
  • Calendar and CRM integrations so meetings and follow-ups sync automatically instead of being manually logged.
  • Expanding the agent/workflow builder with more trigger types and richer conditions for proactive outreach.
  • Compliance and audit-trail features suited to financial services environments.
  • Deeper personalization in the AI assistant, including tone and communication-style matching per client.

Built With

  • data
  • database-tables
  • deepseek
  • edge
  • fullcalendar
  • lucide
  • node.js
  • npm
  • radix
  • react
  • shadcn/ui-style
  • storage
  • supabase-client
  • tailwind
  • tesseract.js
  • vite
Share this project:

Updates