惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

DEV Community

Session Management, Rate Limiting & Caching using Redis Why Accuracy Is Not Enough: Evaluation Metrics Every AI Engineer Should Understand How I Built One Building Instagram Data Workflows with HikerAPI (Without Maintaining Scrapers) Claude Code can't open my browser. Cowork can't run my tests. So I wired them together. AGTP: A Transport Protocol Built for Agents I built Snipworth a Chrome extension to turn code into shareable images — and keep them for later Blue-Green Deployments Are Invisible. I Made Mine Visible. Here Is How. Need your attention on my current project Why a deleted backup Lambda kept billing 9,400 EBS snapshots Deterministic Telemetry Ingestion Pipeline for GridLoqer Your Deployments Are Causing Downtime. Mine Do Not. Here Is Why How I Built a 7-Layer NL2SQL Guardrail Stack for a Fortune 500 Enterprise Identity in Web3 The Trap of "Perfect" Architecture: What Building a Shopping Cart Taught Me The Browser Boundary Model: APIs, CORS, Cookies, JSON, Files, and SEO ModelChain: Measurable LLM Router with Adaptive Model Selection, Real-Time Scoring, Budget Guards and Failover for Node.js, Edge and Browser I Built a 25-Agent Polish Parliament That Drafts Bills With Real Legal Citations KeyMesh: Zero-Runtime-Dependency API Key Rotation, Circuit Breaker and Failover for Production LLM Applications in Node.js Claude Code's workflow docs are a menu. Building a home server with a mini PC Stop Shipping AI Slop: Build an Anti-Slop Harness Around Your LLM I built an open source SDK to catch AI agent regressions before they ship. Great Stack to Doesn't Work #3 — Redis: "99% Cache Hit Ratio, System Down" The Bug That Passes Every Toolchain Check: Circular Dependencies in JavaScript Great Stack to Doesn't Work Bonus: SQL vs NoSQL: Which One in 2026? Great Stack to Doesn't Work #2 — Kafka: "Where Did My Messages Go?" I built a detention-pay calculator for truckers in a day — unglamourous niches beat another AI wrapper The Same AI Model Can Perform 6x Better: Here's Why SQL-like Queries in FSRS Plugin for Obsidian [Imposter syndrome] Back to the beginning (DevSecOps path) How to Build a Kundali App with Free Vedic Astrology API — Step by Step Ideias Valem Muito Menos do Que Você Imagina [PT-BR] cgroups and Namespaces — The Linux Kernel's Building Blocks Behind Containers Hermes Blueprint: A Multi-Agent Hedge Fund Morning Briefing System Why We Abandoned Java for Our Treasure Hunt Engine and Embraced the Complexity of Rust Building a RAG System in Rust with Qdrant, Rig, and gRPC 🦀 Ecommerce Search API: Add Visual and Semantic Search Bots read fast pages too: what we reprioritised after an AI-crawler audit Tu navegador te conoce mejor de lo que crees: privacidad en 2026 From Zero to DevOps in Pakistan: My Real Journey With No CS Degree Astro 6.4 + Cosmic: The Fastest Content Stack in 2026 Inferred context is not a dependency graph A Simpler ButtonComponent: Just Render a Div Small Go Detail That Changes How Your Project Looks I Built a SaaS. Nobody Came. Here's What I Learned the Hard Way. From Vitals to Variables: How AutoAI Automates the Heavy Lifting of Machine Learning Home-Bottom Row Modifier Clusters We Trusted Auto-Ack. The Queue Agreed. Our Costs Didn't. DevOps for Developers: Reducing Cognitive Load and Boosting Transparency Python pytest: Write Tests That Actually Help You How I bypassed Vercel Serverless timeouts to build a decoupled document ingestion pipeline The Case for a Dedicated Reliability Engineer Next.js SaaS Boilerplate with BetterAuth, RBAC, i18n & Production-Ready Setup Reverse Engineer Any Database into dbdiagram.io, PlantUML, Mermaid, or QuickDBD - Then Keep Designing Your AI coding agent doesn't need a smarter model. It needs your backlog. I built a free streaming site from scratch — no ads, no framework, no BS I Can't Believe This AI Agent Runs on a $5 VPS — And It Puts $99/Month Frameworks to Shame Beyond Static Prompts: How to Build Self-Improving AI Agents with Closed-Loop Skill Playbooks How I Taught My Incident Alerts to Say "This Broke 3 Minutes After Your Last Deploy" Why I Stopped Treating Job Applications as My Only Career Strategy Stop Watching Tutorials, Start Coding: How I Built CodeQuizz, an AI-Powered Active Learning Engine How We Generate 300+ AI Business Ideas a Month With GPT-5 (and Filter the Junk Out) The Intent Layer Your AI Coding Agent Does Not Need a Bigger Prompt How I solved a problem in my house using with an AI-powered application! Structure: A Local-First Interview IDE Powered by Gemma 4 Build in public, month 2: 615 of 616 visitors never clicked anything Someone wrote a fake EULA into Bitcoin. Two hours later they revoked it. Insights of Git ( part : 1 ) Someone wrote a fake EULA into Bitcoin. Two hours later they revoked it. Payload CMS Has 508 Circular Dependencies. Next.js Has 17. Here's Why They Form in Every Large JS Codebase. Prompt Packs Are Dead. Long Live Skills Why I Started Building a Portfolio Tracker Senior developer" after 3 years is title laundering Stripe Webhook Idempotency in FastAPI: Handling Duplicate Events Without Double-Charging SaaS Customers What Happens Before Your C Program Reaches the CPU? FinOps for Startups: How to Keep Your AWS Bill Under $100/Month Configuring CORS in Azure API Management How RBI Quietly Created a New Billion Dollar Industry in International Payments Time Need To Rearrange Binary String I Updated My GitHub Auto-Commit Desktop App I Have Reviewed Over 400 Resumes for Tech roles. Here Is What Actually Gets You the Phone Screen [Boost] Awesomeness! We built a lightweight, 100% local File Integrity Monitor (FIM) with zero telemetry Building chart() for Tala: From Raw Indicator Data to Something You Can Actually Inspect A client-side secret scanner that physically can't exfiltrate your code (and why you shouldn't trust mine either) Your AI Agent Should Text You First Built free app for game design and worldbuilding You Have a Free AI Model Sitting in Chrome Right Now I created a fork of GunDB and rewrote it in TypeScript using Vibe Code 6 Advanced JavaScript Questions That Separate Seniors from Mid-Levels Claude Does Not Need More Prompts. It Needs Reasoning Discipline. An Introduction to AI Hub, Part 2: Custom MCP Servers I built a RAG pipeline from scratch — no LangChain, just FastAPI + FAISS How I built a dependency risk scanner with Coral in 7 days Local-first: a Model on Your Own Machine, Zero Cloud 2487. Remove Nodes From Linked List C_STD : A Leak-Free, Cross-Platform Standard Library for Modern C
My Friend's Two Android Apps, Three Months Lost, and Why We Built onTest
onTestApp · 2026-05-31 · via DEV Community

onTestApp

A friend of mine has two apps on the Play Store.

The first is Motion Cues — an app that prevents motion sickness by syncing visual cues with your inner ear. Over 30,000 downloads.

The second is Let it Rain — a rain overlay app for relaxation and focus. Climbing toward 10,000.

Each took about a month to code.

Each took three months to publish.

This is the story of how those six months were spent, and why it turned into a product idea.

Google Play's "Innocent" Rule

On November 13, 2023, Google Play added a requirement for new personal developer accounts: before your app can go to production, 12 testers must opt into your closed testing track and remain active for 14 consecutive days.

My friend's account was created after that date. When we first read the rule, both of us thought the same thing: easy.

12 people. 14 days. How hard could it be?

Very hard. As it turned out.

Motion Cues — The First Wave

My friend started writing Motion Cues in early 2025. The code took two months. Play Console listing, screenshots, description — one week.

Then came the publishing process.

The first thing he saw: "New personal developer accounts must complete closed testing with 12 testers for 14 consecutive days before production access."

He laughed. "Okay, I'll find 12 people. Done."

"Just Ask Your WhatsApp Group"

We live in Istanbul. Our circle is full of developers.

Developer friends group (~40 people):

  • Android users: 3
  • Willing to help: 3
  • Actually opened the app daily for 14 days: 1

40 developers. All on iPhone. It's 2026, and that's the irony — developers who build mobile apps are the least likely to actually use the OS their users are on.

He turned to family. Explaining "open this every day for two weeks" to his mother. Asking her every morning: "Mom, did you open it today?" For 14 days.

End of week one: 5 active testers. 7 short.

He Turned to Fiverr

You've probably seen the gigs: "12 Testers for Google Play — $15." He paid.

Two days later, 12 Gmail addresses arrived. Two opted in. None opened the app.

The seller was really selling email delivery, not testing. Whether those emails corresponded to real people who used your app daily was not their problem.

Reddit Swap Threads

He ended up in r/androiddev's closed testing swap threads. The math is brutal: you need to test 12 apps, each for 14 days. Opening 12 strangers' apps every single day for two weeks. Just to launch your own.

By week three, still bouncing between 10–11 active testers. Never hit 12 continuously.

Three Months Later

  • Coding: 2 months
  • Launch preparation: 1 week
  • Finding 12 testers: 3 months

Motion Cues is now on the Play Store with 30k+ downloads. But those three months stayed with him.

Let it Rain — The Pattern Repeats

A few months later, second app. Code: three weeks.

But the publishing process started from scratch. 12 testers. 14 days. Again.

"Bro, if I could just move Motion Cues testers to Let it Rain, I'd be saved. But Google wants fresh testing for every new app."

Every new app = 12 testers from zero.

Time to production: 2.5 months.

This Is Where It Clicked

"This isn't a bug," I said. "This is a system."

On Reddit, Twitter, LinkedIn, every day, hundreds of developers in the same hole:

  • "Who needs testers? DM me for swap"
  • "Lost $50 on Fiverr tester scam"
  • "Launch delayed 6 weeks, still stuck on closed testing"
  • "Google why is this so hard"

Every single one hitting the same wall.

The Vibe Coding Era Made Shipping Harder Than Building

Something shifted in 2025–2026: writing code became accessible to everyone. Claude Code, Cursor, Bolt, Replit. Working apps built over a weekend. Non-developers shipping mobile apps.

Building a mobile app now takes days. Publishing one still takes months.

So We Made a Service

Existing solutions weren't built for this:

  • Fiverr freelancers: Sell email delivery, not engagement
  • Reddit swap threads: Force you into 14 days of testing strangers' apps
  • Enterprise testing services: $200+ price tag, overkill for indies

There was a gap. Real Android devices, real user behavior, 14-day continuous engagement, transparent dashboard, indie-friendly pricing.

That's where onTest came in.


Been through something similar? I'd love to hear your story in the comments. Good luck with your launch — you'll get there.