Hacker News Viewer

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

by wazHFsRy on 3/30/2026, 6:45:58 AM

I just had the best time learning about the REWE (German supermarket chain) API, how they use mTLS and what the workflows are. Also `mitmproxy2swagger`[1] is a great tool to create OpenAPI spec automatically.<p>And then 2026 feels like the perfect time writing Haskell. The code is handwritten, but whenever I got stuck with the build system or was just not getting the types right, I could fall back to ask AI to unblock me. It was never that smooth before.<p>Finally the best side projects are the ones you actually use and this one will be used for all my future grocery shopping.<p>[1]<a href="https:&#x2F;&#x2F;github.com&#x2F;alufers&#x2F;mitmproxy2swagger" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;alufers&#x2F;mitmproxy2swagger</a>

https://github.com/yannick-cw/korb

Comments

by: Bewelge

Cool project, but have mixed feelings about publishing ever easier ways to access this API. They&#x27;ve locked down the API a while ago for a reason.<p>Also there already exists this reverse engineered project: <a href="https:&#x2F;&#x2F;github.com&#x2F;ByteSizedMarius&#x2F;rewerse-engineering&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ByteSizedMarius&#x2F;rewerse-engineering&#x2F;</a><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. I&#x27;m pretty sure this possibility is actually one of the reasons they locked down the API.<p>I&#x27;ve used Data from REWE in the past and made a comparison between a couple of cities in Germany (I believe it was Frankfurt, cologne, Berlin, Munich and Hamburg). Hamburg was by far the most expensive, often as much as 10-20% more expensive.

4/1/2026, 9:16:07 AM


by: splike

That&#x27;s funny, I&#x27;ve just built the same thing for Asda in the UK <a href="https:&#x2F;&#x2F;github.com&#x2F;markDunne&#x2F;asdabot" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;markDunne&#x2F;asdabot</a><p>It can search for items, add them to the basket, picks a delivery slot and does the checkout.<p>With a little more scaffolding in markdown files, this now takes care of my weekly shopping.

4/1/2026, 9:05:17 AM


by: danielszlaski

I love the idea of a CLI for groceries. Do you have plans to support &#x27;re-order&#x27; scripts or meal-plan integration? I can imagine a workflow where a recipes.yaml file gets piped into your CLI to automatically fill the cart with everything needed for the week. Much faster than clicking through a mobile UI.

4/1/2026, 9:03:34 AM


by: ramonga

Funny enough I was looking at rewe network requests for a personal app that suggests weekly meals and automatically orders the ingredients for you

4/1/2026, 9:07:57 AM


by: rvz

&gt; Finally the best side projects are the ones you actually use and this one will be used for all my future grocery shopping.<p>Until it breaks in a few weeks.

4/1/2026, 9:35:02 AM


by: sigr_

Really cool to see things still being built in Haskell! How do you find using it compared to some of the newer languages that have more modern tooling?<p>Did you implement your own OAUTH2 flow in haskell for this?

4/1/2026, 8:53:41 AM


by: wklm

Nice! Do you know if the Austrian billa (REWE&#x27;s subsidiary) is using the same api?

4/1/2026, 7:36:11 AM


by: Dominik1001

Very cool! Thanks for sharing, I’ll try it out.<p>Haskell is indeed an interesting choice. ;)

4/1/2026, 7:46:04 AM


by: kls0e

this feels a bit like Sandra Bullock ordering pizza in „The Net“, impressive

4/1/2026, 8:31:56 AM


by: tietjens

Love this! Super cool.

4/1/2026, 8:59:21 AM


by: MORPHOICES

[dead]

4/1/2026, 8:46:04 AM