我花了一年时间构建一个基于GPS的短暂社交网络。以下是发生的事情。

1作者: fariniasty大约 2 个月前原帖
我在Instagram上无目的地滑动时,问自己:我为什么要这样做?<p>我是一名平面设计师,并不是专业的开发者,但我决定构建一个与“无论如何都要增加互动”的机器完全相反的东西。没有算法。没有永久的个人资料。没有无限滚动。只有GPS、互惠和48小时的短暂帖子。<p>概念<p>如果帖子停留在你拍摄它们的物理位置会怎样?我构建了Bliip:一个基于雷达的Vanilla JS PWA平台,内容与GPS坐标绑定,并在48小时后过期。<p>我不再称其为“社交媒体”,而是开始将其视为“本地现实节点”——这听起来有些自命不凡,但请耐心听我解释。这不是关于关注别人,而是关于发现你当前所处的空间。<p>核心机制:<p>给予与获取:你必须发布内容才能解锁附近的内容,持续24小时。不允许潜水者。 GPS锁定:内容与空间绑定,而不是用户。 叙述者:一个讽刺的“系统”AI(守门人),在入门时会调侃你。<p>这实际上是为谁准备的?<p>Bliip显然并不适合每个人。它是为那些在音乐节、校园或邻里聚会上,想要了解三英尺外的人在看什么的人准备的——而不是六小时前算法决定他们应该看到的内容。<p>技术难题<p>薛定谔的照片:现代手机不会立即释放文件;它们在后台处理HDR/AI。如果你抓取文件的速度太快,它“还不存在”。我不得不直接将Blob转储到RAM中以绕过操作系统的延迟。<p>没有服务器农场的视频(FFmpeg.wasm):我无法承担转码后端的费用。我使用FFmpeg.wasm将处理转移到客户端的CPU上。在移动浏览器上让它正常工作需要一场关于SharedArrayBuffer和COOP/COEP头配置的噩梦(真正的PWA体验),但它确实有效。<p>AI脑外科手术:我在AI的帮助下编写了这个,这是一场充满幻觉的过山车。在过程中,GPT-5在复杂的WASM内存逻辑上开始失败。我尝试切换到Claude,但它坚持认为是2025年,并在某一时刻字面上输出了“KURWA MATEUSZ”(我的名字加上一个波兰脏话),在上下文崩溃的瞬间。我最终将项目的“大脑”“移植”到Gemini上,完成了最后的1万行代码。<p>Google Play的地狱:新的“12个测试者14天”规则对独立开发者来说是创伤。如果第13天只有11个测试者而不是12个,Google就会重置计时器。仅仅为了在商店“存在”就花了两个月的时间。<p>现实检查<p>有机用户出现了。他们看到霓虹/赛博朋克的设计,认为:“约会应用。”<p>我学到了行业术语TTD(Time To Dick)。Bliip的得分令人震惊地短。评分降到了1.0,因为用户期待的是Tinder,却得到了一个带有讽刺叙述者的基于位置的雷达,告诉他们去外面走走。<p>我花了几个月解决内存泄漏和构建Redis空间索引,结果却得到了裆部照片和一星评价。这是独立开发者最黑暗的时刻。完全孤立。<p>当前状态<p>经过1年的独立开发: 38,106行代码(Vanilla JS,PHP,Redis) €0的营销预算 15个活跃用户 遗憾:0<p>技术栈: 前端:Vanilla JS PWA(没有大型框架,只有汗水) 后端:PHP + MySQL + Redis(空间索引/地理搜索) 视频:客户端FFmpeg.wasm 基础设施:€30/月的VPS<p>我学到的东西<p>用户会误解你的教堂,并在角落里拉屎。那些留下来帮忙清理的人才是真正的观众。 不要为每个人构建(首先为自己构建)。 技术栈并不重要(PHP在地理应用中是一个黑马)。 作为一个会编码的设计师是一种超能力(也是一种诅咒)。<p>试试吧:https://play.google.com/store/apps/details?id=me.bliip.twa 网站:https://bliip.me
查看原文
I was doom-scrolling Instagram when I asked myself: Why am I even doing this?<p>I&#x27;m a graphic designer, not a professional dev, but I decided to build the opposite of the &quot;engagement at all costs&quot; machine. No algorithm. No permanent profiles. No infinite scroll. Just GPS, reciprocity, and 48-hour ephemeral posts.<p>The Concept<p>What if posts stayed in the physical location where you took them? I built Bliip: a Vanilla JS PWA radar-based platform where content is anchored to GPS coordinates and expires after 48 hours.<p>I stopped calling it &#x27;social media&#x27; and started thinking of it as a &#x27;localized reality node&#x27; - which sounds pretentious, but bear with me. It’s not about following people; it’s about discovering the space you’re currently standing in.<p>Core mechanics:<p>Give-to-get: You must post to unlock nearby content for 24h. No lurkers allowed. GPS-locked: Content is tied to space, not users. The Narrator: A sarcastic &quot;System&quot; AI (the gatekeeper) that roasts you during onboarding.<p>Who is this actually for?<p>Bliip definitely isn&#x27;t for everyone. It&#x27;s for the person at a music festival, a campus, or a neighborhood block party who wants to know what the person three feet away is seeing — not what an algorithm decided they should see six hours ago.<p>Technical Hurdles<p>Schrödinger&#x27;s Photo: Modern phones don&#x27;t release files immediately; they process HDR&#x2F;AI in the background. If you grab the file too fast, it&#x27;s &quot;not there&quot; yet. I had to dump the Blob directly to RAM to bypass the OS lag.<p>Video Without a Server Farm (FFmpeg.wasm): I couldn&#x27;t afford a transcoding backend. I used FFmpeg.wasm to move the processing to the client&#x27;s CPU. Getting it to behave on mobile browsers required a nightmare of SharedArrayBuffer and COOP&#x2F;COEP header configurations (the true PWA experience), but it works.<p>AI Brain Surgery: I coded this with AI assistance, which was a hallucination-filled roller coaster. Halfway through, GPT-5 started failing on complex WASM memory logic. I tried switching to Claude, but it insisted it was the year 2025 and at one point literally outputted &quot;KURWA MATEUSZ&quot; (my name + a Polish swear word) in a moment of context-collapse. I finally &quot;transplanted&quot; the project&#x27;s brain to Gemini to finish the last 10k lines.<p>Google Play Hell: The new &quot;12 testers for 14 days&quot; rule is trauma for solo devs. If day 13 had 11 testers instead of 12, Google reset the clock. It took two months just to &quot;exist&quot; in the store.<p>Reality Check<p>Organic users arrived. They saw the neon&#x2F;cyberpunk design and thought: &quot;Dating app.&quot;<p>I learned the industry term TTD (Time To Dick). Bliip&#x27;s score was alarmingly short. Ratings plummeted to 1.0 because users expected Tinder and got a location-based radar with a sarcastic narrator telling them to go outside.<p>I spent months solving memory leaks and building Redis spatial indexing, only to be rewarded with crotch photos and 1-star reviews. This is the darkest moment for solo devs. Total isolation.<p>Current State<p>After 1 year solo: 38,106 lines of code (Vanilla JS, PHP, Redis) €0 marketing budget 15 active users Regrets: 0<p>Tech stack: Frontend: Vanilla JS PWA (No big frameworks, just sweat) Backend: PHP + MySQL + Redis (Spatial indexing&#x2F;GeoSearch) Video: Client-side FFmpeg.wasm Infra: €30&#x2F;month VPS<p>What I Learned<p>Users will misunderstand your cathedral and shit in the corner. Those who stay to help clean are your true audience. Don&#x27;t build for everyone (build for yourself first). Tech stack doesn&#x27;t matter (PHP is a sleeper hit for Geo). Being a designer who codes is a superpower (and a curse).<p>Try it: https:&#x2F;&#x2F;play.google.com&#x2F;store&#x2F;apps&#x2F;details?id=me.bliip.twa Web: https:&#x2F;&#x2F;bliip.me