我花了一年时间构建一个基于GPS的短暂社交网络。以下是发生的事情。
我在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'm a graphic designer, not a professional dev, but I decided to build the opposite of the "engagement at all costs" 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 'social media' and started thinking of it as a 'localized reality node' - 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 "System" AI (the gatekeeper) that roasts you during onboarding.<p>Who is this actually for?<p>Bliip definitely isn't for everyone. It'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's Photo: Modern phones don't release files immediately; they process HDR/AI in the background. If you grab the file too fast, it's "not there" 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't afford a transcoding backend. I used FFmpeg.wasm to move the processing to the client's CPU. Getting it to behave on mobile browsers required a nightmare of SharedArrayBuffer and COOP/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 "KURWA MATEUSZ" (my name + a Polish swear word) in a moment of context-collapse. I finally "transplanted" the project's brain to Gemini to finish the last 10k lines.<p>Google Play Hell: The new "12 testers for 14 days" 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 "exist" in the store.<p>Reality Check<p>Organic users arrived. They saw the neon/cyberpunk design and thought: "Dating app."<p>I learned the industry term TTD (Time To Dick). Bliip'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/GeoSearch)
Video: Client-side FFmpeg.wasm
Infra: €30/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't build for everyone (build for yourself first).
Tech stack doesn't matter (PHP is a sleeper hit for Geo).
Being a designer who codes is a superpower (and a curse).<p>Try it: https://play.google.com/store/apps/details?id=me.bliip.twa
Web: https://bliip.me