开发者
We Built the Same Product Twice. Only 6% of It Carried Over.
The number that surprised us We build software for two businesses that sound like the same business. One rents things out by the day. The other sells and manages property . Described in a sentence, both are someone paying to use a building or a vehicle for some period of time. When we started the second one, everyone involved assumed most of the first would carry over. Between them, the two products describe 113 business concepts — the things the software has to know about, like a customer, a contract, a price rule, a booking. Seven are shared. Six percent. The second product still shipped far faster than the first. Understanding why is worth more than the number itself, because the same logic decides whether an automation project inside your own company pays for itself. Why two similar businesses share almost nothing The sentence that makes them sound alike is the sentence hiding all the differences. A rental company has vehicles. They exist or they do not. A property developer has buildings under construction, where each apartment moves through stages — planned, framed, finished, ready to hand over — and half the business is tracking which stage each one is in. There is no version of a car that is sixty percent delivered, so there was nothing in the first product to borrow. A rental booking opens and closes inside a week. A property sale runs for months and involves a buyer, a seller, an agent, and often a bank, each of whom needs their own view of the same transaction. We know exactly how far you get by treating that as a booking with extra fields: right up until the first commission has to be split three ways. And a rental company has customers. A property company has customers, owners and investors — people who never buy anything through the system and log in only to see what their asset is doing. There is no equivalent at all in the first product, which is the clearest sign that these were never the same business. Where the savings actually were Nothing above
AI 资讯
What the Amazon vs Perplexity Ruling Changed
What the court actually held Amazon sued Perplexity in November 2025 over its Comet browser, pleading the federal Computer Fraud and Abuse Act and California's Comprehensive Computer Data Access and Fraud Act. A district court granted a preliminary injunction in March 2026. The Ninth Circuit stayed it pending appeal, and in August 2026 vacated it. The reasoning is the part worth carrying away. On the record before the panel, the systems were being accessed by Amazon's own customers, signed into their own accounts, using software they had chosen. Perplexity was not the one accessing Amazon. On that basis Amazon was unlikely to prevail on a statute written about unauthorised access. It is the first federal appellate ruling on whether AI agents acting for a user may access an online platform, and the panel was careful to say it was deciding that record rather than announcing a doctrine. What it did not hold It did not say agents are welcome, and it did not say a site has lost control of its own front door. Contract claims were not what the panel found weak. Terms of service, trademark questions and state-law theories are all untouched. A different record with different facts, particularly one where the agent operates at scale rather than for one signed-in customer, could come out differently. The useful summary is narrow and worth stating without decoration: computer-misuse law is a weak instrument against software a customer chose to run on their own account. The distinction the ruling turns on Crawler User's agent Acting for Its operator One signed-in customer Scale Many sites, high volume One session at a time Authenticated Usually not As the customer Data ends up In the operator's product In front of the person who asked The ruling's reasoning Does not apply Applies Most blocking rules in the wild do not make this distinction. A blanket refusal of automated access catches a customer's own agent alongside the scraper it was aimed at, and those two are commercially o
AI 资讯
MVP vs MLP
The MVP was a great idea that got misused. "Minimum viable product" was meant to be the smallest experiment that tests a hypothesis. In practice it became an excuse to ship something broken and call it strategy. The minimum lovable product — MLP — is the correction: the smallest release that people actually want to use, not just tolerate. Knowing which one you need is a scoping decision, not a philosophy. The difference in one line An MVP asks will they use it at all? An MLP asks will they love the part we built? The MVP tests demand with the roughest possible artifact. The MLP narrows scope but polishes what remains until it's genuinely good. Both are about doing less. They disagree on where the "less" goes — fewer features versus rougher features. Why the bar has risen When users had few alternatives, a rough MVP could win on novelty. Today almost every category is crowded, and people judge a new product against the polished tools they already use. A janky first impression doesn't read as "early" — it reads as "not for me," and they don't come back. In a saturated market, lovability is the viability test. When an MVP is still right Ship a true MVP when the core question is demand, not quality: You're genuinely unsure anyone wants this at all. The audience is early adopters who tolerate rough edges for access. You can learn what you need from a small, forgiving group. Speed to a signal matters more than the strength of the signal. Here, spending weeks polishing something nobody wants is the expensive mistake. When to reach for an MLP Choose an MLP when demand is fairly clear but the market is competitive: Users have real alternatives and will compare you to them. Your differentiation is the experience — feel, speed, design. First impressions are hard to reverse. Word of mouth depends on delight, not just function. Scope narrow, finish deep The trap with "lovable" is treating it as license to add features. It's the opposite. Pick fewer things and finish them complet
AI 资讯
AI Search and SEO Are Not the Same Thing — Here's the Difference That Actually Matters
I used to think AI search readiness was just SEO with a new name. It's not. The more time I spend on this, the clearer the distinction becomes. The core difference Traditional SEO optimizes for ranking in a list of links. You want to be the #1 blue link on Google for "best project management software." The user clicks through to your page, you get the traffic, you monetize. AI search optimizes for being the source of an answer. When someone asks Perplexity or ChatGPT "what's the best project management software?", the AI reads multiple sources, synthesizes an answer, and cites the ones it used. The user may never click through. The fundamental units are different: SEO operates on pages and rankings AI search operates on facts, claims, and citations You can be #1 on Google for a keyword and never appear in a single AI-generated answer. And you can be cited in AI answers without ranking in the top 10 for anything. What still matters Some things carry over from SEO: Technical quality — Fast pages, HTTPS, crawlable content. AI crawlers care about this just like Googlebot. Clear content structure — Headings, lists, tables. Well-structured content is easier for AI models to parse. Internal linking — AI crawlers follow links like any other crawler. Good information architecture matters. Backlinks from authoritative sources — Being cited by Wikipedia, academic papers, and major publications signals trust to AI models just like it does to search engines. What matters for AI search that barely matters for SEO A few things that are critical for AI search but don't move the needle much for traditional rankings: LLMs.txt / LLMs-full.txt — These files don't affect your Google ranking at all. But they give AI models a clean, structured map of your site. I've seen sites with great LLMs.txt files get cited more consistently than sites with better backlink profiles but no AI-readable summary. Structured data for disambiguation — In SEO, schema markup helps with rich snippets. In AI s
AI 资讯
Stop Asking AI for Common Sense: How to Extract Contrarian Insights That Actually Get Read
Your AI is making your content invisible. Not because it writes badly. Because it writes safely . Ask ChatGPT to summarize an article and it will produce a polished, agreeable précis that offends nobody and surprises nobody. The output is technically accurate and completely forgettable. The problem is structural: most people prompt their AI to confirm what an article says, not to find where it fights with the crowd . The result is a feed full of content that agrees with other content, in increasingly fluent prose, at exponentially increasing volume. If you want to be read, you need to stop prompting for summaries and start prompting for conflict. Why Agreement Is the Fastest Path to Obscurity There is a reliable body of research behind why contrarian content performs. Jonah Berger and Katherine Milkman's widely cited study, "What Makes Online Content Viral?" ( Journal of Marketing Research , 2012) , found that content evoking high-arousal emotions — anger, awe, anxiety — is significantly more likely to be shared than content that merely informs or reassures. Agreement is a low-arousal state. Surprise and contradiction are not. This is not a trick to manufacture outrage. It is a structural observation: the human brain is wired to pay attention to pattern breaks. An article that says "AI is changing content creation" registers as noise. An article that says "AI is making content creation worse, and here's the data" registers as a signal worth attending to. The distinction matters because the mechanism is cognitive, not emotional. You are not trying to provoke readers. You are trying to interrupt the predictive pattern they've built from reading a hundred similar articles before yours. The Problem With Generic AI Summarization When you ask an LLM to "summarize this article" or "give me the key takeaways," the model optimizes for coverage and balance. It is trained on human feedback that rewards thoroughness and penalizes controversy. The output tends to be accurate, ne
AI 资讯
Fractional CTO: What They Do, Cost, and When to Hire One
"Fractional CTO" has become the title people put on their LinkedIn profile when "senior developer" doesn't sound senior enough. I play this role for some of my clients, so I have opinions about what it actually means — and what it doesn't. The confusion isn't just semantics. If you hire the wrong thing under this label, you pay consulting rates for work that a good contractor would have done better. The Problem with the Label The term covers a surprisingly wide range of people and arrangements. At one end, you have experienced technical leaders — people who have actually run engineering organizations, made architectural decisions that constrained companies for years, hired and let go technical staff, and owned the consequences. At the other end, you have developers who decided their day rate felt more justifiable with a fancier title. Both call themselves fractional CTOs. The market hasn't sorted this out yet. The reason it matters: these are fundamentally different services with different prices, different deliverables, and different risks. Mixing them up is how companies end up paying €200/hour for someone to help them choose a JavaScript framework. What a Real Fractional CTO Actually Owns Owns is the operative word. Not "advises on." Not "contributes to." Owns. Technical architecture decisions. When you're building a system that will handle real volume, real users, and real money — the decisions made in the first few months constrain everything that follows. What database, what caching strategy, how the services are separated, where the complexity lives. A fractional CTO makes those calls and stakes their reputation on them. They're not writing a report about options. They're deciding. Tech stack and vendor selection. When a vendor pitches you something, someone needs to evaluate it who has seen enough vendors to know which ones are overselling. When a developer suggests a library, someone needs to know whether it's the right tool or just the tool that developer