Inspiration

The Isle of Man has a surprisingly high rate of in-person banking. Many people choose to bank with HSBC not because the product is better, but because you can walk in and have a real person guide you through opening an account. The human presence makes the process safe and manageable. There is a 40% abandonment rate. Not because people don't want to open accounts - but because staring at a form that coldly rejects your passport photo for the third time, with no explanation, is a miserable experience. There's no guidance or warmth.

We wanted to improve the KYC experience and make the online process feel like a conversation rather than endless form filling with a digital equivalent of sitting across a desk from someone who wants to help.

Target Customer

Neobanks, credit unions, and smaller financial institutions that handle digital onboarding — specifically those losing customers at the KYC step. Their primary frustration is conversion: every dropout is a lost customer worth perhaps even £1,200 in lifetime value.

What it does

Vibe Check replaces the standard KYC form with a 3D animated bank manager who sits at her desk and guides you through identity verification in real time. She reacts to everything - nods when a document is approved, shaking her head when something needs to be redone, and explaining things in plain English.

The verification flow currently asks for passport, proof of address and a selfie. Each document is checked by a locally-running vision AI model. When one step fails, you only need to redo that step - in some flows you need to start from scratch.

How we built it

We kept it simple by using Vanilla JS with retro pixel-art. The 3D environment and character are built in Three.js. The bank manager is a custom-modelled character with animations using a state machine. Document verification runs entirely locally for security using Llama and Qwen2.5-VL vision-language model. We prompt the model to check the validity of documents.

Challenges we ran into

We had trouble determining which model to use as we ran into various errors. We initially used llava but we pivoted to Qwen2.5-VL which worked better. We had problems with passports not being orientated incorrectly but we edited the prompt to fix it.

Synchronising the 3D character's animations with the asynchronous verification flow required careful state management toot.

Accomplishments that we're proud of

Creating the animations were an interesting challenge such as the bank manager shaking their head. Getting the locally-running AI model to distinguish between things was a challenge. Learning/using Three.JS in a short time span

What we learned

We learned three.js.

What's next for Vibe Check

We want to add TTS for the manager to actually speak to the user in a friendly tone. We would need to create a SDK for banks to easily drop into existing flows so they can supply exactly the information they require. So it will generate stages depending on what stages individual banks want i.e. one bank may require proof of address whilst another may not. We also need to run the prototype and check whether it increases completion rates.

Built With

Share this project:

Updates