frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Three Emojis, a daily word puzzle for language learners

https://threeemojis.com/en-US/play/hex/en-US/2025-11-07
17•knuckleheads•3h ago
I'm in the process of learning German and wanted to play a German version of the NYT’s Spelling Bee. It was awful, I was very bad at it, it was not fun. So I built my own version of Spelling Bee meant for people like me.

Three Emojis is a daily word game designed for language learners. You get seven letters and a list of blanked-out words to find. When you discover shorter words, they automatically fill into longer ones—like a crossword—which turns out to be really useful for languages like German.

Each word also gets three emojis assigned to it as a clue, created by GPT-5 to try and capture the word’s meaning (this works surprisingly well, most of the time). If you get stuck, you can get text/audio hints as well.

It supports German and English, with new puzzles every day. You can flag missing words or suggest additions directly in the game. The word lists include slang, abbreviations, and chat-speak—because those are, in my opinion, a big part of real language learning too (just nothing vulgar, too obscure or obsolete).

Every word you find comes with its definition and pronunciation audio. If you want infinite hints or (coming soon) archive access, you can upgrade to Pro.

Feedback is very welcome, it's my first game and I'm certainly not a frontend guy. Happy spelling!

Comments

zaene•1h ago
Really crazy seeing this -- I've been working on my own multi-lingual spelling bee clone as a personal project for the last few weeks. You don't have share any trade secrets if you don't want to, but I'm wondering how your experience has been coming up with "playable" sets of letters? For Italian I found that a lot of 7-letter sets have relatively few words you can make with them, and for the ones that do it's been a fun challenge trying to curate the actually "fun" boards by looking through word lists of a language I'm not yet fluent in myself. I'm working on a blog post about it that I was thinking of sharing here sometime soon.

Some feedback on the UI - at least on desktop Chrome, the title part of your scoreboard area is being cut off and the "How to Play" section has the text totally flush with the top, so you might want to look into your margins or padding there to give everything some breathing room. There's also a bug in your shuffle algorithm -- the letter in the top right cell never changes when you shuffle the letters. The cell buttons are also a little unresponsive. It seems like there are some dead zones where the hover animation doesn't get triggered and clicking the cell doesn't actually input the letter.

I like how you've added some features to make it easier for language learners to find words. Are you yourself studying German? And if so have you found it fun/useful?

knuckleheads•1h ago
Great minds think alike ;) Some rambly thoughts off the top of my head about picking games:

I am still nailing down how many words to put in and therefore how long the game is. Right now somewhere between 30 and 75 feels good, I had it at 100 and friends complained that it was too long. To get a sense of your data, make a histogram of total number of words per letter set. This is different per language and does give you sense of what's up, as well as how good your word universe is. Conjugations/inflections help pad this out a lot as well.

Get the word frequencies for each word, wordfreq is helpful. Then, do a greedy algorithm, start accumulating the list of letter sets, one for each day. For first day, take the letter set that maximizes the sum of the squares of the zipf from wordfreq and has the number of words that you want for that day. For the next day, remove all the previous words from the words for your possible letter sets and repeat the sum of squares of zipfs. Then just keep running that, and it will maximize the most common words that haven't been seen yet.

Additionally, I tried to filter out a lot of words out front before running the game covering algorithm. No vulgar, nothing obscure or too obsolete. It's relatively cheap to run a very large word list through GPT-5 and ask a couple questions about each word. Do that once and you have filtered out a fair portion of the list. Build in a system for ad hoc blocking and it gets you most of the way there.

That is very helpful about the buttons and formatting. Thank you so much! I have that fixed up soon. Big lol on the shuffle algorithm, I hardly ever use it so I hadn't noticed. Thanks! I am in the middle of studying German, yes. What I've found is that it is very helpful for introducing me to new words for sure, that I am not sure I could have seen otherwise. It also helps me see the patterns within how the words are formed, just trying to puzzle out things. I have to take a lot of guesses and I feel like I am getting better at guessing which letters will ended up going where, even if I have never heard the word before.

zaene•24m ago
Really cool! Thanks for sharing!
knuckleheads•13m ago
for sure! shoot me an email when you get yours online, excited to see it, root@threeemojis.com
fwip•1h ago
Cool idea - I could see playing this daily.

Some of it was a little frustrating, mostly the acronyms. Labeling them as such might help, because I was going mad trying to figure out "NNW" and "WWOOF.". Also, performance was not great on my older Android phone - the app would sometimes miss letters that I was sure I'd clicked.

oneeyedpigeon•1h ago
How old's your Android? Performance was fine on my Pixel 3a.
fwip•1h ago
Good point - I should have specified. Looking it up now, the CPU my phone uses is the Helio P22 - a budget chip released in 2018. So performance might be fine on more reasonable phones. :)
knuckleheads•1h ago
I do want it to work for everyone though! It might be the emojis falling in the background. I also realized there's no way to turn that off. For a while, I had them piling up at the bottom of the screen which was very cool, but the physics engine would make my recent iPhone overheat. So, I'll make a note to add a setting to turn that off and that might take care of it.
knuckleheads•1h ago
Nice, thank you. I have removed both NNW and WWOOF as well now. I have a flagging system, so people can request to have a word removed or added and they get removed/added on the spot. I like some of the acronyms, but I am in the middle of working my way through all 3 letter words in english (many thousands of them) trying to weed out the weirdos. And, damn, I haven't been able to test on older phones. I'll try and pick one up and see what I can do there. Thank you for playing!
why_at•1h ago
Nice work! That was pretty fun.

There were definitely some words in there which I had never heard even as a native English speaker. One suggestion I would make if the intent is to teach people a new language would be to limit the word list based on how commonly used the words are. I don't think it helps non-proficient speakers to learn extremely obscure words that nobody uses.

You could make it so that the X most common words are needed to win and the rest are bonus points or something.

knuckleheads•1h ago
Thank you! And yes, taming the word list is a constant battle and a matter of taste. I haven't tried to draw such strict lines yet for the entire language as to what definitely will and won't be in there, beyond nothing vulgar, too obscure, or too obsolete. There's a ton of flowers in there for example, which is interesting, but also, eh. I wanted to get it in front of people and hear what they thought, so thank you for this!
oneeyedpigeon•1h ago
I liked it, but a couple of bits of feedback:

1. I thought there were a few too many clues of various types. The emoji, combined with the word list in alphabetical order, the part-filled words, AND the infinite guesses. I'll admit, I ended up guessing quite a few times, which slightly soured the experience.

2. Some of the words are really weird. I'm not sure all of the onomatopoeic words should be in there. And I don't think the acronyms (e.g NNW) should be in there.

Other than that, though, I thought it was a great version of the NYT equivalent. Loved that there were so many words — it's a shame that #2 would mean fewer, but I still think it would be worth being a bit pickier on balance. My partner didn't quite get the emjoi clues until I explained an example, but I thought a lot of them were quite clever!

knuckleheads•1h ago
1. This is interesting. It's definitely made with language learners in mind, so there's a copious amount of hints. There's also a ranking system, where you do get penalized if you guess so much. That's not so forward, it used to be up front and friends didn't like it so much. One way of making it harder is taking out the 2 and 3 letter words, which really reduces the number of hints you get via word fill ins. I was thinking of something like Three Emojis++ as a name for that mode, but I haven't gotten around to testing it out so much.

2. I've removed NNW now. I've got a todo list to start playing a day ahead and doing a final pass over such things so that not as much weird stuff gets through. I do like having onomatopoeic words, because in German, it is really interesting to me to see them. I would like to known the German equivalents to Eh, ow, oh, ew and so I leave such things in. But have five different versions of ewwww, yes, that'll get fixed.

I have scripts that tune it to specific numbers of words each day by selecting different letter sets based on my curated word list, so removing words doesn't have such a big impact. And the emojis are hit or miss, but when they hit they are very funny and helpful. I would never ask a human to label 75 words a day with emojis, but GPT-5 will happily do it for a $1 a day.

Thank you for playing!!! And writing this comment!!

knollimar•1h ago
Doesn't filter out all acronyms.
knuckleheads•1h ago
Some acronyms a language learner needs to know (i.e. OOO, CEO, COO). The others I am hunting down with extreme prejudice.
knollimar•1h ago
All cardinal directions need to go unless they're already a word otherwise; I just had WNW

edit: also I'm a native english speaker and I don't know what OOO means.

knuckleheads•57m ago
Ah, WNW is out now. I've made a note to track all those down, there's a bunch of them hiding out in there. And OOO means Out of Office and it's pretty common in English workplaces, to the point that people learning English in a business context have told me that they had to specifically look that one up.

Show HN: DeepShot – NBA game predictor with 70% accuracy using ML and stats

https://github.com/saccofrancesco/deepshot
2•Fr4ncio•18m ago•0 comments

Show HN: Rankly – The only AEO platform to track AI visibility and conversions

https://tryrankly.com
2•satj•30m ago•0 comments

Show HN: Three Emojis, a daily word puzzle for language learners

https://threeemojis.com/en-US/play/hex/en-US/2025-11-07
17•knuckleheads•3h ago•17 comments

Show HN: VoxConvo – "X but it's only voice messages"

https://voxconvo.com
2•siim•1h ago•1 comments

Show HN: I scraped 3B Goodreads reviews to train a better recommendation model

https://book.sv
560•costco•2d ago•232 comments

Show HN: Pingu Unchained an Unrestricted LLM for High-Risk AI Security Research

https://pingu.audn.ai
7•ozgurozkan•2h ago•4 comments

Show HN: Command line YouTube downloader,a universal media solution for everyone

https://github.com/Saffron-sh/m2m
3•saffron-sh•2h ago•3 comments

Show HN: I built a Free "Masterclass" from YouTube clips

https://opencademy.com/
3•longerpath•3h ago•7 comments

Show HN: OSS implementation of Test Time Diffusion that runs on a 24gb GPU

https://github.com/eamag/MMU-RAG-competition
20•eamag•11h ago•0 comments

Show HN: Dynamic code and feedback walkthroughs with your coding Agent in VSCode

https://www.intraview.ai/hn-demo
41•cyrusradfar•1d ago•9 comments

Show HN: See chords as flags – Visual harmony of top composers on musescore

https://rawl.rocks/
122•vitaly-pavlenko•2d ago•28 comments

Show HN: qqqa – A fast, stateless LLM-powered assistant for your shell

https://github.com/matisojka/qqqa
151•iagooar•1d ago•84 comments

Show HN: TabPFN-2.5 – SOTA foundation model for tabular data

https://priorlabs.ai/technical-reports/tabpfn-2-5-model-report
71•onasta•1d ago•12 comments

Show HN: Ambient light sensor control of keyboard and screen brightness in Linux

https://github.com/donjajo/als-led-backlight
22•donjajo•5d ago•1 comments

Show HN: Extending LLM SVG generation beyond pelicans and bicycles

https://gally.net/temp/20251107pelican-alternatives/index.html
6•tkgally•10h ago•0 comments

Show HN: Linguistic RL – A 7B model discovers Occam's Razor through reflection

https://github.com/DRawson5570/linguistic-rl-scheduling
2•drawson5570•8h ago•0 comments

Show HN: Lanturn – A smart headlamp running voice+vision on ESP32

https://github.com/getchannel/lanturn
2•Aeroi•8h ago•1 comments

Show HN: XML-Lib – An over-engineered XML workflow with guardrails and proofs

https://github.com/farukalpay/xml-lib
3•HenryAI•8h ago•0 comments

Show HN: A Lightweight Kafka Alternative

5•kellyviro•9h ago•0 comments

Show HN: Flutter_compositions: Vue-inspired reactive building blocks for Flutter

https://github.com/yoyo930021/flutter_compositions
44•yoyo930021•1d ago•23 comments

Show HN: I made a better DOM morphing algorithm

https://joel.drapper.me/p/morphlex/
7•joeldrapper•11h ago•0 comments

Show HN: [npm] Recreation of YouTube's "ambient glow" effect

https://www.npmjs.com/package/video-ambient-glow
3•JSXJedi•12h ago•1 comments

Show HN: A CSS-Only Terrain Generator

https://terra.layoutit.com
363•rofko•3d ago•82 comments

Show HN: Chess960v2 – 100 Rounds Done, Some Openings Still Undefeated

https://chess960v2.com/en
3•lavren1974•16h ago•0 comments

Show HN: I built a search engine for all domains on the internet

https://domainexplorer.io
5•iryndin•16h ago•9 comments

Show HN: Switchport – A/B Test Your LLM Prompts in Production

https://switchport.ai/
2•rjfc•17h ago•0 comments

Show HN: FlashVSR – High-Speed 4K Video Super-Resolution

https://www.aiupscaler.net/flashvsr
2•lu794377•18h ago•0 comments

Show HN: Practice your captcha skills with Google's weirdest Street Views

https://street-captcha.netlify.app/
3•SantiDev•19h ago•1 comments

Show HN: What Is Hacker News Working On?

https://waywo.eamag.me/
12•eamag•1d ago•2 comments

Show HN: ApiMug – Terminal UI for Browsing / Testing APIs from OpenAPI/Swagger

https://github.com/doganarif/ApiMug
3•Arifcodes•22h ago•0 comments