Inspiration

Bank alerts are usually ignored because they arrive as static text at the worst moment: right after users finish a transfer and want to leave the app. We reframed that moment as a high-intent decision window. Instead of "transaction completed," we wanted a contextual financial assistant that reacts to what just happened and speaks in human language.

What it does

FLux AI turns a transaction event into a real-time advisory moment. When a user transfers money or requests investment support, the system generates a personalized recommendation script (cross-sell or investing), sanitizes it, and delivers it to a 3D avatar experience in the frontend. The user can then continue the conversation through follow-up FAQ chat.

How we built it

We implemented a split architecture across FE, Flows, and BE:

  • FE (React + Three.js/VRM) handles banking UI, OTP flow, avatar rendering, and TTS playback.
  • Flows (FastAPI + Qwen via DashScope) is the AI orchestration engine:
    • Flow 1 uses qwen3.5-flash for rapid spending classification and investor profiling, backed by TTL caching.
    • Flow 2 leverages qwen-plus to generate highly personalized recommendation scripts with built-in safety/polish guardrails.
    • Flow 3 runs parallel market agents (asyncio.gather) orchestrated by qwen3.6-plus to make final investment decisions and render the user-facing output.
    • The pipeline is optimized for low-latency responses in real-time banking moments.
  • BE (NestJS + Prisma) is the enterprise API layer for CRM/CMS use cases, including scheduled classification jobs that call Flow 1 endpoints and persist customer/investor segments.

Challenges we ran into

Our hardest problem was timing, not model quality. If we waited until the success screen to start inference, we missed the user window. We had to design the pipeline carefully so response quality, script safety, and speed all held up under real-time UX constraints.

Accomplishments that we're proud of

We achieved an end-to-end "invisible latency" experience by prefetching during the OTP phase in FE. As soon as the user confirms transfer details, the app starts background calls to /api/flows/recommend, then pre-generates TTS audio; by success-screen time, the advisory is ready. On the backend side, we improved responsiveness while keeping safety controls (short script, PII cleanup, conversational tone) tightly integrated into generation.

What we learned

Great AI UX is orchestration + product timing. A smaller fast model with a lean pipeline often beats a bigger model in real-time scenarios. We also learned that maintaining strict validation and safety at each output boundary is what makes an AI feature production-ready, not just demo-ready.

What's next for Gaussora Intelligence

Next, we will replace mock transaction/asset/market inputs in Flows with production data connectors, and connect recommendations directly to BE product catalogs and customer records. We also plan to harden observability and policy controls, then upgrade avatar expressiveness with better viseme generation and multilingual script quality. Long term, we are packaging this as a white-label AI engagement layer for digital banks.

Built With

Share this project:

Updates