Live data from Hacker News

Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)

github.com

71–80 of 94 posts

Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)

#72
post #53

Earlier quoted context omitted.

> Might I suggest you remove your tin-foil hat and consider that: First up: Read and follow the rules. No need to insult me. Especially considering what you said shows that you both misunderstood AND misrepresented what I've said. And frankly, my reasoning was simply saying "Company won't publicize internal info if they don't get an advantage from doing so". It's literally the same reason Google doesn't publish all o…

> Opening an API to the public allows third parties to develop apps that can then be consumed by end-consumers. Not trying to be offensive here, but do you know what an API is? To conclude I meant every single end-consumers building their own app is at best disingenuously twisting my words. Here you are wrong too. If you want to develop an app via an API that is only offered B2B, what do you do ? Yes, that's right ..…

Haha man, I think this is a cool project, the REWE API is cool, the REWE delivery App and Website are cool. Certainly not spreading fear, uncertainty or doubt.

What you describe as B2B2C is exactly what chefkoch does. And it's exactly what I initially said, so I'm not sure what point you're trying to make. But anyway. Doesn't feel like we're getting anywhere. Have a great day ;)

Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)

#73
post #64
post #38

Earlier quoted context omitted.

Think it's context dependent whether it's a good or bad thing. The owners of German supermarket and car companies are really the richest of the rich in Germany (okay and maybe the SAP guy on top). It would definitely be a net positive if someone manages to scrape and compare their prices. In the restaurant market it's one player abusing many small players. And honestly, I think the reason everyone cries when "Amazon…

> It would definitely be a net positive if someone manages to scrape and compare their prices. There's a few projects doing that for DE / AT at least.

Can you share them? I recently looked for such projects and didn't really find anything that works well.

The issue is that each market sets their own prices and I believe REWE is the only large one where you can fairly easily scrape the product catalogue. I thought about it in a shopping list context, so you'd need to make it location dependent to be useful. But you could do a lot of cool things with it. Like choose a basket of goods and it creates a route for you: "Go to supermarket A and buy goods XYZ, then to supermarket B and buy ABC"

Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)

#74
post #73
post #64

Earlier quoted context omitted.

> It would definitely be a net positive if someone manages to scrape and compare their prices. There's a few projects doing that for DE / AT at least.

Can you share them? I recently looked for such projects and didn't really find anything that works well. The issue is that each market sets their own prices and I believe REWE is the only large one where you can fairly easily scrape the product catalogue. I thought about it in a shopping list context, so you'd need to make it location dependent to be useful. But you could do a lot of cool things with it. Like choose…

There's this one which got some publicity, doesn't seem to be updated any more but it worked for all these retailers listed and is open source: https://github.com/badlogic/heissepreise

https://www.supermarkt.at https://preisrunter.at https://sparpionier.com

Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)

#76
post #26

Earlier quoted context omitted.

>I do have a suggestion for your app though: Have it compare your basket of goods across different markets in your region to show you the cheapest option. I'd settle for just being able to sort items by unit price... I'm sure this is a [regulation-]solved problem in Germany though

> I'd settle for just being able to sort items by unit price What do you mean? The official REWE app and website provide just that. > I'm sure this is a [regulation-]solved problem in Germany though Not sure what you mean by that.

Stores are required by law to provide the price per unit/weight/volume alongside the price, so you can directly compare the price of a pint of beer to the 0.33 liter bottle without calculating anything.

Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)

#78
post #12

Cool project, but have mixed feelings about publishing ever easier ways to access this API. They've locked down the API a while ago for a reason. Also there already exists this reverse engineered project: https://github.com/ByteSizedMarius/rewerse-engineering/ I do have a suggestion for your app though: Have it compare your basket of goods across different markets in your region to show you the cheapest option. I'm p…

> I do have a suggestion for your app though: Have it compare your basket of goods across different markets in your region to show you the cheapest option.

This is a great idea. I just think the use case is not that big since REWE is the worst in the price/quality ration and just going to another shop would save you more.

Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)

#79
post #26

Earlier quoted context omitted.

> I'd settle for just being able to sort items by unit price What do you mean? The official REWE app and website provide just that. > I'm sure this is a [regulation-]solved problem in Germany though Not sure what you mean by that.

Stores are required by law to provide the price per unit/weight/volume alongside the price, so you can directly compare the price of a pint of beer to the 0.33 liter bottle without calculating anything.

Ah thanks, didn't think about that.

I just checked and REWE only lets you sort by absolute price. But honestly, you can compare prices so much better on their website than in a physical supermarket already [0].

[0] https://www.rewe.de/shop/c/frisches-obst/?sorting=PRICE_DESC You have to enter a random zip code eg 20249

Re: Show HN: CLI to order groceries via reverse-engineered REWE API (Haskell)

#80
post #59

Earlier quoted context omitted.

it does through cabal and stack but its not as streamlined, quick, and versatile as tooling for languages like Golang or Rust imo. I'm a huge fan of Haskell and I'm really exploring it as my primary language now that AI has gotten so huge, not just because it makes it easier but also because I can really lock down what I allow code to do (through pure functions, type checking etc) and so I feel a lot more confident i…

Could you be specific? Saying it's not as "streamlined, quick, and versatile" is vague — I'm not really getting anything from that. For context, I've been writing Haskell for quite a long time and I'm maintaining a few packages like Yesod.

Sure, I find that with cabal and/or stack you often have to do things like manually add/link files for compilation and also both go mod and cargo support pulling libraries directly from Github say easily (using something like GO_PRIVATE), which I think is possible in cabal but you have to use project files which I never found intuitive. Also, just by virtue of having a smaller user base obviously the package ecosystem is smaller (this isnt the fault of the tooling) but in practice it means that community IDE plugins for things like autochecking for updates just aren't as good for Haskell.

The things above are definitely a skill issue on my part, I'm sure all of this is possible with cabal and stack and I may just not be using them right, but I definitely found cargo and go mod to be a lot simpler to get started with. Also, for cross-compilation and for FFI I found cabal to be a pain when including C sources where as Go was trivial through CGO (and the tooling around it was too).

I love Haskell though so all good <3

Post reply on HN