本地公交实时查询 PWA(Buslens 范式)
Show HN 69 赞项目 Buslens(作者 Rupert Linacre):一个纯前端 PWA,打开微信/浏览器里「允许定位」,就自动显示你附近 200m/500m/1km 半径内的公交线路和到站时刻,移一下地图就换个位置搜。没有后端登录、没有 App 安装,就是「打开即用」的本地出行小工具。它本身可能赚不了大钱,但它证明了**「轻量本地实时出行工具」有真实需求**(HN 69 赞 + 46 条讨论),并且技术上一个人就能复制——这正是一个可复制到更多城市/国家的工具型生意起点。
是什么
Buslens 是英国公交实时查询的 PWA:定位后在地图上直观显示附近公交站与线路,可调搜索半径(200m/500m/1km),移动地图即重查。核心卖点:
- 零门槛打开即用:无需 App,浏览器 PWA 直接访问,允许定位即可
- 地图可视化:不看时刻表,看地图上哪条线路离你近
- 实时到站:接入实时公交数据(英国开放数据/GTFS-Realtime)
「本地公交/出行实时查询」是一个长盛不衰的刚需(通勤人群每天用),而移动端导航 App 往往太重、太杂。Buslens 证明了「轻到不能再轻」的查询 PWA 是有效范式。
商业模式
轻量本地工具 + 流量/数据变现。它不是重 App,而是靠「覆盖城市 + 低门槛打开」攒流量,再变现:
- 先做一个城市(如你所在城市)验证流量
- 把范式复制到公交数据开放的城市/国家
- 流量起来后接广告、做数据订阅或城市授权
变现方法
- 站内广告:公交查询是高频刚需,通勤时段流量稳定,AdSense 按展示量。
- 公交数据 API 订阅:把聚合后的实时到站数据 API 化,卖给小程序开发者/第三方。
- 城市/机构部署授权:有些人不想自己维护数据源,授权你用现成范式帮他所在城市搭建。
- PWA 离线/高级版订阅:去广告、多城市、离线时刻表($1-2/月)。
- 周边引流:做成通勤社群/本地生活号,沉淀私域。
门槛
低中。核心是调用公开 GTFS/GTFS-Realtime 数据 + 前端 PWA 能力,个人完全可做。真正的难点在数据源获取与覆盖质量——拿到目标城市稳定、更新的公交数据,并保证到站算得准。有几座城市数据开放得好就够起步了。
所需技能
- 前端:PWA、移动端地图(Leaflet 免费 / Mapbox 额度)、离线缓存
- GTFS/GTFS-Realtime 数据解析(有现成 Python/JS 库)
- 基础后端:做数据代理/聚合(避免跨域限制、缓解速率)
- 移动端体验设计:地图交互、定位权限、加载性能
变现周期
2-3 个月完成一个城市 MVP 并验证流量;广告/订阅收入 3-6 个月见起色。它能成为一个长期被动流量入口。
投入成本
<¥1000:域名 + 地图 API 免费额度。主要成本是时间——MVP 约 4-6 周(若已会前端),然后递归复制到其他城市。
可行性
4/5。理由:需求是刚需高频(通勤每天用)、技术门槛低(一个人+PWA+开放数据可做)、变现路径多样(广告/API/授权/订阅)、且 Buslens 69 赞+46 讨论验证了范式。扣 1 分因为公交数据覆盖质量和冷启动获客(你对某城市有没有热情)决定了上限。
实操步骤
- 选一个公交数据开放的目标城市(国内如北京/上海的公开数据接口,国外可用 GTFS 数据源)
- 抓取该城市 GTFS 数据,用库解析成线路/站点/时刻
- 用 Leaflet/Mapbox 做移动端地图 PWA:定位 → 查询附近站 → 显示线路与到站
- 加搜索半径滑块(200m/500m/1km)与地图移动重查——复刻 Buslens 交互
- 写个后端代理聚合数据(解跨域 + 缓存,控制速率)
- 上 PWA 离线包 +
Set-Cookie/WebApp Manifest 做到「打开即用」 - 在 HN 发 Show HN(学 Buslens 拿 69 赞的流量)+ 本地通勤社群传播
- 流量起来后接广告,再复制到第二、第三城市
风险与坑
- 数据源不稳定:公交数据可能授权变化、接口变动,要有备选源或缓存兜底
- 单城市天花板:一个城市用户有限,要靠复制多城市才成规模
- 广告收入初期很低:别指望上来就赚钱,先当流量入口
- 与既有导航 App 竞争:差异化在「极轻、地图化、打开即用」,别硬拼功能
- 冷启动:工具型产品缺传播就沉底,必须主动在 HN/本地社群/N 个城市铺开
证据/验证
- 来源:Show HN 69 赞 Buslens – where can I get to by bus? (UK)
- 验证:
curl -sI -o /dev/null -w "%{http_code}" https://rupertlinacre.com/buslens/→ HTTP 200 ✅ - 页面实测文案:Nearby bus routes / Search radius(200 m / 500 m / 1 km)/ Allow location to find nearby buses"