Can I make a transit app and, if so, how do I get started?
May 3, 2023 5:11 PM   Subscribe

My local bus system doesn't have an app and it's very frustrating. How hard would it be to make my own app and how should I get started? Assume I'm pretty bright and learn fast but am starting from zero.

There is an API, I checked, and it'd be neat to share this but it's primarily for me so I don't need it to be flashy. This is also as much for fun as anything (although it would be great to have a working app) so suggestions on how to figure out how to do this are much appreciated but if I'm wasting my time even considering this I'm open to hearing that, I will continue my life without the benefit of a bus app. Thank you!
posted by an octopus IRL to Computers & Internet (14 answers total) 3 users marked this as a favorite
 
A few details would help:
1) What do you mean by an app? An android app? An iPhone app? Something on a computer? Do you have programming experience?
2) What functionality do you want? Transit directions from point to point? Bus schedule at your local stop? Bus schedule at any stop? Next bus info? Real-time info or just the schedule (this will depend on the agency to provide)? Obviously ticketing and payment are out.
3) Where are you? Are there multiple systems or operators or just the one? (I'm asking this one because I'm surprised if you are where your profile says and there's no app}.

Some of these are a lot easier than others.
posted by Superilla at 5:42 PM on May 3, 2023 [3 favorites]


Best answer: Also, what data does your local bus system share via said API? (If you're willing to share what agency/where their API docs are, people could probably provide more detailed answers.) Does the Transit app not cover your area? I know some transit agencies have decided that their budget doesn't have room to provide and maintain their own app, and they just make some data available so that third-party apps can be used by their riders.
posted by Pandora Kouti at 5:53 PM on May 3, 2023


Response by poster: These are great questions!

1) Android app, or at least something I can use easily on my Android phone. I have some tinkering around programming experience and I know SQL okay; I'd say that I learn fast and am very good at that type of problem solving/figuring things out but don't actually know anything.

2) I want to be able to enter the number of a bus stop and have it provide the real time prediction for when the next bus will arrive. More than that would be gravy.

3) I'm outside DC and there are apps for WMATA but I can't find any for the buses in Montgomery County (in particular the Ride On buses).

Happy to answer any further questions!
posted by an octopus IRL at 5:54 PM on May 3, 2023


Best answer: The Transit app has Ride On. I pay for it ($25/year) but the free version is fine if you just want to look at one bus stop at a time.
posted by capricorn at 5:57 PM on May 3, 2023 [1 favorite]


You're talking about a huge undertaking when you include all of the stuff you'll have to learn.

However, as a first step I would write a program in Python on your desktop machine. It should just use the API to get the data and process it into all of the information you'd want.

Only if you finish that should you start down the route of creating an app for a particular device. If you do that first it's likely to crush you.
posted by Tell Me No Lies at 5:58 PM on May 3, 2023


My son recently wrote an app for his campus shuttle bus. They got GPS coordinates of the bus, and sent them to a Google Maps API to plot, which also generated an ETA (since the route and its stops were a custom Google Map).

Seemed easier than I expected.

Having multiple busses requires extra work, of course.
posted by wenestvedt at 5:59 PM on May 3, 2023


Response by poster: Oooh okay I hadn't heard of the Transit App, sorry to double post and thank you both for suggesting that, still interested in learning something new but I'll consider my underlying question resolved (:
posted by an octopus IRL at 5:59 PM on May 3, 2023


He had never done any mobile app development (and not a ton of actual programming), and just waded into some Flutter and Google Maps tutorials.
posted by wenestvedt at 6:00 PM on May 3, 2023


Pantograph covers several cities in North America including the DC area.
posted by brookeb at 6:45 PM on May 3, 2023


Can you link to the API that gives data on bus locations? Depending on what they give you, this could be very simple to do.
posted by ssg at 6:53 PM on May 3, 2023


It will be a big project and take a lot of time investment if you haven’t built an app from scratch before, but definitely doable!

I’d recommend starting by following a “build your first Android app” tutorial and then from there adapting it to show the bus info you want.
posted by mekily at 7:52 PM on May 3, 2023


I'm not saying it's super-easy, but it's much easier to build a web app that works on a mobile (or desktop) browser than it is to build a dedicated Android app, so I'd strongly recommend taking that approach.

I'd suggest that you find some tutorials for building Javascript-based web apps using an API, and follow along. There are video-based tutorials on YouTube if you prefer to watch videos, and there are free or inexpensive courses if you like a structured approach.

Good luck!
posted by Umami Dearest at 8:59 PM on May 3, 2023 [2 favorites]


ChatGPT is actually really good at walking a person through programming problems, at least for someone doing them recreationally.

If you're smart and persistent, you can probably program this with the aid of GPT-4 in a week or two, especially if you use Python, which is much easier to use than languages used to be.

If you ask GPT-4 for a pseudocode outline, and then ask it to fill in each piece of the outline with code, you will probably succeed eventually. GPT-3.5 might be able to do it, too.

It's not the same as just asking for a complete essay; you have to fill in the blanks and understand a bit about what's going on, but it can write all the words, in the end, so long as the task is sufficiently broken down.
posted by cthlsgnd at 10:02 PM on May 3, 2023


Since it will be private, if you build a full-stack web app hosted on a platform like DigitalOcean that handles a few specific API calls you could make it pretty easily.
posted by bendy at 1:47 AM on May 4, 2023


« Older Great documentaries about visual art?   |   It's not for a grow op, really Newer »
This thread is closed to new comments.