Back to DevLog

Building Emoji Reactions and Fixing Avatar Uploads in Cardizzle

2 min read

Had a solid dev session today working on Cardizzle, my poker app project. Three main things got knocked out:

Custom Poker Emojis Are Live

Generated 10 custom poker emoji assets (128x128 PNG) using pilmoji. Nothing fancy, but they fit the poker vibe perfectly. Built out the full emoji reaction system with shared types, a server handler that includes a 2-second rate limit (because nobody needs emoji spam), and an EmojiPicker component. The animated speech bubble on PlayerSeat turned out pretty slick.

Reactions are poker/tournament tables only for now. Each reaction displays for 3 seconds, which feels about right for the flow of the game.

Avatar Upload Bug Finally Squashed

This one was annoying me for weeks. Avatar uploads kept getting wiped on every deploy. Turns out I needed to add a DATA_DIR environment variable that points to Fly.io's persistent volume. Simple fix once I figured it out - now avatars actually stick around like they're supposed to.

UI Tweaks

Shifted the poker table upward to make more room for cards and the action panel. Small change but it makes the whole interface feel less cramped.

Also added a commit-status convention to my CLAUDE.md file to keep track of what I'm working on.

What's Next

Need to merge this to main and deploy to make sure the avatar persistence actually works in production. Then I want to test the emoji reactions with multiple players to see how they feel in real gameplay.

I'm also considering adding sound effects to the emoji reactions, but that might be overkill. We'll see how the current implementation feels first.

Share this post