Better Mazovian Railways ticket service 11 November 2022 on Krystian's Keep

During my studies at Warsaw University of Technology I used Mazovian Railways to go home and back to Warsaw. For a long time I’ve used the ticket machines to buy train tickets. The problem was that, due to the frequent departures, there was often a queue to use the machine. Turthermore, the ticket machine was often slow, sometimes even to the point of timing out. Then I tried buying tickets olnine through the Mazovian Railways website. It was horrible. You have to enter your personal details twice and check multiple checkboxes after scrolling through nested popups. It takes an unacceptably long time to buy tickets this way.

That’s why I made mazowieckie, live at km.krystianch.com. It’s simpler than the official store and it loads way faster in slow network conditions (like in a train!) and on lower-end devices. It’s not spying on you unlike the official one, which uses Piwik/Matomo to gather information like the size of your viewport and track your actions. It persists the connection you choose and your personal details in your browser’s cookies so that you don’t have to enter them manually again. There are also simplified descriptions of discounts because the original ones are difficult to understand. My inspiration for this project was this blogpost.

Screenshot showing a search form and departure times of trains

Connection search form

Screenshot showing a personal details form

Personal details form

This service uses the internal HTTP API to purchase tickets. I use it with my partner every time we travel by Mazovian Railways. Tickets bought through this service were verified many times by ticket controllers.

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~krystianch/public-inbox@lists.sr.ht [mailing list etiquette]

Articles from blogs I read

What's cooking on SourceHut? Q3 2025

Hello everyone! It’s time for another quarterly update on what we’re up to at SourceHut. There’s a lot of great stuff going on since you last heard from us! Let’s get started. Drew’s update We finally rolled out the billing overhaul! God, that was so much work…

via Blogs on Sourcehut September 1, 2025

Embedding Wren in Hare

I’ve been on the lookout for a scripting language which can be neatly embedded into Hare programs. Perhaps the obvious candidate is Lua – but I’m not particularly enthusiastic about it. When I was evaluating the landscape of tools which are “like Lua, but no…

via Drew DeVault's blog August 20, 2025

Status update, August 2025

Hi! This month I’ve spent quite some time working on vali, a C library and code generator for the Varlink IPC protocol. It was formerly named “varlinkgen”, but the new name is shorter and more accurate (the library can be used without the code generator). I’v…

via emersion August 17, 2025

Generated by openring