我在Reddit社区(总成员人数约47K,年访问量约14百万)的r/CanadaVisitorVisa中担任社区管理员,该社区由世界各地的用户分享他们的加拿大签证申请经验。我们收到最常见的问题是: "如何才能为我的签证申请设置一个最合适的时间表?"
IRCC的网站上有答案,但很难使用。只有一个笨拙的表单,需要你选择你的国家、签证类型之后,才会显示一个数字,不论在哪里比较国家、无论看出什么趋势、无论有多少上下文。
因此,我在r/CanadaVisitorVisa构建了一个名字叫做Devvit的应用,程序会每天抓取IRCC的数据并将其呈现为交互式的仪表板。
功能列表
- 展示官方IRCC处理时间(Visitor、Super Visa、Study、Work permits)信息(总共212个国家)
- **颜色的速度指示器(green< 14天,blue 15-30天,orange 31-60天,red 60+天)
- 选项(根据签证类型、按照字母顺序,A-E,F-J等,或按照优先等级)
- 根据最快还是最慢进行排序
- 每日自动刷新 —— 从IRCC每日通过GitHub的JSON数据来源接收信息
- 时间线的分享形式 —— 社区中成员可以分享他们自己的处理经历帮助其他人
技术如何运作
- 数据管道:Python程序采用Playwright每天从IRCC的处理时间页面抓取数据,导出为JSON格式
- Devvit应用:从GitHub上的JSON文件存取数据,并存储在Redis中,然后呈现出来
- 程序追踪212个国家和7种签证类别,同时保存每个国家的历史数据方便统计分析
我值得获得反馈的地方
- 仪表板的UI — 我只能展示第七页因为Devvit只允许7行。是否此模式足够合理或者有更好的模式。
- 数据新鲜程度的信号 — 我们当前采用的方式是展现“最新”的标签和从IRCC获取的信息的底部。这种显示是否有提示性呢?
- 时间线表单 — 便于对这种结构化数据进行收集的Devvit表单是否适当,如果不,那我该去哪里寻找?
- 整体的美观 — 任何你可能注意到的粗糙处
上下文
社区网页(使用Astro静态站点)同样包含相同数据,并且会基于SEO生成212个单独国家的页面。这个Devvit应用的目的在于就地为Reddit社区保留价值,因为这是我们的家园社区。
这是我第一次使用Devvit。对于数据管道或者应用架构有任何问题你可以向我提问。
Devvit应用链接:https://developers.reddit.com/apps/processing-time
评论 (0)