• 请不要在回答技术问题时复制粘贴 AI 生成的内容
richangfoo
V2EX  ›  程序员

40 了被毕业,为了养家糊口决定弄了个浏览器端图片压缩站,求 V 友挑刺

  •  
  •   richangfoo · 13h 56m ago · 1067 views

    今年 40+,上半年被毕业了。

    在家待了阵子,投出去的简历大多石沉大海——这个年纪,厂里不怎么缺写业务代码的。想明白一件事:与其继续挤那扇快关上的门,不如自己弄点东西,哪怕小。

    决定做出海 SaaS。理由很朴素:国内流量太贵、太卷,而我英语还行,产品在海外自己能说清。选「图片压缩」这个切入点,是因为它刚需、高频、而且我能做出差异化——全程在浏览器里跑,图片不上传服务器。隐私这个点,海外用户比国内在意得多。


    开发过程(踩坑比功能多)

    框架定的是 Rust 编译成 WASM 做压缩核心,前端 React + Vite SSG 。真正动手才知道坑有多深,随手记几个:

    1. 跨源隔离( COI )是个双刃剑
    为了开压缩多线程加速,得开 Cross-Origin-Isolation。9-2 那天终于开起来了,速度确实上来了,但 Google 登录直接挂——后来查到是 COEP 把登录用的 iframe 拦死了,又改回弹窗授权流程(f3d7ce4)。

    2. OAuth 登录死磕了一整天
    9-3 基本都在跟 Google / X 的登录较劲。FedCM 、COEP 、opener 被切断……X 的弹窗回跳因为 opener 变 null ,postMessage 根本传不回来,最后统一改成 cookie 回传 + 主站轮询(3353c80)。这种坑文档几乎不写,全靠真机一步一步试。

    3. 凌晨炸了个 P0
    9-4 半夜全站压缩崩溃。根因很隐蔽:多线程 WASM 包在 COI+COEP 下,嵌套的 rayon worker 被 COEP 拦死。回滚方案是默认路径绝不自动加载线程包,只有用户显式开 Turbo 才加载(569731d)。这次事故我写了份复盘报告,后面打算发出来。

    4. AI 增强差点劝退
    接了 ONNX Runtime Web 做去背景/降噪,结果模型加载永久卡死。最后是强制 ORT numThreads=1 才稳住(5384544)——WebGPU 这条路在 Safari 上至今还是 legacy 1.17 保命。

    5. SEO 是后补的课
    铺了 234 个本地化长尾落地页( SSG ),结果 hydration 把服务端渲染的 <title> 覆盖了,导致收录卡住,又回过头修(fea7368)。9-4 加了一堆站长验证文件( Bing / 百度 / IndexNow ),才刚起步。

    顺手把前端架构开源了( zipo-frontend ,MIT ),反正核心压缩是 WASM 闭源,开源出去的不影响:https://github.com/fusion-foo/zipo-frontend


    现在的状态

    站点上线了:**https://zipo.pics**

    功能:JPG / PNG / WebP / AVIF 压缩,AI 去背景、降噪、水印,批量导出。卖点是「文件不出浏览器」。

    但一个人测试总归有盲区——不同浏览器、不同机型、不同网络下的表现,我有数不清没覆盖到的地方。

    9 replies    2026-09-05 11:17:28 +08:00
    lveye
        1
    lveye  
       5h 36m ago
    页面布局可以优化优化,个人感觉功能放太多了,可以拆多个独立站。可以参考下竞品,https://compressjpeg.comhttps://www.photopea.comhttps://www.img2go.comhttps://squoosh.apphttps://www.remove.bg/zh
    我之前做过类似的功能页面,设计和布局同你这大差不差( ai 做的 )。
    richangfoo
        2
    richangfoo  
    OP
       4h 29m ago via iPhone
    谢谢佬指点 拆成多个独立站的话 怕是功能点单一
    我打算在优化一版功能
    是 ai 做的 现在手工搓代码成本太高了
    要的是快速 MVP
    dimwoodxi27
        3
    dimwoodxi27  
       4h 1m ago
    我为了压缩一张图片需要加载 100 多 M 的资源文件?
    ghostcode
        4
    ghostcode  
       3h 46m ago
    这都烂大街了。
    children009
        5
    children009  
       3h 34m ago
    其实我也是怕 40 被毕业了,目前是 39 ,但是呢,毕业就毕业吧,历史的车轮也就是这样子,只能有其他新行业。
    richangfoo
        6
    richangfoo  
    OP
       3h 18m ago
    @dimwoodxi27 佬 那些是 ai 增强功能需要的文件
    不影响 正常功能使用 付费的才用到 静默下载的
    richangfoo
        7
    richangfoo  
    OP
       3h 17m ago
    @ghostcode 知道是烂大街 但是我们的压缩站有 别人没有的东西
    dimwoodxi27
        8
    dimwoodxi27  
       3h 6m ago
    @richangfoo 按理来说,这不符规范,别人只想压个图片的需求,不需要使用你 AI 增强那些功能就应该是按需加载,在中低端机环境下你这直接就崩了
    richangfoo
        9
    richangfoo  
    OP
       3h 2m ago
    @dimwoodxi27 有道理 这个记下来 优化 谢谢指点🙏
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3031 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 06:20 · PVG 14:20 · LAX 23:20 · JFK 02:20
    ♥ Do have faith in what you're doing.