Experiment · Live video & smile detection

Joybait

Try to make the other person laugh while keeping a straight face yourself. I built Joybait to see how that would work over a video call, then tried it out with a few friends.

Joybait’s two-player challenge interface with a round timer and smile meter, presented on a cream background
The Joybait game interface, shown with offline demo data. The prototype was tested with friends and hasn’t been publicly released.

AI-assisted compositions based on the actual prototype interface. Camera feeds are placeholders; players, timer and detector values are offline demo data.

A little experiment

Try not to smile.

Go on, give it a go. Turn on your camera and see how long you can keep a straight face.

YOU / SOLO WARM-UPCamera off

A straight face is harder than it looks.

Your camera preview will appear here.
Just you vs. your smile
Straight-face streak

0.0s

Your best poker face, please.

Poker faceAbsolutely cracking

A smile held past the marker ends your streak. No pressure.

Your camera stays on your device.
No audio, uploads or recordings.

A playful estimate, not an exact science. Good lighting helps. Switching tabs turns the camera off.

My role
Sole designer & developer
Exploring
Smile detection & live video
Built with
LiveKit & a self-hosted server
Status
Tested with friends · Unpublished

The idea

Who can keep a straight face?

I’d seen the trend of people trying to outdo each other on video calls and wondered what it would be like if the challenge was to make the other person laugh. Each person would try to hold it together while making the other one crack.

That gave me an idea to try with smile detection and live video. I put together a prototype and tested it with a few mates. It worked well, and we had fun with it.

Joybait attacker and defender panels with camera-off demo placeholders
One player tries to make the other laugh; the other tries to hold a straight face.

The build

Running video calls on a game server.

Getting LiveKit set up was the trickiest part. I was using hosting intended for Minecraft servers, so it took some work to get live audio and video running there. I eventually got it working, and enjoyed figuring out the setup.

Joybait smile score and break meter using sample detector values
The smile meter gives visual feedback during a round. These values are sample data.
Joybait round timer and player scores in an offline demonstration
A shared timer and score display frame the challenge.

Where I left it

It needs people to play with.

I didn’t publish Joybait because I didn’t have time to promote it and get people using it. A game like this needs other people online for it to be fun. For now, it remains a working experiment I played with friends.

Joybait prototype interface with a note that it was tested with friends and remains unpublished
A working experiment, with an offline interface demonstration shown here.