Skip to content

Backend Engineer · Python · Node.js

I build the parts nobody sees and everybody depends on.

Backend systems that stay up, stay fast and stay honest about what they cost — designed, built and operated end to end.

$ curl -s api.imprakash.in/whoami
name: Divya Prakash
role: Backend Engineer
stack: [python, node.js]
email: prakash@imprakash.in
website: imprakash.in
service: online
status: 200 OK

Shipped & live

things I built and run myself
01metroyatra.comvisit ↗ (opens in a new tab)

Metro routes, fares and timings for 20 Indian networks and 847 stations, in English and Hindi.

MetroYatra tells you what you need before you leave the house: which line to take, what the token or smart card costs, when the first and last train runs, and which gate to walk out of. It covers 20 metro networks in India, which is 847 stations across 54 lines with 56 interchanges between them. It is free and there is no sign-up. Every station is written in both English and Hindi, so the Hindi site is a full version of the site and not just translated buttons.

Getting the data right is the hard part, not the website. Fares, timings and station layouts come from each metro authority's own published pages. No two of them publish it the same way, so eleven separate programs collect it, one for each source. Routes are not worked out while you wait either. All 224,306 station-to-station journeys are worked out in advance and saved, so looking one up is instant.

Under that sits the detail you only miss when it is not there: 1,514 station gates, 1,691 platforms and 3,028 facilities, including which stations have a lift, an escalator or wheelchair access. It is built on Next.js and MySQL, with the data collection and route building in Python. I built all of it and I keep it running.

20
metro networks
847
stations
224,306
routes worked out
02PrettifyCodevisit ↗ (opens in a new tab)

Eleven free tools that tidy up messy JSON, JavaScript, HTML, CSS, XML, YAML and SQL, straight in the browser.

PrettifyCode is a set of eleven small tools for making code readable. Paste something messy in and get it back tidy. It handles JSON, JavaScript, HTML, CSS, XML, YAML and SQL, and it covers the jobs that come up alongside them: comparing two files side by side, escaping and unescaping JSON strings, encoding and decoding URLs, and changing text case. It is free and there is no sign-up.

Everything runs in the browser. Nothing you paste is uploaded or stored anywhere, which matters when the thing you are trying to read is a config file or a query with real data in it. There is no waiting on a server either, because there is no server to wait on.

11
tools
7
formats handled
0
sign-ups needed
03MyPocketmobile app

Android expense tracker that reads your bank and UPI messages and logs the spending for you, with nothing leaving the phone.

MyPocket keeps track of what you spend without you typing anything in. Bank and UPI messages already arrive on your phone, so it reads those, works out the amount, the merchant and the account, and turns each one into a transaction you just confirm. It can pick the same messages up from Gmail as well, for the banks that email rather than text.

Two things make that harder than it sounds. One payment often arrives twice, once as a bank text and once as a notification from the UPI app, so the app matches those up and shows you a single transaction instead of two. And the messages have no standard wording, so the reader is deliberately loose. It would rather show you something that turns out to be junk, which you tap ignore on, than quietly miss a real payment.

Everything stays on the phone. Accounts, categories, transactions and your own merchant naming rules all sit in a database on the device, the spending charts are built from that, and the backup file is yours. Nothing is uploaded and there is no account to create. It is written in Flutter for Android.

Got a system
that keeps waking
you up at 3am?

prakash@imprakash.in