#
What I built
I live in Mumbai. Home is Lucknow, about 24 hours away by train. A flight is out of budget and the direct train is almost always waitlisted. So I end up trying combinations by hand: "Mumbai → Bhopal tonight, then Bhopal → Lucknow tomorrow?" IRCTC only searches direct trains, and nothing lists the break-journey options for you.
RailBreaker lists every schedule-feasible way to make the trip in 1 to 3 separate sittings. It ranks them by extra time over the fastest direct train, estimated fare, class and layover risk. Each plan ends in a copy-paste IRCTC checklist, so I only check seats on a short list instead of guessing.
It covers combinations I could never enumerate by hand:
- different break stations (Nagpur, Bhopal, Itarsi, Jhansi, Kanpur...)
- the same train booked as two tickets , which adds zero extra time and often fixes a waitlisted full journey
- switching between stations of one city (Dadar ↔ LTT) and nearby destinations with a road leg
#
Demo
Code: https://github.com/heyujjwal/p5y-pathify
#
The open-source stack
| Piece | What it does | | Gemma 3 via Ollama (open weights, runs on my laptop) | understands trips typed in English, Hindi or Hinglish, turns "via MP, no night layovers, 3AC or better" into filters, explains trade-offs, and reads availability screenshots | | DataMeet railways dataset (open data) | stations, trains and schedules | | Python + Streamlit | the engine and the UI |
The routing is deterministic Python (a pruned search over a timetable graph). The model only handles language and reading. It never does the routing or the arithmetic, so it can't invent a train.
#
Why open innovation mattered here
Private and offline. My trips and my IRCTC screenshots never leave my laptop. Gemma runs locally through Ollama. #
Free to run. There is no per-query API bill, so the tool can stay free for students and people on a tight budget. A closed API would charge per request, which breaks the business for exactly the people who need this. #
Swappable and tunable. I can change the model (Gemma, Qwen, Llama) with one environment variable. I can also fine-tune a small model on Hinglish travel phrasing, which a general API handles poorly. #
No lock-in on data. Open timetable data means I can fix a wrong train or add days-of-run myself, instead of waiting for a vendor. #
Honest split of work. Using a small local model only where language is involved kept it fast on a laptop and kept the numbers trustworthy.
#
Would anyone pay for this?
Possible ways to charge (these are ideas I haven't tested with customers):
- a small yearly pass for students and migrants who travel home during festival season
- a version for relocation companies and PG operators to give newcomers
- a "waitlist predictor" add-on trained on user-reported outcomes
#
What it does not do (read this)
- It plans possible journeys. It doesnot know live seat availability and never touches IRCTC. You check the listed legs yourself, or paste the screenshot back so the local model marks plans Verified or Blocked.
- The free dataset is an old snapshot (around 2016) with no days-of-run, so trains default to daily. I added a days-file override and a validator that prints direct trains to compare with IRCTC.
- Fares are estimates.
- Separate tickets are not protected if the first train runs late.
#
Try it
The README has a step-by-step build guide and a one-page use-case doc.