Skip to content

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

M-Indicator 2.0, a mobile-first redesign of the m-Indicator site with a 2.0 concept page, top 10 at the M-Indicator AI Hackathon. A 12-car Mumbai local pulls in, each coach shows a crowd level, and coach 4, first class with low crowd, is marked as the one to board.

Live site  ·  2.0 concept page  ·  Run it locally

M-Indicator 2.0 redesigns the website of m-Indicator, the Mumbai transit app, and it made the top 10 at the M-Indicator AI Hackathon. It's a static site of eight HTML pages, built with Vite and plain JavaScript and laid out for phones first. The home page covers locals, express trains, metro, mono rail, buses, auto and taxi fares, ferries, women's safety and emergency numbers. A separate 2.0 page shows what the app could predict next: how crowded each coach is, how likely a delay is, and how you'd get around a megablock.

Three phone-width screenshots of the site: the home page grid of ten transit features, the AI Commute Copilot card suggesting the 8:32 PM slow from Borivali with low delay risk, and the Smart Disruption Engine card rerouting around a Matunga to Mulund fast line megablock.

Captured from a local build at 390 px wide. Left: the feature grid on the home page. Middle and right: the AI Commute Copilot and Smart Disruption Engine sections of the 2.0 page.

What's on the site

Page File What it shows
Home index.html Feature grid, Play Store reviews, origin story, a Leaflet map of 10 cities, app store links
M-Indicator 2.0 upcoming.html The six 2.0 concepts below, each as a designed section
News news.html Transit news cards with category filters, each linking to its Instagram post
ResumeDB resumedb.html Job seeker profile form and a job application form
Advertising ad.html Ad formats and how to place an order
Contact contact.html Office address, support and ad contacts
Terms terms.html Terms of use and privacy policy
404 404.html Not-found page

The 2.0 concept

upcoming.html is a designed walkthrough. The answers, crowd levels and reroutes on it are fixed sample data. Nothing on it is a live prediction.

  • AI Commute Copilot. You type a plain question, such as "I need to reach Andheri by 9:15 but avoid heavy crowd", and it suggests a train with its delay risk and expected crowd.
  • Smart Coach & Crowd Intelligence. Each coach of a 12-car local gets a crowd level, and the page points you to the coach nearest the stairs or bridge. The animation at the top of this README redraws that mockup.
  • Smart Disruption Engine. During a megablock it finds another route with Dijkstra's algorithm and shows the time it costs. In the sample the Matunga to Mulund fast line is blocked, so you board a slow at Dadar (20 min penalty) and change at Kurla.
  • Women Safety Mode 2.0 & Guardian. Panic mode sends the train number, coach number, live location and audio. Family get a message when you board and when you arrive, and Find My Friend shares your live status so you can meet someone in a crowd.
  • Habit Learning & Tourist Mode. It learns your usual route and warns you about rain or a block on it. Visitors get fare checks, for example about ₹140 by auto from Colaba to Dadar.
  • Mumbai Wrapped 2025. Story slides recap your year on the local: distance, hours, and CO₂ saved compared with driving.

Run it locally

Needs Node.js 20.19+ or 22.12+ (Vite 7).

git clone https://github.com/https-shubhamsahu/M-indicator-2.0.git
cd M-indicator-2.0
npm install
npm run dev

Then open http://localhost:5173/M-indicator-2.0/. vite.config.js sets the base path to /M-indicator-2.0/, so you'll find the pages under that path in dev too.

npm run build     # writes dist/
npm run preview   # serves dist/ at http://localhost:4173/M-indicator-2.0/

Deploy

Build and deploy line: 8 HTML pages, vite build with base /M-indicator-2.0/, dist/, the deploy.yml workflow on push to main, then GitHub Pages at shubham-sahu.me.

Every push to main runs .github/workflows/deploy.yml. It sets up Node 20, runs npm install and npm run build, and publishes dist/ to GitHub Pages at shubham-sahu.me/M-indicator-2.0. You can also start it by hand from the Actions tab.

vercel.json is still in the repo with short routes such as /news and /upcoming. Those routes don't apply on GitHub Pages, and a Vercel deploy at the domain root would also need a different base path in vite.config.js.

Known limits

  • There's no backend. The ResumeDB and job application forms show a success message in the browser but don't send anything.
  • The city map asks CARTO for basemap tiles without an API key, so you'll see CARTO's "API key required" notice under the markers.
  • Everything on the 2.0 page is sample data.
  • reviews.json holds 15 Play Store reviews, but no page loads it. The home page reviews are written straight into the HTML.

Project structure

M-indicator-2.0/
├── index.html            # home
├── upcoming.html         # M-Indicator 2.0 concept
├── news.html
├── resumedb.html
├── ad.html
├── contact.html
├── terms.html
├── 404.html
├── src/                  # main.js (intro overlay, scroll reveals, counters) and style.css
├── public/               # images, logos, intro video
├── reviews.json          # Play Store review data, not loaded by any page
├── vite.config.js        # base path and the 8 page inputs
├── vercel.json
├── .github/workflows/deploy.yml
├── assets/readme/        # README images
└── scripts/build_readme_assets.py   # rebuilds assets/readme/

Credits

m-Indicator is Mobond's app. The logo, founder photo, press logos, app stats and contact details you'll see on these pages are Mobond's. They're there because this is a redesign of their site. Questions about this repo: shubhamsahu@nosus.foo.

Contributing

Issues and pull requests are welcome. If you're looking for a place to start, try the header and footer that every page repeats, image sizes in public/, and accessibility.

License

There's no license file in this repository yet.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages