PS:写这篇这前犹豫了好久该用中文还是英文,之前的 post 都是英文是因为自己学/用的大部分 IT 相关的知识都是在英文环境下,所以很多词不知道正确的中文表述;另一方面是因为平时除了聊天/发推也不会用中文所以经常表达不出自己的想法(虽然用英文也好不到哪去 🌚)。但这篇也没什么技术内容,而且这次 hackathon 在国内举办所以不论是队友间交谈还是主办方说话都是用的中文,用英文来写 post 就感觉怪怪的了。

最早知道这场 hackathon 是因为小萌(@JustZht)在推上邀请我一起参加(顺便面基)。最早的团队配置是我们两加上陈叔三个 iOS developer,后来同学兼前室友兼 intern 同事的设计师 Steven 说有兴趣参加就拉上了他凑了个四人团队。

虽然之前已经在 HK 参加过两次 hackathon,但在国内玩还是第一次,感觉挺不一样的。首先是大家的主语言都是中文,所以交流起来有点不适应,但也没有造成大的麻烦;然后就是收费太便宜了,只要 42 软妹币,之前刚参加完的 AngelHack HK 收费都要 80 HKD,而且纪念品还只有一件 T 恤,深圳这场就有两件 T 恤和一大堆贴纸(说起来感觉 HackUST 的 logo 是最好看的,当时没有提供贴纸好遗憾)。


我们这次做的 project 名为 Project DaVinci,概念上这是一个允许用户通过纯语音交互,在 DaVinci app 上定制并生成用户需要的 app 的工具(用陈叔的话说就是能生孩子的 app)。这个概念也很好地契合了今年 AngelHack “Anyone Can Code” 的主题。语音交互是通过讯飞的 SDK 实现的。我们最初的设想是通过 Mac app 生成一个客制化的 native iOS app,但因为 native app 难以实现实时更新预览,所以我们最后决定通过前端技术(Framework 7)来实现接近 native iOS 的 UI,在 “父亲 app” 中内嵌的 UIWebView 里实时渲染出 “儿子 app”,并根据用户的需求实时更新 html/css 展示出来。当用户对生成的 app 满意后,我们的 “父亲 app” 会将 web 文件上传至服务器,再在 Safari 中打开对应网页,此时用户就可以保存页面到屏幕主页。主页上生成的 icon 看起来就和 native app 没什么区别,打开后也能有仿真的 UI 和功能。

然而问题是我们都不是专门的前端开发者,而且不熟悉 Framework 7,所以 demo 中要用到的两个很简单的页面都花了我们很长时间完成(期间陈叔还边写代码边抱怨前端的坑 😂);而且最后还跌进了 Framework 7 的坑,导致两个页面不能顺利切换;而且 demo 时因为现场网络问题(比赛是 6.4 ~ 6.5,你懂的),讯飞 SDK 工作得很不稳定,最后只展示了很少一部分内容。尽管如此我们还是得到了三位评委的青睐,最后一致通过给了我们一等奖,太惊喜了(因为展示得不好我们还以为肯定没戏了,最后竟然是一等奖,上台时都一脸懵逼 😂)。

贴一些照片:

开场前陈叔作为去年北京站的冠军讲话:

我们团队(hACKbUSTER)的照片:



主办方提供的红牛和茶歇:


陈叔的专属屏保 🌚:

颁奖时的合照:

我们拿到的冠军奖杯:

全体参赛者合照:

说来有趣,我们工作的那张桌子并不是准备给参赛者们坐的,只是我们刚好在那讨论然后陈叔说不如搬到那来,结果最后才知道那桌子就是用来放最后奖杯的,我们就坐在奖杯旁工作了 24 小时,最后果然拿到了奖杯 😂

感谢陈叔和小萌为了面基大老远跑来深圳参加比赛(陈叔回程的航班还因为天气被取消了,最后只能坐 12 小时动车回去)。一直都挺想和小萌面基的,可惜因为要比赛没怎么聊天,最后玩了玩他在开发的游戏 Epoch 挺喜欢的,期待最终产品。也感谢 Steven 做的设计和 icon 给我们的产品加分。陈叔说让我们成为 hACKbUSTER 的 HK 分舵,以后 hACKbUSTER 要成为在世界各地横扫各 hackathon 的杀手团队 😂

最后贴张陈叔贴在墙上的各大 hackathon 的奖牌。要不是这次不提供奖牌陈叔的收藏又要多一张了 🌚