The bots are what I keep tinkering with. Card play is a linear model over hand features, with the weights tuned by self-play search. Bidding and declaring use Monte-Carlo rollouts.
No signup needed to practice against the bots. It's all TypeScript (Svelte plus a small WebSocket server).
It is worth saying that the MC rollouts are fairly cheap because the playing architecture is cheap.