Remix.run Logo
Show HN: OffChess – Offline chess puzzles app(offchess.com)
367 points by avadhesh18 7 days ago | 82 comments

Hi HN!

I'm the developer of rdx, a mildly popular ad-free, privacy and user friendly Reddit client. This time, I made something for a very specific use case: solving chess puzzles with no internet.

Why? Well, my Wi-Fi is terrible in the bathroom—and that's where I do some of my best thinking. I tried printing out “mate in X” puzzles to solve offline, but they weren’t fun without interaction. So I built OffChess.

OffChess is an iPhone/Android app that contains over 100,000 chess puzzles, fully offline and completely ad-free. You can solve puzzles by category (Mate in 1/2/3/4/5, tactics like pins/forks/skewers, or openings like Sicilian/French, etc). You gain or lose points based on how you perform, so there's a light rating system to keep things engaging.

No accounts, no tracking, no monthly subscriptions, no internet required. Just pure, old-school tactical chess training, wherever you are.

You can check out the iPhone/iPad app at https://apps.apple.com/us/app/chess-puzzles-offchess/id67447... or the Android app at https://play.google.com/store/apps/details?id=com.offchess

Would love feedback, bug reports, or suggestions.

Thanks!

laurentlb 6 days ago | parent | next [-]

Nice project!

As it was not clear from the description, there's a one-time payment (4.29€) to get more than 7 puzzles in a day.

Lichess also offers a good alternative to this, although their offline support is limited.

zikduruqe 6 days ago | parent | next [-]

> offline support is limited.

You are limited to 50 puzzles when off the network, and when you reconnect, the next 50 (or the delta between how many you played and 50) are redownloaded.

deepdarkforest 6 days ago | parent | prev | next [-]

CT-ART 4.0 is the gold standard. Again, not fully free, but it has some very instructional features, like playing against alternate moves, solving mini versions of a puzzle, playing the opposite side etc. Used it for years.

scotty79 6 days ago | parent | prev | next [-]

To be fair you shouldn't be sitting in the bathroom for that long because you'll develop hemorrhoids.

jaredhallen 6 days ago | parent | prev | next [-]

TacticMaster on F Droid seems to have all the same features for free.

watwut 4 days ago | parent | prev [-]

ChessKing has some stuff availabke only after payment, but has pretty good thematical collections.

t1nk3r3d 8 hours ago | parent | prev | next [-]

Well designed app with a good collection. Have a few feature requests.

* Ability to continue and play solved puzzles till the end by exporting to an external chess app using FEN or PNG

* Bookmark interesting games to come back and maybe solve again (with no points)

avadhesh18 2 hours ago | parent [-]

Thanks for trying the app out, will definitely look into developing these. Share FEN/PGN is coming to the next version very soon.

mijoharas a day ago | parent | prev | next [-]

Feature request:

It'd be nice to be able go back to a previous puzzle (back button? For me I think I've only wanted one level of "history"), I've occasionally misclicked the next puzzle button when I want to think a little more about why other variations weren't correct.

Another feature that would be nice would be the ability to see my win/loss stats per category so I could know what I should work on. I suspect there are some categories I'm just bad at, but without just trying them all I can't easily figure out which those are on adaptive (and I think concerted practice on the section I'm bad at would help me a lot). Both overall and last n Puzzles would be helpful (can have a hard coded n if you don't want to store all win/loss history - 100?)

Oh and maybe one more request on that last theme. Maybe being able to have checkboxes to include/exclude things in the "adaptive" set, so if I'm doing well at some things I can manually exclude them (now maybe adaptive already does this, but it'd be nice to be able to tweak it myself)

Ok, one more. Being able to see the tags associated with a puzzle after you've finished would help me too. (I.e. puzzle I just did was opening, Caro-Kann, Fork)

dan_can_code 6 days ago | parent | prev | next [-]

great app, I like the adaptive style, but one piece of feedback is that, sometimes it is not clear what the goal is. For example, the language "Brilliant queen win ahead!" tells me, right, I am going to checkmate for the win with the queen in this game. But, actually the puzzle is to instead win the queen piece. "win" in chess to me always means checkmate.

Overall great app.

avadhesh18 6 days ago | parent | next [-]

I will change the confusing wording like this but for now I can tell you this, if it mentions a piece by name then the puzzle is about winning that piece and not the game. Thank you for trying the app out.

bongodongobob 6 days ago | parent | prev [-]

The goal is always the best move. You shouldn't think of "what is my goal?", you should be finding the best move. This is something I struggled with as a beginner. There is always a best move, find it. Don't search for "the goal".

thethimble 6 days ago | parent | prev | next [-]

Amazing! Would love “premoves” so that I can input the next move before the first move’s animation completes. This will help maintain flow state for your more experienced users.

See chessbook for an app that does this really well.

avadhesh18 6 days ago | parent [-]

I will look into the app you suggested and try to implement premoves.

chatmasta 6 days ago | parent | prev | next [-]

Awesome. I’ve never understood why Lichess limits the offline download to 50 puzzles.

djexjms 6 days ago | parent [-]

For what it's worth, the entire Lichess corpus of puzzles (over five million positions with solutions and theming tags) is available for download in CSV format at https://database.lichess.org/#puzzles

mansoor_ 6 days ago | parent | prev | next [-]

Can you tell us about the tech stack you used and why?

modernerd 6 days ago | parent | prev | next [-]

Great start! Gentle feedback:

- Text hints should probably be off by default, they give too much of a hint.

- Auto-advance to next puzzle would be helpful, clicking “next puzzle” gets tiresome.

- Typo in the puzzle categories list: “Egnlish Opening”

avadhesh18 6 days ago | parent [-]

1. I enabled them by default because I thought most people won't even know about their existence if they weren't there but if someone is bothered by them they will definitely find the menu item and disable it.

2. I will add an option to enable auto advance in future update.

3. That typo is embarrassing — thanks for catching it! There’s always something that slips through.

tigroferoce 6 days ago | parent | prev | next [-]

Solo developer, no ads, no subscription. Take my money! And thanks for writing decent software.

avadhesh18 6 days ago | parent [-]

Thank you for your kind words.

valtism 6 days ago | parent | prev | next [-]

I'm just about to leave for a long international flight, so this is absolutely perfect for me!

Glad I saw the comment about it being paid so I could get to the purchase screen before I lost internet. (As a side note, it says "Buy now for $3.99" but it's really $5.99 in my currency. Not sure if you can make the button match to the price in the locale)

avadhesh18 6 days ago | parent [-]

It is just a placeholder for the price in your currency. Sometimes the play billing library takes a little while to get the price from the server. If you swipe up the app from app drawer(force close) and open it again it should show the correct price in your currency.

fractalf 6 days ago | parent | prev | next [-]

Great! ...but doesn't work on my google-free Android. Ie, it requires play services. Please fix this :)

avadhesh18 6 days ago | parent [-]

Will have to implement a different billing system for that so it will take some time.

bambax 6 days ago | parent | prev | next [-]

Very nice! but why not a webapp as well (for those of us who seldom use their phone and can get bored at the office)?

avadhesh18 6 days ago | parent | next [-]

OffChess website will be soon available in beta with multiple features.

aoeusnth1 6 days ago | parent | prev [-]

Probably because lichess.org exists?

tajd 6 days ago | parent | prev | next [-]

This looks really cool! I can't remember what article I was reading the other day but it was advocating for local first software as being the true goal of creating user friendly software -> this app absolutely meet's that goal. Looking forwards to using it.

lucb1e 6 days ago | parent [-]

The article from the other day for context: https://news.ycombinator.com/item?id=44473135

eajr 7 days ago | parent | prev | next [-]

Very cool app. Chess.com costs too much and lichess is rather ugly and has barebones puzzle support. I like how you can choose different categories. Will be using this from now on. Btw you have "Egnlish Opening" misspelled.

poloniculmov 6 days ago | parent | next [-]

Try lichess' beta app, it's much more user friendly, even if it's missing a couple of features.

heap_perms 6 days ago | parent | prev | next [-]

For tactics I really like chesstempo.com. It has free, unlimited puzzles. It is to my mind superior for tactics training. It also has a comments feature which I really like.

avadhesh18 6 days ago | parent | prev [-]

Thanks for your generous reply and Oh my god how did I miss that, will fix in the next update.

JoeDaDude 6 days ago | parent | prev | next [-]

I don't want to detract in the slightest from this fantastic app (I will be getting it shortly), I just want to point out another set of Chess puzzles for folk like me that enjoy this stuff. Check out the World Champs app, it has puzzles (mostly) taken from actual end games:

https://apps.apple.com/us/app/chess-puzzles-world-champions/...

tdiff 6 days ago | parent | prev | next [-]

I wonder where were those 100k puzzles sourced from?

GCUMstlyHarmls 6 days ago | parent | next [-]

TacticsMaster on F-Droid also says it has 100k puzzles, sourced from https://database.lichess.org/#puzzles, though that says it has 5 million puzzles, so perhaps 100k is just a coincidence, a nice number, or maybe of the 5m there's a nice subset.

> Generating these chess puzzles took more than 100 years of CPU time.

The page includes a link to the puzzle generator and tagger for interests sake.

binarymax 6 days ago | parent | prev [-]

Not OP but generating puzzles isn’t hard if you have a database of games and I’ve done it myself.

For each game just fast forward to the end and ask for Stockfish to provide the solution. If it’s guaranteed “mate in X” then you’ve got yourself a puzzle. You can have a classifier that grabs other puzzle types too (“win the queen in X” for example)

yunwal 6 days ago | parent | prev | next [-]

Love the app! Would love it twice as much if you allowed me to turn off the sounds (it turns off any existing podcasts or music).

avadhesh18 4 days ago | parent | next [-]

Have pushed the update, should be visible in a few days on app store.

avadhesh18 6 days ago | parent | prev [-]

Thanks for the review, will add a toggle in the next update.

esafak 6 days ago | parent | prev | next [-]

If you would like a chess puzzle book, try Raymond Smullyan's The Chess Mysteries of the Arabian Knights.

https://raymondsmullyan.com/books/the-chess-mysteries-of-the...

richardreeze 4 days ago | parent | prev | next [-]

Awesome project! Would be great if I could set goals like "solve 10 puzzles a day" and have the app track it for me.

Chess.com doesn't offer this option, so would be a neat differentiator :)

sirjaz 6 days ago | parent | prev | next [-]

Are you going to make a desktop client?

avadhesh18 6 days ago | parent [-]

This should work on Macs by default, will look into making one for Windows/linux.

nhggfu 2 days ago | parent | prev | next [-]

so you scraped 100k chess puzzles, wrapped them in a UI and are selling access to more than x per day for $5

you should update the "Why" in your original post to tell the truth. this is about making $

yuk.

AiAi 6 days ago | parent | prev | next [-]

Thanks for rdx, it’s the way I use reddit nowadays.

I have only used OffChess briefly but one feature request I have is to remove the possible path of the piece when clicking on it (like Lichess).

Another improvement would be the placement of the “next puzzle” button, that seems to be in a crowded place.

avadhesh18 6 days ago | parent [-]

Updates are coming to rdx as well and thanks for your feedback on OffChess, will look into your suggestions definitely.

layman51 3 days ago | parent | prev | next [-]

I would buy your app, but I am on an older version of iOS that isn’t supported.

tangoalpha 6 days ago | parent | prev | next [-]

Nice app. Using moto edge 60 pro. The app navigation gets hidden under the phone navigation icons. I'd like to pay. Except without user login, I am unable to figure out if the purchase can be linkedin to my 2-3 devices (each of which may use a different Google account)

avadhesh18 6 days ago | parent [-]

Thanks! A couple of other people in this thread have mentioned that bug too and I'll get it fixed ASAP.

There's no login required since the app uses Google Play Billing on Android and App Store billing on iOS. That also means purchases are tied to the Google account used to buy the app, so unfortunately they can't be shared across different accounts.

I hate the annoyance of apps forcing you to create an account before you even try them and that's exactly why I kept it simple and login-free. But yeah, the trade-off is stuff like what you pointed out. To balance that, I made it a one-time low-cost purchase instead of a subscription. Hope that makes it fair.

shric 6 days ago | parent | prev | next [-]

I have an iPhone 16 Pro and there is an annoying delay between tapping a move and the piece moving

avadhesh18 6 days ago | parent [-]

Is it the animation of the piece moving? I’ve tested it on a bunch of iOS devices and haven’t noticed anything odd, but I’d love to take a closer look. If you can, please share a video or GIF. It’ll really help. You can email it to me at support@offchess.com. Thanks for trying my app out and giving feedback.

frankfrank13 6 days ago | parent | prev | next [-]

Nice! Quick feedback:

- it plays sound even when my (iOS) device is muted

- would love an option to automatically go to next puzzle

avadhesh18 6 days ago | parent [-]

Thanks for your feedback, In the upcoming update I will... 1. add a toggle to disable sounds. 2. add an option to enable auto advance in future update.

44za12 6 days ago | parent | prev | next [-]

Cool app. I’ve been thinking of building a similar PWA for a while now, might actually do that.

avadhesh18 6 days ago | parent [-]

Even I thought of first making it a PWA too, the only problem is storage of the puzzles database.

dustfinger 6 days ago | parent | prev | next [-]

I would love to see something like this for GNU / Linux desktop. Great work!

heap_perms 6 days ago | parent | next [-]

There is a nice native app for offline lichess puzzles. Written in rust:

https://github.com/brianch/offline-chess-puzzles/

avadhesh18 6 days ago | parent | prev [-]

One day, I hope.

khoury 6 days ago | parent | prev | next [-]

Very cool looking! Downloaded. What tech did you build it with? :)

6 days ago | parent [-]
[deleted]
spamalot159 6 days ago | parent | prev | next [-]

Love it! The notification bar on my OnePlus 13 blocks access to the triple dot settings button on the top of my screen. ither than that it's clean.

ptrkrlsrd 5 days ago | parent | prev | next [-]

I recently deleted the chess.com app due to monthly price, so I'm thrilled to start using this app instead! Good job!

defrost 6 days ago | parent | prev | next [-]

Nice. Any retrograde chess puzzles with this?

noja 5 days ago | parent | prev | next [-]

Could the hint not show the full move?

i.e. just show the piece, not the piece and where to put it?

iambateman 6 days ago | parent | prev | next [-]

This is cool! Is there a chess board library that you used or did you have to built it from scratch?

endorphine 6 days ago | parent | prev | next [-]

Where did you get the puzzles from?

neoromantique 6 days ago | parent | prev | next [-]

For some reason I cannot download it on Android with Aurora Market, perhaps it is too new?

ryanrasti 6 days ago | parent | prev | next [-]

Congrats on the launch!

I was wondering -- how does the point-based rating system work?

wery 6 days ago | parent | prev | next [-]

I can't select the settings button on my Pixel 8 :|

notcrazylol 6 days ago | parent | prev | next [-]

Thank you and God bless you my friend :)

ardleon 4 days ago | parent | prev | next [-]

Installed :-)

kij 6 days ago | parent | prev | next [-]

Nice, bought to replace 'chess tactics puzzles' the addition of rating changes sold me.

Too late did I notice that there is no share fen button. I use that for harder puzzles when I want to understand why a given solution wouldn't work. Mostly just share to Chessis.

diane55 6 days ago | parent | prev | next [-]

Very cool!

tenken 6 days ago | parent | prev | next [-]

You attribute chess.js as MIT license ... But I'm curious where you sourced 1,000 addon puzzles for $3.99.

.... As I doubt you thought them all up yourself. You may want to attribute your non-derivative assets.

mhitza 6 days ago | parent | prev | next [-]

I have TacticMaster (available on F-droid) but your app looks more polished and will have to give it a try as well.

stavros 6 days ago | parent | prev | next [-]

This is a nice app, but I have one bug report: When I tap on a piece, and it can capture another piece, it looks like it just can't move that way. Capturable pieces should have their background change somehow, to indicate that I can capture them.

Daviey 6 days ago | parent | prev | next [-]

[flagged]

rprouse 6 days ago | parent | prev | next [-]

The app is full screen on my Samsung mobile so your bottom navigation is underneath the onscreen Android navigation and unusable. Happy to submit an issue and screenshots if you have a GitHub repo.

Other than that, it is working nicely so far.

johnnyfuego 6 days ago | parent | prev | next [-]

You had me when you said some of your best thinking happens in the bathroom.

Looks cool. On Android the UI seems to extend below the status bar at the top and below the drawer at the bottom of the screen which creates some overlapping though.

tomhow 6 days ago | parent | prev [-]

[stub for offtopicness]