我做了一个给被拒高中生的 College 出气筒
← 返回博客 CollegeFunWeb Development
让学生“暴揍”拒绝他们的 College 会发生什么?
2025年4月23日 作者 Alex
这是我目前为止传播最广的项目。在它上线的两周内,总共记录了超过 400 万次“暴揍” 🤯 我可以炫耀所有这些数字,但最终这不是本文的目的。
这是什么?
College Punch 是一种有趣且无害的方式,可以报复任何拒绝你或只是让你生气的大学/College。
每次你“暴揍”你的 College 时,你都会增加它在排行榜上的总分。College 收到的“暴揍”越多,它在排名中就越高。这可能意味着该 College 非常不受欢迎,或者一些书呆子学生正在用 bot 刷“暴揍”!(是的,这是 foreshadowing)
这是我们最终的前 5 名排行榜,捕捉了 2025 年 3 月 27 日至 4 月 13 日的数据:
为什么???
在此之前,我构建了一个简单的应用程序来跟踪我的 College 录取结果。要从列表中删除一个 College,你必须双击它的卡片。感觉就像我正在“暴揍”这张卡片,所以我添加了一个 hover 时的“暴揍”动画。非常酷的功能!
我将这个应用程序分享到 ApplyingToCollege 的 Discord 服务器,以获得一些用户反馈。这通常是我验证所有想法的方式:与人们分享这些 MVPs,看看他们怎么想。很快就有人开始提出很棒的想法,例如这个:
就这样,College Punch 诞生了!
怎么做的
一开始就有很多障碍:
- 我需要一份全面的世界大学名单。最初,我计划抓取 QS Top Universities 列表,但事实证明,对于我这个没有经验的人来说,这太复杂了。经过一番挖掘,我最终找到了这个 GitHub 仓库,它包含了我需要的一切。
- 由于这基本上是一个点击器应用程序,我不确定从哪里开始。我最终构建了一个连接到 PostgreSQL 数据库的 React 应用程序,将每次“暴揍”记录为新行(!)。
只要应用程序没有崩溃,并且没有数百人同时使用它,我就可以控制一切。事实证明,我低估了人们的愤怒。
-
Mistake #1:我在 Ivy Day 在 Reddit 上发布了该应用程序。很多人被拒绝了,非常沮丧,所以这个应用程序就像一个完美的压力球。我没有为巨大的流量高峰做好准备。
-
Mistake #2:我没有在将应用程序直接推送到生产环境之前对其进行测试。结果,数据库的一些错误配置意味着前 10 名排行榜之外的“暴揍”没有被计算在内。这导致我重置了排行榜(在其流量高峰时!)。
-
Mistake #3:我在网站的页脚部分包含了一个指向我的另一个项目 Skillseed.org 的链接。事实证明,这一个链接会违反 r/ApplyingToCollege 的自我推销规则。在该应用程序起飞后不久,版主删除了我的帖子,基本上扼杀了该网站的唯一流量来源。
-
Mistake #4:这种将每次“暴揍”记录为新行的方法太糟糕了。总的来说,这个愚蠢的决定花费了我大约 30 美元的 "PostgreSQL Compute"。
那时已经过了午夜,我还在修补错误。在我完成修复上述大部分问题时,出现了一个更大的问题。
Bots
对于这样一个利基网站,我非常确定没有人会关心到足以大量使用 bot。
我非常错了。我花了整个代码库重写才最终实施了一些速率限制,阻止所有 bot 向我的网站发送垃圾邮件(至少是基本的 bot)。
我遇到了很多与 Nolen & OMCB 遇到的类似问题,他的博客对我的情况非常有帮助。说到这里...
谁在幕后使用 bot?
事实证明,是同一个人在 OMCB 上使用 bot,也在我的网站上使用 bot!
他们帮助我修复了 bot 问题,但在将 MIT 推到第一名之前(CMU 几天后会超越)。想看看这个疯狂复杂的程序,它一手摧毁了我的网站吗?好吧,这就是它:
直到今天,我仍然感到震惊,这一切只需要这些。
其他很酷的细节
-
在发布日期,被“暴揍”次数最多的 College 是…… Batman University。不是一些 Ivys 或 T20,而是一所碰巧与虚构人物同名的土耳其大学。不幸的是,当我重置数据库时,所有指向 Batman 的“暴揍”都被删除了。
-
到最后,加拿大学校开始收到大量“暴揍”(主要是 bot 刷的)。这就是 Brock University 进入前 5 名的原因,还有另外两所加拿大学校进入了前 10 名。看到随机的加拿大学校击败 Columbia 令人震惊!
那么,现在怎么办?
我计划每个 College 申请季都带回 College Punch。目前,它将保持离线状态,因为我无法承担服务器成本。也许将来我会变得富有,并且可以负担得起运行像这样有趣的项目而不破产。如果你迫不及待地想要“暴揍”,请帮助我支付费用,我会让它无限期地保持在线!
这是一个有趣的项目。它教会了我很多关于数据库和扩展的知识。偶尔做做这样的小项目,从 Skillseed 中休息一下也很有趣。
感谢阅读我的第一篇互联网博客!我很快就会带着我正在做的另一个项目回来 😎