Vibe Coding完第一个开源项目,我的踩坑记录与全方位复盘

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社...
Vibe Coding完第一个开源项目,我的踩坑记录与全方位复盘
Vibe Coding完第一个开源项目,我的踩坑记录与全方位复盘
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
  • 我的帖子已经打上 开源推广 标签:
  • 我的开源项目完整开源,无未开源部分:
  • 我的开源项目已链接认可 LINUX DO 社区:
  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:
  • 以上选择我承诺是永久有效的,接受社区和佬友监督:

以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出


前言

今年2月份的时候,心血来潮,开坑了一个在线简历的开源项目,虽然简历项目已经够多了,但是自己还是决定试着做一下,主要有以下几点原因:

  1. 有些想要的功能市面上的简历工具没有:比如一键隐私打码,根据工作经历自动推算工作年限等等
  2. 简历项目看着简单,就是几个网页,模块拖拽编辑点点点嘛(实际做了才发现没有那么简单)
  3. 适合作为第一次vibe coding来练手的小型项目

项目仓库

GitHub

mockup

AI使用情况

  1. Claude Code:主力使用,来源主要是靠any大善人,永远的神,虽然中间有一段时间用不了,但绝大部分还是靠它。
  2. Gemini 3.1 Pro:谷歌账号家庭组的车,在网页里使用,主要是写前端的demo,确定组件UI的交互逻辑,毕竟谷歌自家就是做浏览器的,前端这块没话说。
  3. GPT 5.4:来源冰佬的公益站,那段时间opus风控严重,全靠冰佬的公益站渡过难关,主要处理非常明确的需求,排查bug等等。

实战

项目冷启动

一开始我并没有规划好项目的功能,先克隆了 visiky/resume: :rocket: 在线简历生成器 这个项目,让AI帮我分析项目架构,技术栈,生成了一个文档。我把文档复制到自己的项目中,让AI评估,使用plan模式,重新分析和选择技术栈,流程还是参考之前的。这里现在看来感觉有些多余了,没必要,完全可以自己从零规划,不参考老项目。让AI做更现代化的架构规划,效率更高。

迭代:UI打磨

第一次vibe coding,经验不足,总是走一步看一步,让AI慢慢帮我新加功能,没有在一开始就规划好核心功能,导致数据结构经常变化,结构一变化,项目就得重构。

做的过程,会体验很多优秀的简历项目,比如Reactive Resume,魔方简历等,一个功能该不该做,怎么做,除了问AI,更多的是自己作为用户,去实际体验,然后考虑当前功能在现在阶段是必要的吗

每次新加了功能,总觉得不对劲,但又说不上哪里不对劲,这时我就会把问题抛给Gemini,让他帮我审核,交互有问题的地方,让他直接出一个HTML文件给我,我来体验。

  • 比如觉得卡片样式不好看,给demo

image

  • 头像选择框不好看,给demo

image

  • 编辑器不好看,给demo

image

(注:以上这些都是可以交互的网页,因为主题里不能发HTML文件,就只截了个图)
前前后后我大概生成了20多个网页demo,用来确认界面UI交互逻辑。
所以我这个项目的界面还真算的上是精雕细琢过的 :rofl:

“幽灵行”交互

在用户基本信息中,有一个可以自定义添加字段的功能,比如添加GitHub地址,博客地址等等,最开始我设计的是点一个加号,新出一行,但是这样用户可以一直点加号,出现很多空白字段但是不填写,我觉得这样是有问题的。于是问Gemini,它给了一个我之前从未听过的方案:“幽灵行”

image

也就是填完一行内容,鼠标焦点丢失,才出现新的一行,有效的避免了可以无限新增空白行的问题。呐,新知识Get :tada:

后续就是项目慢慢更新,遵循 one commit, one thing的原则,到写这篇帖子的时候,有157次提交。
image

神器安利

强烈安利一个插件 Agentation ,可以在本地开发页面时,直接在页面上选择元素,输入需求,再一键复制给AI,包含精确定位的需求,AI在执行时,能剩下很多搜索的时间和token,也避免我们在描述时,很容易出现不准确的问题,再也不用说 “帮我把导入PDF确认对话框右下角那个确认按钮改一下” 了。

开发总结

AI开发过程的内容大概就这么多了,之前踩坑的地方是走一步看一步,没有先做好整体的规划。后续的AI项目开发,我应该会先写前端demo,借着demo思考功能,页面完善之后,再让AI根据前端代码来写后端,前端本身就是最好的项目需求文档。 :grin:(狗头)

运营

有句话怎么说的来着:“实现产品不是最难的,最难的是把产品推销出去”。

现在是真真切切的体验到了这段话,我主要在L站宣传,以及会被一些个人网站收录,推特上的资源号推荐,断断续续涨了100多star,现在是涨不动了,两天能有一个都算好的,真的希望项目能被更多的人使用,对更多的人有帮助。

直接说说踩过的坑

产品命名

一开始项目名称是 OpResume,在L站的帖子都是用的这个,在Google中搜索还是能搜到的,但是这个名称很不利于传播,别人怎么说呢?我在用的那个欧什么啊耳的简历网站,还不错,可以试试。 :distorted_face:
后来才补的中文名:优派简历(“有派”的谐音)
但是前期推广已经做了,GitHub项目改名,文章改名都比较麻烦,重新推广效果一般,现在搜索引擎也搜不到。
血的教训:如果你的产品目标用户是大众群体,不是仅面向程序员群体的,那么一个朗朗上口的中文名比单纯的英文名一定是更有利的传播的。

落地页的重要性

同样的,项目在开始推广时是没有产品落地页的,但你的产品目标用户是大众群体,你无法让大部分用户都去你的GitHub项目上了解产品特性,有什么好用的功能。当用户第一次打开时,直接是一个简历编辑界面,你让用户自己探索,虽然这样看着很“极简”,但我想大部分用户应该是懵逼的,这样会流失不少用户。

image

后来才补上了产品的落地页,向第一次使用产品的用户介绍自己。
加上了产品落地页后,项目用户的自然增长比之前好了很多,不再是一周 0 star 的惨烈状态了。

社群

在L站发帖的时候,还没有需要建立交流群的意识,也是怕在项目中加上了入群的邀请链接,会被认定为引流,拉私域。
想的是项目到了100star以后,再建群慢慢拉人,殊不知自己已经错过了最宝贵的100个种子用户,前期项目需要快速迭代的时候,无法听见大部分普通用户的声音,只有一两个人会在GitHub上反馈问题。
现在项目主要功能都更新完了,已有的功能好不好用?不知道。哪些功能用户最需要?不知道。目前已经迷失了方向。有2周没有更新了。

Logo

做logo真的让人头疼,自己没有思路,靠AI抽奖的话,有时那是真的抽象。
优派简历的logo我自己还是比较满意,也踩了很多坑。

image

这里分享一些小技巧,比如我的项目名称是优派简历,我想要做一个由字母y和p组成的logo,但是没有头绪。
我直接Google搜索"yp letter logo",就会有一些logo图标给你提供灵感

image

有了大致图形后,你把需求给gpt-image-2出图,然后多次调整修改就好了。
比如我最后灵机一动,把logo的结尾改成了领带形状,注入“职场,简历”的属性。一个logo就诞生了。 :tada:

结语

以上就是vibe完一个开源项目,从开发到推广的踩坑以及经验总结,希望能对各位佬友有所帮助。如果对项目有好的建议也欢迎留言,最后厚着脸皮打一个广告,欢迎大家来使用优派简历 :beating_heart:

2 个帖子 - 2 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文