Top
Best
New

Posted by david927 11/9/2025

Ask HN: What Are You Working On? (Nov 2025)

What are you working on? Any new ideas that you're thinking about?
464 points | 1369 comments
paulhebert 11/9/2025|
I recently launched a daily word puzzle!

https://tiledwords.com

It’s inspired by tile placement board games like Patchwork and crosswords. You rotate and move tiles to rebuild a broken crossword.

It’s free, web based, and responsive.

I currently have several hundred daily players and growing. My wife and I create the puzzles and I’m continuing to fix bugs and add new features.

I just launched a ”community puzzle” feature to let players help build new puzzles.

I’d love to know what you think!

cade 11/11/2025||
With all my heart, I want to cheer you on. Making stuff is damn hard, and shipping is even harder. You did that, and I applaud you for it.

I do a lot of NYT puzzle stuff every day and some other random puzzle sites before I get out of bed. That said, I'm over 40, love puzzles, love complicated board games, went through your brief explainer, and could not get a sensible handle on how to even start this thing. A new player has to really care about how to even try to begin to figure out whatever this is. I gave it about 20 seconds after the "how does it work?" Honestly, I gave up. I'm really not trying to rain on your parade. You might find a niche audience, and it'll be what you're going for, but I think you need a much, much better rules explainer if you want to be even remotely in the vicinity of a Wordle-level banger.

This thing might be really awesome, but not being able to figure out how to use it is a hard out for me.

paulhebert 11/12/2025||
Hey, thanks for the candid feedback! It’s super helpful.

I’m curious if there were specific aspects you struggled with or if the whole thing was confusing?

Did you try the Practice Puzzle or jump right into the daily?

Practice puzzle: https://tiledwords.com/puzzles/practice

It sounds like you read the instructions but they weren’t enough. Maybe a video explainer would be better? Does the gameplay recording on this Reddit post help at all?

https://www.reddit.com/r/DestroyMyGame/comments/1osxb2q/i_re...

People really seem to like it once it clicks (Over 1100 people have finished the daily puzzle so far today) but there is a steep learning curve and I’d love to learn how to help people get past that initial hump.

SeriousStorm 11/23/2025|||
IMO I shouldn't change the onboarding much. The game is very intuitive. Everyone I showed it to has picked it up in about 30 seconds.

It's very much a learn-by-doing game.

PS - This game is so fun. I don't usually do word games, but I can't stop playing this one.

paulhebert 11/23/2025||
Thanks, that’s good to hear!
paulhebert 11/12/2025|||
My ideas are:

- Add an optional video explainer on the How To Play screen

- Redesign How to Play to push you towards the practice puzzle more strongly

- Add more practice puzzles that ramp up in difficulty

hjnilsson 11/11/2025|||
That was a fun little game! The hinting felt appropriate, only thing I didn't really like was that it got a bit "cramped" towards the end moving things around. Will try it again tomorrow. :)
paulhebert 11/11/2025||
Thanks! Yeah it’s tricky since I wanted to make it work the same on small phone screens as large computer screens, so the place is limited.

I want to explore a future feature where dropping a tile “pushes” other tiles out of the way that will hopefully make it feel less cramped

whitehexagon 11/10/2025|||
There are not many sites I whitelist for javascript, or even bookmark these day. Really glad I tried your game, it's fun and nicely executed. Well done to you both.
paulhebert 11/10/2025||
Thanks!
zelphirkalt 11/10/2025|||
Good fun. I discovered a big though. I could not yet reproduce it, but I managed to somehow have letters glitch out of the Tetris shapes they are in. When I move the tiles or rotate them, the letters are back where they should be. So it's not game breaking, but seems to happen in some case. At first I suspected, that it was because my phone was locked in between, but I tried that and when locking it manually, that bug did not happen. So no idea, sorry!
paulhebert 11/10/2025||
Ahh dang I’ve had a few people report this but I haven’t been able to reproduce it. I think it does have something to do with locking your screen and coming back but I haven’t figured it out yet
wingtw 11/12/2025||
I received a call during the game and it happened too. Twice actually :)
paulhebert 11/13/2025||
Interesting, I’ll have to try that to see if I can reproduce it, thanks!
curo 11/10/2025|||
This is really fun — have you played with making the tile position opinionated (not agnostic)?

i wonder if have the clues point to a starting square (e.g., "E5") would be better than the current "reveal" aid. The spatial information would become more helpful toward the end when the player is dealing with the words they need help on.

paulhebert 11/10/2025||
Could you expand on what you mean about opinionated vs agnostic? It sounds interesting but I’m not sure I follow.

I like that clue idea! I want to change how the reveals work. I’ll play with that!

andy_ppp 11/10/2025|||
Really great! One of the things that Wordle did that I thought was very clever was having a copy and paste social media preview of how you did. It might be worth adding that for vitality... you could even add an image preview with Open Graph meta tags if you were clever.
paulhebert 11/10/2025|||
Thanks, yeah I’d like to improve this. There is a “share” option when you complete a level but I don’t think it works as well as Wordle’s in terms of storytelling.

Generating a custom sharing image is interesting!

knuckleheads 11/10/2025||
This is something I've gone and forth on for https://threeemojis.com/ as well. I think it's pretty hard to generate a story of a complicated puzzle, in part because the person you are sending it to doesn't have an idea of the terrain you were playing on and so kind of doesn't care. I do see some people doing custom share images with their puzzles, but it doesn't seem to have caught on so much.
andy_ppp 11/10/2025|||
* virality :-/
memset 11/10/2025|||
Nice! Some feedback from my wife, who is into all manner of word games: she found it a little bit brute-forcey: needing to try all different combinations in order to get the right configuration of the word. In contrast to a crossword where there is already a layout, which gives her a hint for how to proceed with the rest.

(She finished today's puzzle, and I gave up.) From a UI perspective it is very slick - very smooth, and I like how it kind of "gets" what you were trying to do when providing corrections/hints.

fsckboy 11/10/2025|||
>In contrast to a crossword

there's a type of crossword called "diagramless" where you have the numbered clues and an empty grid

there was one in NYTimes Magazine Sunday puzzle page this past weekend

paulhebert 11/10/2025|||
Thats great feedback, thank you!
NickC25 11/11/2025|||
Man, this is absolutely awesome. This has the feeling of being the next wordle or a similar quick hit type game. Really impressive.
paulhebert 11/11/2025||
Thanks!
MattRix 11/12/2025|||
This is really well made! As someone who has built daily puzzle games (ex. sidewords.ca, kickoffleague.com, and just today fivefold.ca), I appreciate the effort it takes to make something that polished! It plays really well on mobile, which is tricky, especially when you’ve got a grid as big as yours.
paulhebert 11/12/2025||
Thanks, I’ll have to try out your games! Any tips or recommendations you’ve learned from your puzzles?
MattRix 11/12/2025||
Hah well one tip would be do NOT make a complex framing/structure for your daily puzzle game like we did with Kickoff League. It was a fun experiment but it mostly just confused people.

A more meta tip is if you make multiple games, try to have some genre or theme overlap so you can build a community among players of your games. I wish I had done this more with my more successful games (which are mobile games, not web games, but the same idea applies).

paulhebert 11/12/2025||
That makes sense, thanks!
hoqqanen 11/10/2025|||
I saw your Show HN post a few weeks ago! Really appreciate the smoothness of your UI and the simplicity of your onboarding, I see how much you have dialed in. I've been working on a daily puzzle game too (it's getting there...), maybe you'd enjoy it https://slab17.com/
paulhebert 11/10/2025|||
Slab 17 is a really interesting and unique puzzle! I love the act of slab creation. It’s very satisfying and the aesthetics are great.

I found the instruction about double tapping a little confusing at first but figured it out as I played.

Nice work!

hoqqanen 11/10/2025||
Thanks for the note and the feedback about the instructions! Got me to rework the wording.
catoc 11/10/2025|||
Very cool!

I solved the first puzzle: -Congratulations! -You solved Paprika with 18 slabs

But this was unclear: -You've solved 0 puzzles! -Reveal Rule -Next Puzzle -View Archive -You still have 2 guesses left. Finish guessing before revealing the rule if you're feeling brave!

I have to do 2 more guesses before I can reveal the rule that I already figured out?

hoqqanen 11/11/2025||
Thanks for the note! This part needs work and I really appreciate the call out. I'll try to explain here to share, and maybe clarify my own thinking.

Getting any of the guesses right counts as a win, and you get different guessing slabs for each guess (this latter part isn't made at all clear upfront).

If you have a rule in your head like "no red", but the true rule is "no red or orange", it's possible that on the guessing slabs those two rules evaluate to the same things (e.g. there weren't any oranges present in the guessing slabs). You could then try the rest of the guessing slabs, which might have an example where you get it wrong, giving more gameplay.

I wanted to give a victory on any subset of 5 slabs guessed successfully since trying to get all the guesses is very hard (especially the first guess on many puzzles), and you can get new information from guesses which fail, which offers some progression. Hence getting "you won" and the ability to reveal the rule (I've also thought about keeping the reveal unavailable until you do all guesses) and the invitation to keep playing.

If you have a minute I'd love to hear from you if that makes sense and if you have thoughts about what might make more sense. I've also tried to consider ways of restructuring the gameplay, e.g. automatically progressing to the next set of guessing slabs, such that the flow here is less confusing.

Thanks for playing, and for sharing!

catoc 11/11/2025||
That makes sense.

Maybe just simply state it?

E.g, instead of “you solved paprika”:

“You got 5 slabs right; 10 more to prove you really solved the rule”

(Being better versed in making games than I am, you can likely come up with more enticing prose)

hoqqanen 11/11/2025||
Appreciate the reply, this is simpler than my thinking and I like it!
nine_k 11/10/2025|||
The animations in the interface make it feel more "jelly" and not "wooden" like a number of other such interfaces.
paulhebert 11/10/2025||
Thanks! I spent a long time trying to make the core controls feel intuitive and natural to use
nine_k 11/10/2025||
The amount of care you put into it must be massive; a noticed so many nice subtle details that make interacting with the pieces easy and fun. Kudos!
redbell 11/10/2025|||
This is a lovely game!

This game was Show HNed two times in ten days, [1][2], but unfortunately, it didn't get as much attention as it should! Ironically, this current thread has already gained almost double the comments from both submissions combined!

I whish you best of luck to succeed in your journey.

___________________

1.https://news.ycombinator.com/item?id=45750789

2.https://news.ycombinator.com/item?id=45634525

paulhebert 11/10/2025||
Thanks!

Yeah I felt odd reposting the Show HN but I thought that the HN crowd would enjoy the game if a post got traction

eps 11/11/2025||
You can email mods and ask to bump up a Show HN post if it has merit. Even if it's your own.
jgoodhcg 11/13/2025|||
I’m enjoying this a lot and even got my partner playing. We did one together and now they are off working through puzzles because they liked it so much.

The game design is really good too. It has just the right amount of juice.

paulhebert 11/13/2025||
Thanks for the kind words and sharing it with your partner!
litia_shi 11/10/2025|||
This puzzle is genius.The interface is minimal and user-friendly, everything feels smooth and intuitive.
jphoward 11/10/2025|||
Nice! What might be a nice lesser 'clue' to simply revealing a word is highlighting letter(s) on the board that are part of it? Favouring maybe highlighting letters that are contiguous with a blue bit?
paulhebert 11/10/2025||
Yeah that’s a good idea!
xwowsersx 11/11/2025|||
This is really great. Played this for quite a long time, nicely done!
paulhebert 11/11/2025||
Thanks! Hopefully you enjoy the upcoming daily puzzles!
yaba_money 11/10/2025|||
I really enjoyed this! wondering about a possible "scratch" section or larger area - found myself spending a lot of time moving pieces around to get enough space
paulhebert 11/10/2025||
Yeah I’ve gone back and forth on this.

On large screens adding more space would be a big quality of life improvement.

But it doesn’t really work on smaller screens.

So far I’ve tried to keep the experience as similar as possible across devices but maybe that’s silly

JKCalhoun 11/10/2025||
Yeah, I think you should be actively encouraging the sales of laptops/desktops.
kmc059000 11/10/2025|||
You had me at Patchwork. This is super fun. Thanks for making it!
paulhebert 11/10/2025||
I love Patchwork! One of my wife and I's favorite, easy, go-to games.
ninjha01 11/15/2025|||
Nicely done! Played two puzzles and had a blast! Works awesome on mobile
brokerjames 11/14/2025|||
Your website grew to several thousand UVs per month in just two months — that’s impressive!
elxr 11/13/2025|||
Beautiful UI and a genuinely fun game
paulhebert 11/13/2025||
Thanks!
jeanlucas 11/10/2025|||
That's awesome!! It took 15 min and I gave up on some words.

As a non native it feels awesome to finish a puzzle like this haha

paulhebert 11/10/2025||
Nice job! I’m glad you enjoyed it!
ElasticBottle 11/11/2025|||
It was super fun! Would love a little more space to move pieces around but otherwise fantastic job!
SubiculumCode 11/10/2025|||
I shared with people. They loved it.
paulhebert 11/10/2025||
Thank you!
SubiculumCode 11/14/2025||
And those people have shared it to their friends. At least in my part of the woods, you have a hit.
paulhebert 11/17/2025||
Thanks, that’s lovely to hear!
gota 11/11/2025|||
Did you do a Show HN thread on this? Do it so I can 'favorite' it please
latexr 11/11/2025||
You can favourite comments. But yes, there was a Show HN.

https://news.ycombinator.com/item?id=45750789

i_don_t_know 11/10/2025|||
This is really good. I like the idea of the game and your execution of it is superb.
javahair 11/14/2025|||
Nice job, I enjoyed it, I’ll play again tomorrow!
ekrapivin 11/10/2025|||
Very neat and clean UX, kudos to that!

How do you market it – now or planning to, if I may ask?

paulhebert 11/10/2025||
Great question… marketing is not my strong suit.

I showcased at the Portland Retro Gaming Expo with the Portland Indie Game squad and that got me some players. I also shared it on my various personal social medias. The neighborhood board game store let me put up a poster!

I’m also hoping that organic sharing will drive growth.

This HN comment has been some of my most successful marketing so far. Around 2400 people from HN have visited since I posted!

wingtw 11/12/2025||
The game deserves it. As a non-native some of the things are tough without "cheating" but its still fun. Didn't check but do you also support other languages besides English? (In Estonian for example we have some tricky vovels: üöäõ, which might throw some code haywire)
paulhebert 11/12/2025||
I _think_ the code would support it fine but I’d have to check. For now all of the clues are in English
emilbratt 11/10/2025|||
I love it. I struggle more than I want to admit, but super fun nonetheless.
paulhebert 11/10/2025||
It definitely has a bit of a learning curve! In playtesting it sometimes took a bit for the rotation to “click” for people.
emilbratt 11/10/2025||
Yeah that was it for me, the rotation really threw me off.
rPlayer6554 11/10/2025|||
Wow that is a clean and responsive interface! It feels great on mobile.
john443295 11/10/2025|||
Awesome game! I've been looking for something like this.
paulhebert 11/10/2025||
Thanks, I’m glad you like it!
cgranier 11/14/2025|||
That was quite fun. Will be back.
lbj 11/10/2025|||
Super fin idea, very nicely executed, thanks!
8organicbits 11/10/2025|||
That was wonderful, I'll be back tomorrow.
paulhebert 11/10/2025||
Thanks, I’m glad you like it!
Realman78 11/11/2025|||
Just played it, really super. Great job.
g_host56 11/10/2025|||
this is very cool, noticed vue and nuxt nice.
paulhebert 11/10/2025||
Thanks! Yeah I love Vue and Nuxt. They worked great for this project
nathsav 11/11/2025|||
Just solved a puzzle, nice project!
ntnbr 11/10/2025|||
Fun game! Shared with some friends :)
paulhebert 11/10/2025||
Thanks!
old_bayes 11/10/2025|||
I also enjoyed this, great work!
emrah 11/11/2025|||
Amazing game, perfect for me.
lainzhow 11/11/2025|||
Very nice game, good job!
shdisi 11/13/2025|||
This is a really fantastic game. I’m a big fan of word games, especially crosswords and scrabble/words with friends so this is exactly “in my q zone”.

I hope you make a success of this and sell it to the NYT for a disgusting amount of money.

Barbing 11/10/2025|||
That was fun, I’m in!
paulhebert 11/10/2025||
Awesome!
rodyoversloot 11/10/2025|||
very addictive and original puzzle game, like it!
psankar 11/10/2025|||
This is bloody good
gordonhart 11/10/2025|||
Great game! The effort you put into animations and interactivity really pays off, especially when first learning how the game works.

This is a classic HN comment but I’d love a Thursday/Friday crossword difficulty equivalent in addition to the dailies which are a ~Monday.

paulhebert 11/10/2025||
Thanks! I would like to explore different difficulty puzzles in the future!
h1fra 11/11/2025|||
Really nice
scosman 11/10/2025|||
Awesome work
kjgkjhfkjf 11/11/2025|||
I love it!
bennettpompi 11/11/2025||
this is great man
ChristopherDrum 11/9/2025||
Continuing with my retro productivity software blog, Stone Tools: https://stonetools.ghost.io

I was getting a little bored of retrocomputing discourse being so centered on gaming, so I'm exploring the productivity software of the 8/16-bit era. I put real effort into learning and using the programs, giving my light-hearted but heartfelt assessment of its form and function for both its time and today.

Using the software inevitably gets me thinking about other things, and I explore those threads as well. For example, "Superbase on the C64" also discusses the legacy and promise of "the paperless office." A couple of other posts got some nice traction here on HN, notably "Deluxe Paint on the Amiga" and "VisiCalc on the Apple 2".

I'm hoping to build a strong monthly readership, so I'm putting in the work. It's been up for two months and five posts now, with a new one coming at the end of this week.

wonger_ 11/10/2025||
I think this software archaeology / history-keeping is really important. Keep up the good work. These paragraphs resonate with me:

> There is utility in those old tools and interesting ideas to be mined. Recently I stumbled across something that by all accounts should have set the world on fire, but whose ideas needed more time to germinate before blossoming much later. Discoveries like this are not just nostalgic “what ifs” to opine wistfully upon, they can be dormant seeds of the future.

> Computing moves at such an unrelenting pace, those seeds may lie dormant for any number of reasons: bad marketing, released on a dying platform, too expensive, or even too large a mental leap for the public to “get” at the time. I see this blog as a way to explore the history of the work tools we use every day. I don’t do this out of misty-eyed sentimentality, but rather pragmatic curiosity. The past isn’t sacred, but it is still useful.

What's your research process? Do you use lots of Internet Archive material? Do you reference any personal artifacts i.e. old hardware or documentation laying around? Any interviewing?

ChristopherDrum 11/10/2025||
Thanks for the kind feedback, and I'm happy you felt resonance with those words. I use tons of Internet Archive material, but also stuff from various retro enthusiast sites which focus on specific hardware platforms. Lots of books, I look through YouTube for interviews, and include my own personal history with the machines and genres (I don't want the blog to read like a passionless how-to manual). If I had the physical space for a hardware collection I'd do that, but alas. No interviewing of my own, just research into existing interviews up to present day. The main point is really to let the software speak for itself and see if it and I can be friends.
HeyLaughingBoy 11/10/2025|||
That's interesting. I agree that outside of gaming you really don't see much being done with the old systems.

My first job out of college was with a tiny, now-defunct company that built simple I/O hardware for 8-bit systems. One of the "side products" was a MacPaint clone for the Radio Shack Color Computer II called CoCoMax. We didn't write it: AFAIK, the programmer for the original version contacted the company and asked if they wanted to buy it and pay him royalties. He later went off and built an even more successful product used in TV stations called the Video Toaster. Side product or not, CoCoMax was a cash cow!

On the heels of that success, another programmer who'd written a more advanced version for the Color Computer 3 offered the same deal. From what I recall, they both made buttloads of money from their royalties.

Sometimes I wish I had kept some of that old hardware & software, but it's long gone.

thiagomg 11/17/2025|||
Your website is amazing! I've being complaining recently to some coworkers that current software is often bloated, full of things that are only distractions and due to all the accidental complexity, full of bugs and slow. One day, at work, Gnome stopped working due to some javascript issue and KDE at home due to something similar (I guess) and as I had to get some stuff done, I just installed WindowMaker and started using it. I forgot how amazing it was and how much it just work. Some customisations I do such as changing Caps to Control and other similar things were easy - just dealing with xinput/setxkbmap, etc.

So, my impression is that, for a while, things started getting simpler by having WYSIWYG editors and multiple things running at the same time in windows, but as the processing power and memory started improving, instead of making things easier and better, we (as people) started just adding more features and other things that they just made things more complicated than they should be.

Well, with all that, I wish success for you!

PS: It would be great if you had RSS support on your website.

sevensor 11/10/2025|||
This is a neat project! I read the last post and I’ll work my way back through them.
ChristopherDrum 11/10/2025||
Thanks, I hope you enjoy the series!
komali2 11/10/2025|||
This is super cool. If it was RSS enabled I'd immediately add it to my feed!
ChristopherDrum 11/10/2025||
Thanks! I don't actually know anything about how Ghost blogging platform interacts with RSS feeds, but I get a small amount of traffic from personal aggregation services. I guess I kind of thought RSS is enabled, but I don't use it so I honestly don't know. I'll look into it and see if there's some setting or toggle switch somewhere I need to flip.
tonyedgecombe 11/10/2025||
https://stonetools.ghost.io/rss/
ChristopherDrum 11/10/2025||
That worked for you? I was having a devil of a time getting Feedreader to bring in that feed. I also had never touched Feedreader until last night and might have done something dumb. Inoreader did bring in the feed, but only after I "tricked it" (?) by doing a search for the feed; it wouldn't accept the rss URL. It all felt very mysterious and opaque.

I got word in the Ghost forums that there may also be an RSS feed bug, which I'll look into and see if that applies to this case.

tonyedgecombe 11/11/2025||
It worked in NetNewsWire, a macOS feedreader.

RSS is a bit of a pain as most feed readers will accept malformed XML (unlike Atom feeds). Hence you end up with a lot of malformed XML.

Having said that it mostly looks valid:

https://validator.w3.org/feed/check.cgi?url=https%3A%2F%2Fst...

ChristopherDrum 11/11/2025||
Great to know, thank you for the investigation.
Shorel 11/10/2025||
That sounds fascinating, thank you for this research.
ChristopherDrum 11/10/2025||
My pleasure!
seanwilson 11/9/2025||
A tool for creating custom Tailwind-style color palettes for web and UI design that pass WCAG contrast requirements:

https://www.inclusivecolors.com/

The interface is optimized to let you quickly explore and tweak multiple tints/shades at once so you can customize all colors exactly how you want e.g. try dragging vertically through the saturation curve in one motion to edit all the tints/shades at once, or shift whole curves horizontally by dragging between the dots on a curve.

It uses the HSLuv color space, where (unlike say HSL) the WCAG contrast stays the same when you change the hue and saturation sliders. This makes it much easier to explore accessible colors choices as you know only changes to the lightness slider will impact the contrast. You can also switch from the WCAG2 contrast checker to using APCA, which is meant to correct for inaccuracies in WCAG2, such as it being too forgiving for dark mode color combos.

Note the mobile version is more of a preview and the desktop version has more features.

I probably need to add something like a tutorial as there's a lot going on, but I've added more hints and tooltips recently. Open to feedback on what's initially confusing and what changes might help!

mgkimsal 11/10/2025||
I passed this on to some accessibility folks at a couple conferences in the last month - everyone was impressed :)
seanwilson 11/10/2025||
That's awesome, thanks!

I'd also keen to hear from people who are interested in accessibility but don't know much about it too. I've tried to explain the WCAG contrast rules in the simplest way I can (interactively, via the live mockup example on the right and contrast indicator icons that appear on the left) but there's quite a lot to cover.

Wo0T 11/10/2025||
bookmarked! Cool work!
xandrius 11/9/2025||
Currently working on a take on Pokémon GO + Pokémon Snap but for birding. The goal is to explore your neighborhood, find birds, take good photos of them all. Next month, I'll be doing an event to find a rare bird, excited to see how it goes!

It's still a small closed alpha, if anyone is interested: https://testers.birdlego.com

Here is a rough trailer of it: https://www.youtube.com/watch?v=yVpR8aafFjI

leros 11/9/2025||
I got super excited thinking this was for real birds. I would love someone to gamify birding.
araes 11/11/2025|||
Not sure if this meets your criteria, yet iNaturalist [1] is kind of "gamified". Has a rather large "bird" taxon observation amount. 38,393,861 observations, 11,165 species, 1,130,700 observers, 188,988 identifiers (people who identify species from your pictures)

When Romania announced that the Lesser Kestrel had returned after 100 years iNaturalist actually had several of the observations in the nearby area. [2]

[1] https://www.inaturalist.org/observations?subview=map&taxon_i...

[2] https://www.inaturalist.org/observations?subview=map&taxon_i...

Freeboots 11/10/2025||||
I guess it's not intensely gamified, but I have a couple friends at like 80-90% on Merlin. It's their excuse to travel and live abroad
nickthebirder 11/14/2025||||
This is actually exactly what I’ve been working on as a passion project for the last year and a half: https://apps.apple.com/us/app/wings-whistles/id6503321263

It’s basically a gamified version of Merlin. Would love any and all feedback!

Birdle Go seems really cool, very impressed and would love to test that!

leros 11/14/2025||
Any chance you'll release an android version?
nickthebirder 11/14/2025||
Yes! I’m aiming to release it by January at the latest. I’m using tflite rather than coreml so that the transition is easier.
bix6 11/10/2025|||
What’s missing from eBird?
Barbing 11/10/2025|||
Certainly gamified a bit as I learned from:

LISTERS: A Glimpse Into Extreme Birdwatching

https://youtube.com/watch?v=zl-wAqplQAo

1.9m view | 2mo ago | 2hr long (buckle in, documentary by a couple young goofball brothers)

leros 11/10/2025|||
I want something more gamified. I want to go on missions or complete challenges or something. Not just identity and log stuff.
xandrius 11/10/2025||
I'll think of ways to bridge the virtual world with the real world birding one. Let me know if you have any ideas for that :)
thatguymike 11/9/2025|||
Oh I was hoping for this but with real birds in my neighborhood. Still neat!
kulahan 11/11/2025|||
Do you have any plans to provide this data to ornithological research groups? I know there's an annual event where people across the nation are encouraged to count the birds in their back yards and report it, so it seems like this kind of amateur birdspotting is valued in the scientific community.
tgmatt 11/12/2025|||
I'd be careful with the name and the way you're describing it, as Nintendo are notoriously litigious. Best of luck with the project, though!
thepuppet33r 11/9/2025|||
I would pay for this. 100%.
bovermyer 11/9/2025|||
OK, I would pay for this. Definitely following!
geysersam 11/9/2025||
What a good idea, sounds fun!
vldszn 11/10/2025||
I’m working on a free and open-source invoice generator: https://easyinvoicepdf.com/?template=stripe

- No sign-up, works entirely in-browser

- Live PDF preview + instant download

- VAT EU support

- Shareable invoice links

- Multi-language (10+) & multi-currency

- Multiple templates (incl. Stripe-style)

- Mobile-friendly

GitHub: https://github.com/VladSez/easy-invoice-pdf

Would love feedback, contributions, or ideas for other templates/features.

PS: e-invoice support coming soon

vazkus 11/10/2025||
Ha! I built a similar service for quote generation a couple of month ago: https://quotemachine.cc

No signups, free for all, browser-only, live pdfs, etc

Built it for a friend and decided to share with all, it's just a react app (no backend) running on GCP and costs almost nothing to run.

Didn't think about opensourcing it and I will, why not.

vldszn 11/10/2025||
Looking good =)
qikquestion 11/10/2025|||
Nice work. I liked the instant pdf viewer. Kudos for your efforts.

Only thing I would suggest is, to support different tax formats (or provide an ability to fill custom tax format name that applies to the whole invoice). Right now, it is largely VAT. In some countries, it may not be relevant.

(Having said that, as a work around, currently anyone can use Notes field to fill custom tax details and hide all VAT related fields.)

vldszn 11/10/2025|||
Thanks for the feedback, will take a look into supporting custom tax formats

UPD: Created an issue to investigate

https://github.com/VladSez/easy-invoice-pdf/issues/149

logicprog 11/10/2025||
Hey, that's actually really useful! That's so cool!
vldszn 11/10/2025||
Thank you
MarceColl 11/10/2025||
https://katarineko.com

I think by this point everyone that is learning a language knows that immersion is very important, however a problem I've had myself is that the content that interests me is beyond my reach, and the content that is within reach doesn't interest me.

This is my attempt at doing something to remediate that. You select the content you want, and I create a personalized study plan to learn the most important words to achieve a target % of understanding. Then I generate a short story each week for your particular level containing the new words in the context of your content.

The idea is to bring the content you want to learn to your level so you can watch what you want to watch.

tarasyarema 11/10/2025|
That's a great idea, and I live the UI! I wish I have some time now to learn Japanese now...
BSTRhino 11/9/2025||
https://easel.games

I'm making Easel, a 2D game programming language designed to match how humans, not computers, think about game logic. It also has automatic multiplayer. I've been working on it for 3 years!

Easel feels like a declarative programming language even though it is imperative, because lots of useful game-oriented features are first class. Like behaviours - you just say `on Pointer { ... }` and you have a concurrently-executing coroutine that's lifetime is managed. But you don't think about any of that complexity, you just think of your entity as having a behaviour and go forth and make your game.

It also happens to have automatic multiplayer. Normally with multiplayer you have to worry about doing everything in a "multiplayer safe" way (i.e. be deterministic and only modify the things your side has authority over). My idea was to put all the multiplayer stuff in the programming language itself, underneath all your lines of code. This way, anything you write in that programming language can just be made multiplayer, automatically. So you can just pretend all your players are in one shared world, like a singleplayer game, and the engine does all the multiplayer for you. It was really difficult to make but it makes multiplayer so easy for you now.

Easel is my idea of how games should be made, or at least as close to the idea as I can achieve with 3 years of work, and I would love for more people to try it out.

Rohansi 11/10/2025||
> you can just pretend all your players are in one shared world, like a singleplayer game, and the engine does all the multiplayer for you

But how does this really work? The website also says it's just baked into the language but there are many different approaches to networking games that have their own pros and cons.

BSTRhino 11/10/2025||
It uses rollback netcode. The inputs are relayed to the other players and executed on all clients, and they end up in the same state because all Easel programs are guaranteed deterministic. To hide latency, the clients simulate forward even before they have received all inputs, and once inputs have been received it rolls back to the point of divergence to correct the prediction error. This works because the prediction is correct most of the time.

To be able to roll back, Easel incrementally snapshots the game state every tick. It only snapshots (and restores) what has changed, which makes it a lot more efficient than most rollback netcode implementations.

It also uses a peer-to-peer relay and adapts the latency asymmetrically, so the player who introduces latency feels their own latency.

I know there are other models and pros and cons, this is the right choice for Easel because I wanted to make the multiplayer fully automatic. One shared world, coded like a singleplayer game. There are certainly games which suit a client/server model better but I think the developer would then need to understand where their code is running and when to do remote procedure calls, and my goal was to make multiplayer so easy that even a teenager on their first day of coding could do it.

Rohansi 11/11/2025||
That's great stuff! IIRC Factorio takes the same approach but relies on extensive testing to avoid running into desync issues with non-deterministic code. Would be very cool to be able to build games like that without needing to worry about desyncs!

It might be a good idea to highlight some of the limitations to this approach somewhere so users aren't caught off guard later in the development process. For example, it wouldn't be great to build a competitive FPS or MOBA with this because the game state is replicated to all players which is a cheaters dream. The latency characteristics would also not be ideal for games with a larger number of players. I also assume there are no escape hatches for doing any non-deterministic things like I/O so there would be limited to no persistence possible. It won't be an issue for most games but worth highlighting just in case IMO.

BSTRhino 11/12/2025||
Yes, I should have a "who is this not for" section somewhere, that's fair enough.

Persistence is actually handled by the server, and then the server inserts an input back into the game state with the result when it's done. So, no issue with I/O.

I see Factorio is doing deterministic lockstep, which like rollback netcode but without the rollback. That makes sense seeing as it is a game with a lot of state and so it would be too expensive to snapshot and rollback all the time. But yes, I think having a game engine which guarantees determinism in all cases could be a useful base for other multiplayer architectures too. Right now Easel only does rollback but maybe it could do more in the future.

eastoeast 11/10/2025||
This is really cool. Nice project!

I tried doing something much more rudimentary before. Will be following

BSTRhino 11/10/2025||
Oh, thank you!

I would love to hear more about what you were trying to do with your project before. Was it more similar to the declarative coding part, the automatic multiplayer part, or something else? Part of why I'm doing this is to explore the design space of how games should be made and I'm interested to hear what problems, issues, pet peeves, "bugbears" etc that other people think are worth solving.

eastoeast 11/10/2025||
It's been a while. But I believe what caused me the most headache while trying to build something like this was handling the interactions between different elements. Declaring which objects were affected by "attacks" or could be "player interactive" or "affected by player but not by NPC". Really this boiled down to proper inheritance. But I found myself so deep and tangled a fresh reset would have been better. Then determining if the object itself or an "objective manager" should perform the calculation each cycle.. etc

It was messy. I ended up having NPC, Item, Attack classes and for each a NPC Manager, Item Manager, and Attack Manager to calculate all their interactions and states.

That's why your project seems interesting because it seems to handle the heavy lifting of behaviors and "behind the scenes".

BSTRhino 11/10/2025|||
Oh yes, handling interactions and dependencies and what is affected by what. I did a lot of React development (as in the frontend web framework) before making Easel and was quite inspired by how it hooks to change. The way you give it a little routine, it says what it depends on, and then it just fully re-executes that whole routine when the dependencies change. So in Easel when you say `with Health { ... }` it makes a behaviour that re-executes every time the Health changes. But, if it just reran the behaviour, then you'd end up with it adding a new sprite (for example) every time it re-executes, until you've got hundreds of them. So the other trick is the Easel compiler assigns an implicit ID to things like sprites so that it will replace rather than add the second time around. It's built into the programming language so you don't see it (most of the time). It actually took me 2 years to come up with that, which is both cool and depressing when I can explain it in one paragraph.
svieira 11/11/2025||
> So the other trick is the Easel compiler assigns an implicit ID to things like sprites so that it will replace rather than add the second time around

Is the ID computed based on the shape of the expression at runtime or on something else?

svieira 11/11/2025||
I found https://easel.games/docs/learn/language/functions/ids#implic... which suggests they are structure-based, at least, though loops aren't mentioned.

Great documentation, by the by!

BSTRhino 11/12/2025||
The implicit ID is just an auto-incremented number actually, it's not anything too special. That means, if you have a loop, the component has the same ID each time and gets replaced. That is a feature, not a bug. So this code snippet will keep replacing the text sprite with a new one, counting from 1 to 10:

for i in RangeInclusive(1, 10) { TextSprite(i) }

Yes, you found the right place in the documentation. Thanks, yes I worked very hard on the documentation!

svieira 11/13/2025||
Ah, so you don't do parallel with implicit IDs right now, I'm guessing. Or you do, but it has some interesting bugs as the IDs shift around? Or the scope of the auto-incrementing number is lower than "the entire program" so parallel works?
BSTRhino 11/13/2025||
It sounds like you are asking, if auto-incrementing IDs are assigned in parallel at runtime, then order of execution of the threads must affect which ID gets assigned to what, and that must make some interesting bugs?

The IDs are assigned at compile time by the Easel compiler. So they don’t change in any way at runtime. Does that answer your question?

svieira 11/21/2025||
Mostly - if the IDs are assigned at compile time, how do you deal with _runtime_ locations like "the fifth iteration of a For loop"?
BSTRhino 11/22/2025||
Actually, all iterations of the for loop have the same ID. This is the design. So the second iteration has the same ID as the first iteration, which means it replaces the sprite created by the first. The fifth iteration has the same ID as the fourth iteration, so it replaces the sprite. So all the iterations keep replacing the same sprite. And that is how you animate sprites!

If you are actually trying to make multiple sprites and not keep replacing them, what you do is you spawn a new entity to hold your extra sprite:

for i in Range(0,10) { Subspawn { TextSprite(i) } }

That code creates 10 sprites and achieves what I think you are thinking of.

Benjamin_Dobell 11/10/2025|||
I've actually just recently been through this myself. I'm also building something for kids to build games in. But much more opinionated than Easel. It's interesting to me that Easel looks declarative but is imperative.

I've actually gone with a 100% declarative approach. Basically you define effects, which are executed in response to certain interactions. There's a comprehensive targeting system. But the best part is this is all type-safe using TypeScript, the declarative structure is enforced. That means even when you chain effects, nested effects are able to access (incl. autocomplete) the targets of parent effects etc. Whilst this provides a super nice experience to consume, it's definitely non-trivial to build this system.

https://breaka.club/blog/why-were-building-clubs-for-kids

BSTRhino 11/10/2025||
Wow, impressive project! I like how you’ve focused on tooling and workflow, it makes sense that is where your most important problems are. Cool QR code drawing template idea too :)
jesse__ 11/10/2025||
I've been working on a 3D voxel-based game engine for like 10 years in my spare time. At this point it's getting pretty close to being shadertoy for voxels.

https://github.com/scallyw4g/bonsai

I recently ported the terrain generators to the GPU, and increased the visible volume to 1 billion voxels cubed. I did a short YouTube video about it.

https://www.youtube.com/watch?v=bLfgjWsM1PI

I also wrote a metaprogramming language which generates a lot of the editor UI for the engine. It's a bespoke C parser that supports a small subset of C++, which is exposed to the user through a 'scripting-like' language you embed directly in your source files. I wrote it as a replacement for C++ templates and in my completely unbiased opinion it is WAY better.

https://github.com/scallyw4g/poof

cutlilacs 11/10/2025|
Awesome, looking forward to use this. What was the hardest part of this project? What motivated you to attempt creating this?
jesse__ 11/10/2025||
> Awesome, looking forward to use this

Stoked to have another user!

> What was the hardest part of this project?

Fuck.. that's a hard question. I'm almost always trying to push at least one of three boundaries; voxel engine techniques, engine performance, my mechanical programming skill. Trying to push those boundaries, often in tandem or tridem, is always hard. Different jobs are often hard for different reasons, but overall it's been a difficult project for most of it's existence. That said, doing hard projects is what I enjoy, and it's a great feeling when you sit down to, for example, optimize something, and end up making it 20x faster!

> What motivated you to attempt creating this?

It started out as a learning exercise; a safe space where I could just 'fuck around and find out'. When I started, I never expected to spend nearly as much time on it as I have.

cperciva 11/10/2025||
FreeBSD 15.0. Rather depressingly, almost everything I said two months ago is still true: https://news.ycombinator.com/item?id=45419134

But I'm hoping to have it out by the first week of December.

Nesco 11/11/2025||
Thank you for your hard work. I don’t have a lot of time right now but would love to try to contribute to FreeBSD early next year
appellations 11/10/2025||
Thanks for all your hard work!
stevage 11/9/2025|
https://whenever.world/

It's an explorable database of films, TV shows, books and board games based around their historical setting: where and when the thing is set. It's been incredibly complex and interesting getting the (messy) data, making sense of it and trying to design a UI to explore it.

https://stevebennett.me/2025/08/26/whenever-exploring-times-...

veverkap 11/22/2025||
This is totally cool!

I will note that there are some Norfolk England things showing in Norfolk Virginia.

stevage 11/22/2025||
Thanks, yeah, it's a hard problem.
vladgur 11/9/2025|||
It would be interesting to see for movies and tv series where it’s set vs where it’s actually shot
Ragnarork 11/10/2025|||
This reminded me instantly of Every Frame a Painting's video "Vancouver never plays itself"[0].

[0] https://www.youtube.com/watch?v=ojm74VGsZBU

stevage 11/10/2025|||
Yeah, that's a whole different thing. I saw this map once that showed places in California and how they were used to film various locations around the world. Turns out LA is very well situated.
kamakaya 11/10/2025||
Great job! I just went down a rabbit-hole exploring some historical events
More comments...