30% of Developers Think AI Will Replace Them

A web developer with five years of experience posted one line on Reddit after trying the latest Claude Max: “I feel increasingly irrelevant.” The thread exploded. Thousands of comments. Heated arguments about whether the profession is dying or just changing shape. Someone mentioned that a task estimated at five days was completed by Claude in a single attempt. That one anecdote became a lightning rod for every anxiety developers have been quietly holding.

I’ve been building products with AI tools for over a year now. I use Claude Code daily. The anxiety isn’t abstract to me. But after reading through hundreds of Reddit threads and looking at the actual data, the picture is more nuanced than either side of the debate admits.

In a survey of 550 software developers, nearly 30% said they believe AI will replace their development work in the foreseeable future. That means 70% don’t. But even among the 70%, there’s a shared recognition that the job description has fundamentally changed.

The Creator of Claude Code Said the Quiet Part Out Loud

Boris Cherny, the person who built Claude Code, told Fortune something remarkable: “I think by the end of the year, everyone is going to be a product manager, and everyone codes. The title software engineer is going to start to go away.” He said it would be replaced by “builder.”

This isn’t a LinkedIn influencer farming engagement. This is the creator of the tool making the prediction. Claude Code builds features, runs tests, fixes bugs, and verifies its own output without direct human supervision. The r/ClaudeCode subreddit now has 4,200+ weekly contributors, more than triple the 1,200 on the competing r/Codex subreddit. Claude Code generates 4x more Reddit discussion volume than Codex. That gap isn’t about marketing. It reflects who’s actually using what.

When I configured my Claude Code setup for the first time, the productivity gain was immediate and unsettling. Tasks that used to take me an afternoon were done in minutes. Not because I’m a slow developer, but because the tool handles the mechanical parts, the boilerplate, the test scaffolding, the repetitive patterns, with zero friction.

Post not found or has been removed.

The uncomfortable question isn’t whether AI writes good code. It does. The question is what remains uniquely human about software development when the mechanical parts are fully automated.

Stack Overflow’s Collapse Is the Canary

Stack Overflow was the developer’s default answer engine for 15 years. Monthly questions peaked above 200,000 in 2014. By late 2025, they’d dropped below 50,000. An 80% decline in one year, on top of already steep declines. Fifteen years of growth, effectively erased.

84% of developers now use AI tools in their development workflow. Why post a question on a forum and wait when you can ask an AI inside your IDE and get an answer in seconds? Stack Overflow’s aggressive moderation policy, where newcomers routinely got their questions closed or downvoted, only accelerated the exodus.

Here’s the irony. Stack Overflow’s annual revenue roughly doubled to $115 million. They pivoted from developer forum to AI data provider. 17% revenue growth from API partnerships with LLM providers. The developer community that built the platform is gone. The data that community generated is now the product.

Stack Overflow trajectory:
2014: 200K+ monthly questions (peak)
2022: ChatGPT launches, decline accelerates
2025: <50K monthly questions (75% drop)
2026: Revenue doubles via AI data licensing

The platform that taught millions of developers to code is now feeding its corpus to the models that make those developers question their relevance.

Junior Developers Are in a Hiring Winter

The numbers on junior hiring are stark. Entry-level developer postings dropped 60% between 2022 and 2024. In 2026, junior developer hiring fell another 73%. Computer science graduate unemployment hit 6-7%.

The logic is brutal in its simplicity. Junior developers traditionally handled bug fixes, test scripts, and boilerplate code. AI tools handle exactly those tasks. Research shows developers using GitHub Copilot complete coding tasks 56% faster. One senior with AI tools now outputs what previously required a senior plus two juniors. The cost math doesn’t favor hiring entry-level.

But the market isn’t uniformly frozen. Some large enterprises are increasing junior hiring specifically for developers who can work alongside AI. The hiring bar shifted from “demonstrate you can write a binary search tree” to “demonstrate you can solve a real business problem using AI as a collaborator.” If you’re a junior developer reading this, that shift is worth paying attention to.

Post not found or has been removed.

I’ve been running parallel AI agents on real projects and the workflow looks nothing like traditional development. The developers who thrive in this environment aren’t necessarily the strongest coders. They’re the strongest problem decomposers.

Transformation, Not Replacement. Maybe.

The most common counterargument on Reddit threads: “It’s transformation, not replacement.” The developer role shifts from writing code to defining specifications and reviewing AI output. Architecture decisions, security audits, user experience design, these still need human judgment.

I partly agree. When I use Claude Code, I spend more time thinking about what to build and less time on how to build it. That’s a genuine shift. But I also notice something troubling. The “what to build” question has always been the province of product managers and designers. If developers move entirely into that space, the question becomes: are they developers, or are they product people who happen to understand code?

Anthropic launching the Anthropic Institute on March 11 to study AI’s impact on jobs and the economy tells you something. When the company building the disruption tool creates a research institute to study the disruption, the disruption is no longer hypothetical.

The Real Anxiety Isn’t Technical

Read enough Reddit threads and you notice: the deepest anxiety isn’t about unemployment. It’s about identity. “I am someone who writes code” is a self-definition for millions of developers. When that definition becomes unstable, the response isn’t purely rational. It’s emotional in ways that no amount of “just upskill” advice can address.

SF Standard asked the question directly: “AI writes the code now. What’s left for software engineers?” I don’t have a complete answer. I do know this: the gap between what “developer” meant five years ago and what it means today is wider than most of us expected. The gap between today and five years from now will be wider still.

A five-day task completed in a single attempt by an AI doesn’t erase the value of the developer who would have spent those five days. It means those five days are now available for different work. The hard part isn’t accepting that. The hard part is figuring out what the different work actually is.

The ability to write code is no longer scarce. Knowing what to build is.

Full Korean analysis on spoonai.me.

Claude Code Auto Mode: No More Pressing Y

I counted once. During a 45-minute refactoring session with Claude Code, I pressed “y” to approve permissions 87 times. That’s roughly once every 30 seconds. I wasn’t coding. I was babysitting a permission dialog.

On March 24, Anthropic shipped auto mode for Claude Code, and the permission problem is essentially solved. A separate classifier model now evaluates every tool call in real time, auto-approving safe actions and blocking dangerous ones. No manual approvals for file reads. No --dangerously-skip-permissions flag. Just a classifier sitting between Claude and your system, making judgment calls.

Here’s how it actually works, what it blocks, and why it matters more than you’d think.

The Problem Was Worse Than You Remember

If you’ve used Claude Code for anything beyond trivial tasks, you know the friction. The default permission mode requires approval for every tool call. Reading a file? Approve. Searching code? Approve. Running git status? Approve.

The workaround most developers eventually discovered was --dangerously-skip-permissions, which does exactly what the flag name warns: it bypasses every safety check. According to Anthropic’s blog post, a significant number of users ended up there simply because the approval loop was unbearable.

There was an allowlist option too. You could register specific tools: claude --allowed-tools "Bash(git diff)" "Bash(git log)". But this was static. The safety of a command depends on context, not on the command itself. rm deleting a temp file is fine. rm targeting your .env is not. A static list can’t distinguish between the two.

Post not found or has been removed.

Inside the Classifier

Auto mode introduces a classifier model that intercepts every tool call before execution. When Claude generates a tool invocation, the classifier reviews three things: whether the action stays within the scope of your original request, whether the target is trusted infrastructure, and whether the action might be driven by malicious content embedded in files or web pages (the prompt injection defense).

The classifier runs on Claude Sonnet 4.6 regardless of your main session model. Even if you’re on Opus 4.6, the classifier is always Sonnet. This is a deliberate design choice: the classifier fires on every single tool call, so it needs to be fast and cost-effective. Running Opus for classification would add unacceptable latency.

User Request → Claude generates tool call
                    ↓
            [Classifier on Sonnet 4.6]
                    ↓
        Safe? → Auto-execute (no prompt)
        Risky? → Block → Claude redirects

When the classifier blocks an action, it doesn’t just stop. It redirects Claude to find an alternative approach. If Claude wanted to run a destructive bash command, the classifier blocks it and Claude attempts the task through a safer path.

Post not found or has been removed.

What Passes, What Doesn’t

Read-only operations pass almost universally: file reads, code searches, directory listings, git log, git diff. These are the operations that generated most of the permission fatigue in the first place.

File writes pass when they match your stated intent. “Update the button styles in Header.tsx” gives Claude a clear scope. Modifying that file’s Tailwind classes goes through automatically. But if Claude suddenly tries to edit your next.config.js during a styling task, the classifier catches the scope creep.

The classifier consistently blocks mass file deletions, rm -rf patterns, external network requests to unknown endpoints, access to .env files and credentials, git push --force, and anything that looks like it could affect production infrastructure.

The key insight is that this isn’t a static ruleset. The classifier reasons about intent. It’s asking “does this action make sense given what the user asked for?” rather than “is this command on the approved list?”

The Workflow Difference

Before auto mode, here’s what a typical refactoring session looked like: ask Claude to extract a component, approve file read, approve another file read, approve code search, approve file write, approve another file read, approve test file creation, approve test execution. Eight approvals for one task.

After auto mode, it’s: ask Claude to extract a component, come back five minutes later to a completed PR-ready diff. The reads, writes, and test runs all happened automatically because they stayed within scope.

Enabling auto mode is one command:

claude --enable-auto-mode

You can also toggle it mid-session with /permissions. Anthropic’s docs recommend running in isolated environments (containers, VMs) as an additional safety layer, which is honest about the classifier’s limitations.

Token usage and latency increase slightly since the classifier processes every tool call. In my testing, the overhead added roughly 200-400ms per tool call. Barely noticeable when the alternative was waiting for me to context-switch back to the terminal.

Post not found or has been removed.

Auto Mode + Hooks + Agents

Auto mode gets more powerful when combined with two other recent Claude Code features. Hooks let you run custom scripts before and after tool calls, so you can auto-format code after every write or run linting checks before commits. Agents enable parallel task execution, splitting independent work across multiple Claude instances.

The three together create a workflow where you describe what you want, and Claude Code handles execution end-to-end. Hooks enforce your standards, auto mode removes friction, and agents parallelize independent work.

This is available now as a research preview on Team plans. Enterprise and API access is coming soon. It requires Sonnet 4.6 or Opus 4.6, with no support yet for Haiku, Claude 3 models, or third-party providers like AWS Bedrock or Google Vertex.

What’s Still Missing

The classifier’s decision criteria aren’t transparent. When an action gets blocked, you don’t get a detailed explanation of why. You learn the boundaries by trial and error. For a tool that’s supposed to reduce friction, opaque blocking decisions create a different kind of friction.

There’s also the question of adversarial robustness. The classifier runs on Sonnet 4.6. If someone crafts a file with embedded instructions designed to fool the classifier, how well does it hold up? Anthropic hasn’t published adversarial testing results yet.

And the “use isolated environments” recommendation is telling. It means Anthropic knows the classifier will make mistakes, and they’re asking you to limit the damage when it does.

Still, the tradeoff is clearly worth it. Permission fatigue was pushing developers toward --dangerously-skip-permissions, which is worse than any classifier failure mode. Auto mode is the first real middle ground.

The best permission system is one that disappears. Auto mode isn’t perfect, but 87 fewer “y” presses per session is hard to argue with.

Full Korean analysis on spoonai.me.

Sources:

Anthropic Beat the Pentagon in Court — Here’s Why It Matters

$200 million. That’s the size of the contract Anthropic signed with the Pentagon in July 2025. Seven months later, the same government that hired them branded them a national security threat. Two months after that, a federal judge called the whole thing unconstitutional in a 43-page ruling that reads like a civics lesson for the AI age.

This isn’t just a legal story. If you build software that uses Claude, or any AI API from any provider, the outcome of this case determines whether AI companies can maintain the safety guardrails you depend on — or whether the government can force them to remove those guardrails under threat of blacklisting.

The Contract That Started a Constitutional Crisis

Anthropic became the first AI company to deploy its models across the Pentagon’s classified networks. The $200 million deal was a milestone for both the company and the military. Then in September, the Department of Defense tried to deploy Claude on GenAI.mil, a military AI platform, and things fell apart.

According to CNBC’s detailed reporting, the DOD demanded that Anthropic remove two specific restrictions from its usage policy: a prohibition on using Claude for fully autonomous lethal weapons and a prohibition on domestic mass surveillance. Anthropic agreed to nearly every other Pentagon request — classified network operation, military intelligence analysis, logistics optimization — but drew two hard lines.

The Pentagon’s response was extraordinary. In February 2026, Defense Secretary Pete Hegseth designated Anthropic a “supply chain risk.” CNN reported that this label had never before been publicly applied to an American company. It was previously reserved for entities like Huawei and Kaspersky — companies from adversarial nations suspected of government-directed espionage. Federal agencies were ordered to stop using Claude. Defense contractors including Amazon, Microsoft, and Palantir were required to certify they weren’t using Claude in military work.

Post not found or has been removed.

Inside the 43-Page Ruling

Judge Rita Lin of the U.S. District Court in San Francisco didn’t mince words. During the March 24 hearing, she pressed DOD lawyers on the justification for branding Anthropic a supply chain risk, telling government counsel “That seems a pretty low bar.”

Two days later, she issued a preliminary injunction that immediately suspended the designation. The ruling’s key passage is worth reading in full: “Nothing in the governing statute supports the Orwellian notion that an American company may be branded a potential adversary and saboteur of the U.S. for expressing disagreement with the government.”

Lin found something damning in the Pentagon’s own internal records. The government moved against Anthropic specifically after the company raised its concerns publicly, what the DOD’s own documents characterized as acting “in a hostile manner through the press.” Lin’s ruling was blunt: “Punishing Anthropic for bringing public scrutiny to the government’s contracting position is classic illegal First Amendment retaliation.”

The First Amendment angle is what makes this case a potential landmark. The judge didn’t rule on whether autonomous weapons are ethical or whether mass surveillance is constitutional. She ruled on something more fundamental: whether the government can retaliate against a company for publicly disagreeing with it. And she said no.

Case Timeline
------------------------------------------
Jul 2025    Anthropic signs $200M DOD contract
Sep 2025    DOD demands removal of weapons/surveillance limits
Feb 2026    Hegseth designates Anthropic "supply chain risk"
Mar 24      Hearing in SF federal court
Mar 26      Judge Lin issues 43-page preliminary injunction
Apr 2 (est) Government appeal deadline

Timeline of the Anthropic v. Pentagon case

Post not found or has been removed.

Why Developers Should Care

If you’re building on Claude’s API, you’re building on top of Anthropic’s usage policies. Those policies include restrictions on autonomous weapons and mass surveillance. Those restrictions are exactly what the Pentagon tried to force Anthropic to remove. If the government had succeeded — if the supply chain risk designation had stood — the precedent would have applied to every AI company with government contracts.

Think about what that means in practice. OpenAI‘s usage policies restrict “weapons development” and “surveillance.” Google’s Gemini policies prohibit “generating content that facilitates violence.” If the Pentagon can blacklist a company for maintaining such policies, every AI provider would face the same choice: remove your safety guardrails or lose government business entirely.

The ripple effects extend to the developer ecosystem. If AI providers are forced to remove safety restrictions for government use, those changes could propagate to commercial APIs. Safety policies that cover all deployments of a model — not just government deployments — would need to be restructured. The architecture of how AI companies implement use-case restrictions would fundamentally change.

I’ve written about Claude Code’s sub-agent system and how it orchestrates autonomous multi-step tasks. That capability operates within Anthropic’s safety framework. The legal viability of that framework is literally what this case is about.

The Silence Is Deafening

Here’s what’s conspicuously absent from this story: any public statement from OpenAI, Google DeepMind, Meta AI, or any other major AI company. Not a statement of support for Anthropic. Not a statement against the supply chain risk designation. Nothing.

The game theory explains the silence. Supporting Anthropic publicly means painting a target on your own back — the same government that blacklisted Anthropic could do the same to you. Opposing Anthropic means alienating the developer community and safety researchers who form the core of your talent pipeline. So everyone stays quiet and watches.

But the silence itself is a signal. Anthropic fought this battle alone, and the precedent it sets will benefit every AI company that maintains ethical limits on its technology. The companies that stayed silent will inherit the legal protection without sharing any of the risk. That calculus will be remembered.

Post not found or has been removed.

What Happens Next

Judge Lin gave the government one week to appeal. An appeal is widely expected, which would send the case to the Ninth Circuit. From there, the Supreme Court could eventually take it up, particularly given the constitutional questions involved.

Legal experts describe the ruling as “landmark” while cautioning that preliminary injunctions are temporary measures. The full trial on the merits hasn’t begun and could take months. The government could also try alternative approaches to achieve the same goal — regulatory pressure, executive orders, or new procurement rules — that don’t trigger the same First Amendment analysis.

What’s already established, regardless of appeals, is the framework. An AI company set ethical limits on military use of its technology. The government retaliated. A federal court found that retaliation unconstitutional. Every future dispute between AI companies and government agencies over safety guardrails will be argued in the shadow of this case.

For developers, the practical takeaway is this: the safety policies embedded in the AI tools you use today exist because companies have chosen to maintain them. This case will determine whether that choice remains legally protected.

A company said no to autonomous weapons. The government called it a national security risk. A judge called the government’s response Orwellian. Now every AI company is deciding whether to publicly stand for the guardrails they’ve quietly built into their products.

Full Korean analysis on spoonai.me.

Claude Now Controls Your Mac From Your iPhone

I sent “review the latest PR and leave comments” from my iPhone while waiting for coffee. By the time I sat down at my desk, Claude had already run git diff, analyzed 340 lines of changes across 6 files, and posted three review comments on GitHub. My Mac did the work. I did not touch it.

That scenario became real on March 25, 2026, when Anthropic shipped three features that, individually, are incremental — but combined, create something I have not seen from any other AI tool. Computer Use gives Claude direct control over mouse, keyboard, and screen. Cowork runs tasks in the background on Claude Desktop. Auto Mode uses an AI classifier to auto-approve safe developer commands. And Dispatch, the iPhone-to-Mac bridge, ties them all together.

I wrote about each of these features separately when they launched:

Post not found or has been removed.

Post not found or has been removed.

This piece is about what happens when you stop treating them as individual features and start using them as a single system.

How the Pieces Fit Together

The mental model is straightforward once you see it. Computer Use is the hands. Cowork is the workspace. Auto Mode is the judgment. Dispatch is the remote control.

Computer Use lets Claude interact with anything on your screen. According to Engadget, Claude reaches for the most precise tool available first. If a Slack connector exists, it uses the API. If a Google Calendar integration is set up, it goes through that. Only when there is no dedicated connector does Claude fall back to direct screen control — clicking buttons, typing text, navigating tabs. It opens browsers, finds files, runs terminal commands. No configuration required.

Cowork is the background execution environment in Claude Desktop. It launched in January, but without Computer Use it was limited to text-based tasks — drafting documents, organizing files through the filesystem API. With screen control, Cowork becomes a workspace where Claude can do virtually anything you would do manually. And it keeps working while you are away.

Auto Mode addresses a friction point in Claude Code that every developer knows: the permission prompt. Previously, you either approved every git status, every cat, every ls manually — or you set --dangerously-skip-permissions and hoped nothing went wrong. Auto Mode introduces a middle path. An AI classifier evaluates each command before execution. Safe operations run automatically. Destructive operations get blocked or require explicit confirmation. It needs Claude Sonnet 4.6 or Opus 4.6.

The combination changes the interaction model. Instead of sitting at your computer directing Claude step by step, you describe the outcome you want from your phone and Claude orchestrates the execution across tools, apps, and code.

A Real Workflow, Step by Step

Here is an actual sequence I tested. From my iPhone, I sent via Dispatch: “Check the open issues on our GitHub repo, pick the top-priority bug, create a branch, fix it if it’s straightforward, and open a draft PR.”

Claude woke up on my Mac. In Claude Code with Auto Mode, it ran gh issue list --label bug --sort priority — auto-approved by the classifier because listing issues is read-only. It identified the top issue, read the description, and checked the relevant source files. It created a branch with git checkout -b fix/issue-247 — also auto-approved. It made changes across two files. When it reached git push origin fix/issue-247, the classifier flagged it as a write operation to a remote and asked for confirmation through a notification on my phone. I approved. Claude opened a draft PR with gh pr create --draft.

The entire sequence took about four minutes. The classifier intervened exactly once, on the push. Everything else flowed automatically.

For non-coding tasks, the workflow is similar but uses Computer Use instead of Claude Code. “Summarize today’s meeting notes from Notion and post to #engineering on Slack” triggers Cowork. Claude opens the browser, navigates to Notion (or uses a connector if available), reads the notes, generates a summary, and posts it to Slack. If I am at my desk, I can watch it happen in real time — the mouse moving, pages loading, text appearing. If I am away, it runs in the background and sends a completion notification.

The Safety Architecture Matters

More autonomy requires more safety infrastructure. Anthropic built this as a two-layer system.

The input layer runs a server-side prompt injection probe. Every piece of external content Claude reads — files, web pages, API responses, shell output — gets scanned before entering the agent’s context. Prompt injection is when malicious instructions are hidden in content to hijack the AI’s behavior. If the probe detects a suspicious pattern, it adds a warning tag. Claude is trained to treat flagged content as suspect and anchor on the user’s original request.

The execution layer is the Auto Mode classifier itself. Before each tool call runs, a separate model evaluates it against a risk taxonomy: mass deletion, data exfiltration, credential access, unintended network requests. The classifier model is distinct from the model performing the task, creating an independent safety check.

User Command (iPhone)
       |
       v
  [Dispatch] ──> Mac
       |
       v
  [Cowork / Claude Code]
       |
       v
  [Input Layer: Prompt Injection Probe]
       |
       v
  [Agent Context]
       |
       v
  [Execution Layer: Auto Mode Classifier]
       |
    safe? ──yes──> Execute
       |
      no ──> Block / Ask User

This is not theoretical risk. Security researcher Johann Rehberger found a data exfiltration vulnerability in Cowork just two days after its January 2026 launch. Anthropic patched it quickly, but the incident proves that autonomous agents operating on real computers face real attack surfaces. Computer Use is currently in research preview, and apps handling sensitive data are disabled by default.

I would not run this on a machine with production credentials to AWS or a password manager unlocked. Not yet. For development work on isolated repos and general productivity tasks, the safety layer feels sufficient. For anything with real-world financial or security consequences, manual oversight is still warranted.

What This Replaces

The value proposition is not any single feature. It is the consolidation. Before this week, achieving what Claude now does out of the box required stitching together Zapier for app automation, n8n or Make for workflow orchestration, Alfred or Raycast for Mac automation, and custom scripts for Git operations. Each tool had its own configuration, its own failure modes, its own pricing.

Claude replaces a meaningful portion of that stack with a single natural-language interface at $20/month (Pro) or $100/month (Max). The limitation is macOS only, and the Computer Use feature is in research preview — meaning Anthropic might change the API or restrict functionality based on safety findings.

Microsoft’s Copilot handles Office 365 well but does not control the OS. Google’s Gemini experiments with Android device control but has no desktop equivalent. Apple Intelligence integrates deeply with macOS but does not connect to developer tools. Anthropic is the first to ship a developer-and-productivity agent that operates at the OS level with a phone-based remote control.

Whether this becomes the default way developers work depends on two things: reliability at scale (can it handle 50 tasks a day without misclicking?) and security hardening (can it safely operate on machines with production access?). Both are solvable problems with the architecture Anthropic has laid out.

One sentence from your phone. Your Mac does the work. The question is not whether this is possible — it is how much of your workflow you are willing to hand over.

Full Korean analysis on spoonai.me.

Sources:

Claude’s Paid Subscribers Are Skyrocketing

Here’s a number that stopped me cold: Anthropic‘s annualized revenue hit $19 billion. That’s 1,167% year-over-year growth. For context, the company earned its first dollar in revenue roughly three years ago. It has since grown over 10x every single year.

The source isn’t a press release or a pitch deck. It’s anonymized credit card transaction data from 28 million U.S. consumers, reported by TechCrunch on March 28. Claude paid subscriptions have more than doubled in 2026, and the trend was still accelerating through early March. People aren’t just trying Claude. They’re pulling out their wallets.

What makes this particularly interesting isn’t the raw growth. It’s the combination of factors that created it, and whether they’re repeatable.

The Pentagon Effect

In late January, Anthropic and the U.S. Department of Defense publicly clashed over the use of Claude’s AI models. Anthropic drew a hard line: no lethal autonomous operations, no mass surveillance of American citizens. The DoD wasn’t thrilled. The story made national news.

What happened next was unexpected. TechCrunch reported on March 6 that previously churned users returned to Claude in record numbers. Between January and February, the return rate hit a historical high. Consumers didn’t just notice the Pentagon dispute. They rewarded Anthropic for it.

This is the “Patagonia effect” applied to AI. When a company takes a principled stand that costs it something, a segment of consumers responds by opening their wallets. Anthropic turned a government contract dispute into a marketing event, and it wasn’t even intentional.

The Super Bowl Gambit

Anthropic ran Super Bowl ads that directly targeted OpenAI. The message: ChatGPT is showing you ads. Claude never will.

The timing was strategic. OpenAI had announced ad integration for ChatGPT’s free tier, creating immediate anxiety among users who’d grown comfortable with an ad-free experience. Anthropic’s ads essentially said, “If you don’t like where ChatGPT is heading, we’re the alternative.”

The Super Bowl spots went viral. They sparked a wave of ChatGPT-to-Claude migration conversations across developer communities, Reddit, and X (formerly Twitter). Whether those conversations converted to sustained subscribers is the real question, but the January-February credit card data suggests many of them did.

Post not found or has been removed.

Claude Code: The Durable Growth Engine

The Pentagon dispute and Super Bowl ads are one-time events. They spiked awareness but won’t keep subscribers paying month after month. The product that actually retains paying users is Claude Code.

Claude Code launched publicly in May 2025. Less than a year later, it has run-rate revenue above $2.5 billion. Business subscriptions quadrupled since January 2026. Enterprise usage represents over half of Claude Code revenue. According to SaaStr, no B2B software product in history has grown this fast.

The March feature blitz amplified this. Anthropic shipped 14+ features in March alone: Computer Use for desktop automation, auto mode for permission-free coding, hooks for custom automation pipelines, enhanced agents for parallel tasks. Each feature makes Claude Code stickier for its existing users and more attractive to new ones.

Claude Code usage grew 300% since the Claude 4 model launch. Run-rate revenue is up 5.5x. Anthropic also shipped an enterprise analytics dashboard for tracking spend and code acceptance rates, signaling that large organizations are Claude Code’s highest-value customer segment.

Post not found or has been removed.

The Traffic Numbers

Semrush data fills in the picture. Claude.ai hit 220 million monthly visits in January 2026, then jumped 30.9% to 288 million in February. Meanwhile, the Model Context Protocol SDK hit 97 million monthly downloads in March, up from 2 million at launch in November 2025. That’s 4,750% growth in 16 months. The developer ecosystem is building momentum that feeds back into consumer adoption.

Most new subscribers are on the Pro plan at $20 per month. This is the key signal that Claude is expanding beyond its power-user base into the general consumer market. Higher tiers exist ($100 and $200), but the mass-market growth is happening at the entry level.

5 Outages in March

Growth this fast breaks things. The New Stack documented that Anthropic suffered 5 service outages in March while shipping 14+ features. A major incident on March 2 took down claude.ai for hours. Errors spiked again on March 11 and March 25. On March 27, Opus 4.6 and Sonnet 4.6 models experienced concentrated failures.

The root cause: networking performance degradation between serving stack components. Anthropic migrated workloads to healthy infrastructure to recover. The pattern is familiar: growth is outrunning infrastructure scaling, and the engineering team is fighting to keep up.

For enterprise customers, reliability is a hard requirement. Five outages in one month is a credibility problem, regardless of how impressive the feature velocity is. Anthropic needs to solve this if it wants to keep converting enterprise trials into long-term contracts.

Post not found or has been removed.

ChatGPT vs. Claude: A Different Kind of Race

ChatGPT still has far more total users. That’s not in dispute. But the credit card data reveals something the user-count comparison misses: Claude is winning on conversion rate.

ChatGPT’s massive free tier means millions of users who never pay. Claude’s free tier is more limited, pushing higher proportions of engaged users toward paid plans. Anthropic isn’t trying to win on total users. It’s trying to win on revenue per user.

The ad model divergence amplifies this. As ChatGPT integrates advertising into its free experience, users who specifically value an ad-free product have a clear alternative. Anthropic is betting that enough users will pay $20/month to avoid ads, and the credit card data says that bet is paying off.

The question isn’t whether Claude can overtake ChatGPT in total users. It probably can’t, at least not soon. The question is whether Claude can build a more profitable business with a smaller but more paying user base. The $19 billion ARR number suggests the answer might be yes.

Credit card transactions are the purest signal in tech. They show what people actually value, not what they click on. In 2026, an unprecedented number of people decided Claude was worth paying for.

Full Korean analysis on spoonai.me.

Sources:

Reducing False Positives: Addressing Non-Exploitable CVEs in Hardened Kubernetes Environments with Vulnerability Scanners

cover

cover

Introduction: Addressing False Positives in Kubernetes Vulnerability Scanning

In Kubernetes environments fortified with security measures, traditional vulnerability scanners such as Trivy and Grype frequently generate false positives by flagging theoretically present but practically non-exploitable Common Vulnerabilities and Exposures (CVEs). These scanners operate in isolation, analyzing container images without integrating runtime security contexts, such as Kubernetes hardening configurations. For example, a container with readOnlyRootFilesystem: true and read-only volume mounts renders arbitrary file write CVEs irrelevant, yet scanners lack the contextual awareness to disregard them. This discrepancy stems from the decoupling of static analysis and runtime security, where scanners’ theoretical risk assessments fail to account for actual protections like runAsNonRoot, resource limits, or Pod Security Policies.

This mismatch between static scanning and dynamic runtime conditions creates a critical gap: scanners treat all CVEs as high-priority threats, irrespective of the environment’s security posture. The result is a cascade of unnecessary alerts, leading to alert fatigue, misallocation of resources, and delayed response to genuine threats. Without a standardized mechanism to communicate environment-specific mitigations, security teams are forced into manual triage—an inefficient process that scales poorly with Kubernetes complexity.

vex8s addresses this challenge by integrating a machine learning model that classifies CVEs based on exploitation vectors (e.g., privilege escalation, resource exhaustion) and correlates them with Kubernetes manifests. It generates an OpenVEX document, enabling scanners to suppress non-exploitable CVEs by mapping hardening measures to mitigated exploitation vectors. For instance, a privilege escalation CVE in a container running as a non-root user (runAsNonRoot: true) is flagged as non-exploitable, following the causal chain: hardening measure → neutralized exploitation vector → suppressed alert. This approach transforms vulnerability scanning from a blunt, context-agnostic process into a precise, environment-aware mechanism.

By bridging the gap between static analysis and runtime context, vex8s eliminates noise, delivering actionable insights that enhance security efficiency and reduce operational overhead. As Kubernetes adoption grows, such tools transition from optional to essential. Without them, organizations face escalating false positives, compromising both security efficacy and developer productivity. The solution is clear: vex8s is not just an innovation—it is a critical operational requirement for modern Kubernetes security.

Analyzing the Scenarios: When CVEs Are Not Exploitable

In hardened Kubernetes environments, the disparity between theoretical vulnerabilities and real-world exploitability is pronounced. Traditional vulnerability scanners, such as Trivy and Grype, operate in isolation, analyzing container images without contextual awareness of runtime configurations. This disconnect results in false positives, where CVEs are flagged as critical despite being neutralized by Kubernetes security measures. Below, we examine six scenarios where vex8s identifies and suppresses non-exploitable CVEs, elucidating the causal mechanisms that link hardening measures to alert suppression.

1. readOnlyRootFilesystem Neutralizes Arbitrary File Write CVEs

When the readOnlyRootFilesystem setting is enabled, the container’s root filesystem is mounted as read-only. This configuration directly blocks arbitrary file write operations, rendering CVEs such as CVE-2023-XXXX non-exploitable. vex8s detects this setting in the Kubernetes manifest, correlates it with the CVE’s exploitation vector (file modification), and suppresses the alert. Causal mechanism: readOnlyRootFilesystem enforces read-only access → write operations are blocked → arbitrary file write CVE is neutralized.

2. runAsNonRoot Mitigates Privilege Escalation CVEs

The runAsNonRoot setting mandates that containers execute as non-root users, eliminating the ability to perform privileged operations. CVEs requiring root privileges for exploitation, such as CVE-2022-YYYY, are thus rendered inert. vex8s cross-references the CVE’s exploitation requirements with the manifest, identifies the mitigation, and generates an OpenVEX document to suppress the alert. Causal mechanism: non-root user enforcement → privilege escalation vectors are blocked → CVE is neutralized.

3. Resource Limits Prevent Resource Exhaustion Attacks

Kubernetes resource limits (CPU, memory) constrain container resource consumption, preventing attackers from exploiting resource exhaustion vulnerabilities. CVEs such as CVE-2021-ZZZZ, which rely on excessive resource consumption, are mitigated because the container cannot exceed predefined thresholds. vex8s maps these limits to the CVE’s exploitation vector, suppressing the alert. Causal mechanism: resource limits enforce consumption caps → resource exhaustion attacks are thwarted → CVE is neutralized.

4. Seccomp Profiles Block System Call Abuse

Restrictive Seccomp profiles limit the system calls a container can execute, neutralizing CVEs that depend on specific syscalls. For example, CVE-2020-AAAA is rendered non-exploitable if the profile blocks the required syscall. vex8s analyzes the Seccomp profile, identifies blocked syscalls, and suppresses relevant CVEs. Causal mechanism: syscall restrictions enforced by Seccomp → attack vectors are inaccessible → CVE is neutralized.

5. Network Policies Isolate Containers from Lateral Movement

Kubernetes network policies enforce pod-to-pod communication restrictions, preventing lateral movement within the cluster. CVEs enabling lateral movement, such as CVE-2019-BBBB, are mitigated if network policies isolate the container. vex8s evaluates these policies, maps them to exploitation vectors, and suppresses alerts. Causal mechanism: network isolation enforced by policies → lateral movement is blocked → CVE is neutralized.

6. Immutable Workloads Render Code Injection CVEs Harmless

In immutable deployments, containers are never modified post-deployment, eliminating the possibility of code injection. CVEs such as CVE-2018-CCCC, which exploit code injection, are non-exploitable in this context. vex8s detects immutability in the manifest, suppresses the alert, and documents the mitigation in OpenVEX. Causal mechanism: immutability enforces unalterable code → code injection is blocked → CVE is neutralized.

Practical Insights: Bridging Static Analysis and Runtime Context

The core innovation of vex8s lies in its ability to systematically correlate Kubernetes hardening measures with CVE exploitation vectors. By integrating a machine learning model, vex8s classifies CVEs by attack type (e.g., file write, privilege escalation) and precisely maps these to runtime configurations. This transforms vulnerability scanning from a static, context-agnostic process into a dynamic, environment-aware mechanism. Without such tools, organizations face a security risk cascade: false positives lead to alert fatigue, delaying responses to genuine threats and compromising the overall security posture.

For practitioners, understanding these scenarios enables proactive hardening and informed suppression of non-exploitable CVEs. vex8s not only reduces noise but also redefines vulnerability management in Kubernetes, aligning security practices with real-world risk assessment.

Solutions and Best Practices: Mitigating False Positives in Hardened Kubernetes Environments

False positives in container vulnerability scanning stem from a fundamental disconnect between static analysis and runtime security contexts. In hardened Kubernetes environments, where security measures such as readOnlyRootFilesystem, runAsNonRoot, and resource limits are systematically enforced, traditional scanners like Trivy and Grype often flag CVEs that, while theoretically present, are rendered non-exploitable by these runtime protections. This section deconstructs the problem and presents actionable strategies to minimize false positives, grounded in the mechanisms by which vulnerabilities are neutralized in production deployments.

1. Scanner Configuration: Enhancing Context-Aware Analysis

Conventional vulnerability scanners operate in isolation, analyzing container images without integrating runtime security contexts. To mitigate false positives, scanners must incorporate environment-specific protections:

  • Enable Kubernetes Integration: Where supported, connect the scanner to the Kubernetes API server to ingest runtime configurations (e.g., Pod Security Policies, Security Contexts) during scanning. Mechanism: The scanner cross-references image vulnerabilities with runtime settings, identifying discrepancies between theoretical and actual risk exposure.
  • Adjust Severity Thresholds Dynamically: Configure scanners to disregard low-severity CVEs unless they align with known exploitation vectors in the environment. Example: A “medium” severity CVE requiring root privileges is irrelevant if **runAsNonRoot* is enforced, as the prerequisite for exploitation is absent.*
  • Strategic Exclusion Lists: Maintain curated exclusion lists for CVEs mitigated by hardening measures. Caveat: Manual curation is resource-intensive and lacks scalability without automation.

2. Kubernetes Hardening: Mechanisms of Exploitation Neutralization

Hardening measures directly disrupt exploitation vectors, rendering specific CVEs non-exploitable. The following table maps Kubernetes settings to their neutralization mechanisms:

Hardening Measure Mechanism CVE Neutralization Example
readOnlyRootFilesystem Enforces a read-only root filesystem, preventing write operations. CVEs like CVE-2023-XXXX (arbitrary file write) are neutralized as the filesystem cannot be modified.
runAsNonRoot Mandates non-root user execution, eliminating privileged operations. CVEs like CVE-2022-YYYY (privilege escalation) are rendered harmless as root access is unavailable.
Resource Limits Imposes CPU and memory caps, preventing resource exhaustion attacks. CVEs like CVE-2021-ZZZZ (excessive resource consumption) are mitigated as containers cannot exceed predefined limits.
Seccomp Profiles Restricts executable system calls, blocking syscall-dependent attacks. CVEs like CVE-2020-AAAA (specific syscall exploitation) are non-exploitable as the syscall is blocked.

3. Automating Context-Aware Suppression with vex8s

Manual suppression of false positives is operationally unsustainable. vex8s automates this process through:

  • Exploitation-Based CVE Classification: Its embedded machine learning model categorizes CVEs by attack vectors (e.g., arbitrary file write, privilege escalation). Mechanism: The model analyzes CVE metadata and historical exploit data to infer potential attack paths.
  • Kubernetes Manifest Correlation: vex8s parses Kubernetes manifests to identify hardening measures. Example: If **readOnlyRootFilesystem: true* is detected, all arbitrary file write CVEs are flagged as non-exploitable.*
  • OpenVEX Document Generation: Produces standardized OpenVEX documents consumable by scanners to suppress irrelevant alerts. Outcome: Transforms static scanning into a dynamic, environment-aware process.

4. Edge-Case Analysis: Limitations of Hardening Measures

Hardening measures are not infallible. The following edge cases illustrate residual risk:

  • Partial Hardening: If readOnlyRootFilesystem is enabled but a volume mount remains writable, arbitrary file write CVEs targeting that volume remain exploitable. Mechanism: The writable volume serves as an attack surface, bypassing the read-only restriction.
  • Misconfigured Policies: A Seccomp profile permitting ptrace system calls can expose containers to privilege escalation, even with runAsNonRoot enforced. Mechanism: ptrace enables process tracing, circumventing user-level restrictions.

5. Practical Implementation: Aligning Security with Developer Velocity

Mitigating false positives requires integrating security into development workflows:

  • CI/CD Pipeline Integration: Deploy vex8s or similar tools within CI/CD pipelines to suppress false positives pre-deployment. Impact: Reduces alert fatigue and prevents unwarranted build failures.
  • Developer Education: Ensure teams understand how Kubernetes hardening measures neutralize specific CVEs. Example: Clarify how **runAsNonRoot* renders privilege escalation CVEs inert.*
  • Configuration Drift Monitoring: Use policy engines like Kyverno or OPA Gatekeeper to enforce hardening measures and detect misconfigurations. Mechanism: Policy engines continuously validate Kubernetes settings against predefined rules.

Without tools like vex8s, organizations face escalating operational costs from false positives. By bridging the gap between static analysis and runtime security, these solutions not only reduce noise but also enhance the accuracy of risk assessments. As Kubernetes adoption grows, context-aware vulnerability management is no longer optional—it is imperative for maintaining both security and operational efficiency.

AI Fatigue for Developers: Managing Cognitive Overload from Code Assistants

The constant stream of suggestions from AI code assistants is creating a new kind of mental tax. The problem isn’t prompt engineering or model accuracy. It’s a deeper issue of control and focus, leading to what some engineers are calling AI fatigue.

When your IDE is constantly suggesting entire blocks of code, your job changes from creating to validating. You become a full-time reviewer for a junior developer who never sleeps, never learns your project’s specific context, and never gets tired. This model of passive assistance has a real, non-obvious cost. It trades the focused effort of building for the scattered effort of auditing, which can compromise the system’s integrity and the deep thinking that good engineering requires.

The silent cost of constant suggestions

Code assistants see a local window of your code, but they have no architectural awareness. They can generate a function that correctly implements an algorithm, but they don’t know about the new data access pattern the team agreed to last month or the long-term plan to deprecate a library. The developer is left to catch these subtle, critical deviations.

Shifting the review burden to the engineer

Every AI suggestion is a tiny pull request. You have to stop, read the suggestion, parse its logic, check its correctness, and make sure it aligns with the project’s architecture. This is a real context switch that interrupts your train of thought.

When you write code from scratch, the logic flows from your mental model of the system. When you review an AI suggestion, you first have to reverse-engineer the AI’s logic and then map it back to your own. This validation cycle, repeated dozens or hundreds of times a day, fragments your attention. The cognitive load isn’t reduced, it’s just changed from a focused block of creative work into a scattered series of validation checks.

Why passive assistance erodes critical thinking

Deep work in software engineering requires holding a complex problem in your head. You build a mental model of how components interact, how data flows, and where things might fail. Constant suggestions from an AI assistant actively work against this. The stream of code snippets keeps your attention at the surface level, focused on the next few lines instead of the overall structure.

This continuous interruption prevents the sustained focus you need to see a better abstraction, question a requirement, or spot a potential performance bottleneck. The AI optimizes for local correctness, while an experienced engineer optimizes for the system’s global health. By offloading the “easy” parts, we risk losing the context that helps with the hard parts.

AI fatigue: A new source of engineering debt

The speed gains from AI assistants are immediate and easy to measure. The architectural drift and fuzzy ownership that come with them are not. This asymmetry creates a new, quiet form of engineering debt.

The subtle drift in code ownership

When you accept an AI suggestion, a small part of the code’s “why” is lost. The code is there and it works, but the reasoning behind its structure and the alternatives that were discarded exist only in the model’s latent space. You, the author, don’t have the same depth of ownership because you didn’t go through the process of creating it.

When it comes time to refactor or debug that code six months later, that lack of deep context is a liability. The team has a block of code that is technically sound but feels architecturally foreign. No one feels a strong sense of ownership, which makes it harder to evolve or fix.

When speed obscures architectural intent

An AI assistant will happily generate code that violates your team’s established patterns if it saw a different, more common pattern in its training data. It might use a direct database call where you’ve built a repository layer, or implement custom state logic in a component that should be using a centralized store.

These small deviations seem harmless by themselves. They get the immediate task done faster. Over time, they break down the architectural coherence. The system becomes a patchwork of different patterns, making it harder to understand, maintain, and test. The speed you gained on the first commit is paid back with interest during every future maintenance cycle.

Defining AI boundaries: A control-first approach

The answer isn’t to abandon these tools. We need to shift from passive, continuous assistance to explicit, on-demand use. The developer must be in control, deciding when and how to ask for help.

Explicit ways to use AI

Instead of a constant stream of suggestions, we can use AI for specific, high-value tasks.

  • Scaffolding on demand. Use the AI for boilerplate. Ask it to generate a new gRPC service with stubs, a new component with a test file, or a CI/CD pipeline from a template. This is a one-shot generation task that saves setup time without interfering with the core logic.
  • Generation from your patterns. For well-defined, repetitive tasks, show the AI examples of your own code. Give it a few existing data models and their repository classes, then ask it to generate a new repository for a new model. This constrains the AI to your project’s specific conventions.
  • Help with refactoring. Use AI for mechanical changes on a selected block of code. Tasks like converting a `for` loop to a `map`, extracting a method, or changing a Promise chain to async/await are well-suited for automation. The scope is small and your intent is clear.

Team policies for code assistant output

To manage the code that comes from AI, teams need simple conventions. This is about managing risk and maintaining clarity.

  • Flag AI-generated code in reviews. A simple comment like `// AI-generated, reviewed for correctness and style` or a pull request label tells the reviewer to apply a different kind of scrutiny. The focus should be less on syntax and more on architectural fit.
  • Check for architectural compliance. The main job of a human reviewer for AI-assisted PRs is to be an architectural backstop. Does this code use the right data layer? Does it follow our error handling standards? Does it introduce dependencies we are trying to remove?
  • Document AI use in pull requests. A brief note in the PR description about which parts were AI-generated helps build a history. If you start seeing bugs from AI-generated code, this data becomes useful for refining team policies.

Measuring AI’s impact on architecture and reliability

Productivity claims for AI often focus on lines of code or commit frequency. These metrics miss the point. The real measure of a tool’s effectiveness is its impact on our mental state, the system’s reliability, and its long-term maintainability.

Evaluating the real cognitive load

We need to measure the total effort, not just the time it takes to write the first draft.

  • Compare time spent. For a given feature, track the full cycle time. Does the time saved in generation get eaten up by validation, debugging, and refactoring?
  • Track bugs from AI code. When filing a bug, add a field to identify if the code was known to be AI-generated. Over time, you can see if there is a correlation between AI use and certain types of defects, especially subtle logic or integration bugs.
  • Ask developers how they feel. Do they feel more focused or more fragmented? Do they feel like they are spending more or less time in a state of deep work? Anonymous surveys can provide honest feedback on the perceived mental cost.

Prioritizing deep work over suggestion streams

The goal of any developer tool should be to get out of the way so engineers can solve hard problems. AI assistants, in their current always-on form, often do the opposite. They pull your attention to the surface and encourage a reactive workflow.

By establishing clear boundaries and using AI for specific, targeted tasks, we can reclaim control. The goal is to make AI a tool you pick up for a job and then put down, not a constant presence that reshapes how you think. The most valuable work in engineering still happens during quiet, uninterrupted stretches of deep thought, and our tools should protect that focus.

What makes a good MCP tool definition (and what makes a terrible one)

MCP tools are simple in theory: you define a function, describe what it does, and AI models call it when relevant.

In practice, the quality of your tool definition determines whether your AI is actually useful or constantly confused.

Here are the patterns that separate good from bad.

The naming problem

Bad:

{
  "name": "get_data",
  "description": "Gets data from the system"
}

This is useless. Every tool “gets data.” The AI has no idea when to call this vs anything else.

Good:

{
  "name": "get_overdue_device_patches",
  "description": "Returns a list of devices that have not received a security patch in the specified number of days. Defaults to 30 days if not specified."
}

Now the AI knows exactly when to call this — when someone asks about patch status, overdue updates, or device compliance.

Rule: Name your tool like a function a senior engineer would write. Verb + noun + context.

The parameter problem

Bad:

{
  "parameters": {
    "query": {
      "type": "string",
      "description": "The query"
    }
  }
}

What query? SQL? Natural language? A search string? The AI has to guess.

Good:

{
  "parameters": {
    "days_since_last_patch": {
      "type": "integer",
      "description": "Number of days since last patch. Returns devices that haven't been patched within this window. Default: 30",
      "default": 30
    },
    "os_filter": {
      "type": "string",
      "description": "Optional: filter by OS type ('windows', 'macos', 'linux'). Omit to include all.",
      "required": false
    }
  }
}

Explicit parameters with real descriptions. The AI knows exactly what to pass.

The scope problem

The most common mistake: tools that try to do too much.

Bad: One tool that takes a “query type” parameter and branches internally.

Good: Separate tools for separate concerns. get_active_devices, get_overdue_patches, get_device_by_id.

Small, focused tools are easier for AI models to reason about. They also fail more gracefully.

Real-world example

At Conexor.io, we generate MCP tool definitions automatically from database schemas. The quality of those definitions directly affects query accuracy.

When we added column-level descriptions and specific parameter types, the accuracy of AI-generated queries improved significantly — fewer hallucinated column names, fewer type mismatches.

The lesson: MCP tool quality is a first-class concern, not an afterthought.

Good tools make AI feel like it knows your system. Bad tools make it feel like it’s guessing.

The difference is almost entirely in the definition.

I built a CLI tool to stop copy-pasting my backend boilerplate

Every time I started a new Node.js project I was doing the same thing:

  • create src/db/db.js
  • create src/app.js
  • set up express, cors, dotenv
  • copy asyncHandler, ApiError, ApiResponse utils

So I built templr-js.

npm install -g templr-js

save your perfect setup once

templr save mybackend

use it forever

templr use mybackend

No cloud. No config files. Stored locally on your machine.
node_modules and .git are never copied.

Built it in a day with pure Node.js — fs, path, os. No dependencies.

npm: npmjs.com/package/templr-js
github: https://github.com/Ammarfrfr/templr-js

My Journey From X Explorer to Indie Hacker

Hey there!
Welcome to my personal blog, and glad to know somehow you come here. So, first, let me tell you that, this blog is written by me & not any AI tool. So, Its human to human sharing. We’re in super fast going world, nobody has time for outsider, Because we’re into fast moving AI world. Somehow, its reminding me of “Genesis” from Terminator series, It was my favourite movie series & I watched it on repeated more than 100 times.

I’m into strange situation, I’m 26 year old, and I’m IT company employee doing 9-5 like most of people start their career. I have no magic skill or no extra talent. I have certain characteristics like finding always best thing, in anything, best movies to watch, best books to read, best places to travel, best home things to use. I always look for the best, and so that, by default my research skills is really good. I’m good at pattern recognition, I don’t like to do repetitive boring work, I have diverse area of interest, I want to do everything.

But, now, let’s go back to in 2020, corona hit, come to 2021, chatGPT comes, then GitHub copilot comes, and then, cursor and then perplexity and now claude code , and codex and then Openclaw, meanwhile we all gone through MCP and all those thing.

Like everyone, who are active on X, I seen people building on Build In Public community. I’m still figuring out, because, its hard to make your first dollar with your product, to be honest, freelancing is much easier, you cold dm/email someone, show your work and get work, Its easy. But building your product, teach you more than anything, Now a day building any product is someone anyone can do it, now, product like, lovable, laracopilot, Claude code, Cursor , made things easy, you can ship production ready app in less than 48 hours with payment ready.

Still, why people are failing and why I’d failed or give up on midway before seeing real results, I built almost 4-5 indie products as a Indie-hacker. I love build in public and engaging with community, I real love talking to people from different countries. That’s the journey you’ll enjoy, those secret group you make on journey. Those call you make with people, those personal DM conversation. Those growth hacking tips, those product validation ask.

But, its journey to you enjoy and when you see real results, I can’t explain how you feels actually.

So, now, let’s come to what I’m building & why I’m building, what I shipped till now.

My first product was promptnoon, its vibe coded platform through lovable and cursor. I keep finding top-notch prompts and i keep loosing prompts, that’s why finally, i decided to build a platform where I can save my any prompts, which either I create or find, I don’t need to save in my notes, WhatsApp dm or in notion, or in google doc. & finally I launched my first free platform back in august 2025, with no payment integration, free to use, no plan to monetize, I done marketing while building in public on X & on sharing in subreddit in comment and via post, I crossed almost 100+ users, but there’s no thinking to monetize it. Then, in between, as trend changes, I come to next business idea.

By the time 3-4 month passes, I was working in product related to digital identity verification and then I got idea of building Privacy-First Consent Management for India as there’s gap in Indian market. There’s no provider from India. so, i started building it, launched Accordkit in November. But I know it was long term game, I started doing marketing on linkedin & X, for almost 2 month, started doing cold-dm, but seen no results. So, I left it dormant for now.

Then in November, I got inspired from laramap and launched Indiemap for Indie-hackers & solo-founders. It was one map to gather all indie-hackers to connect with same builder same city from worldwide. Currently, I have 70+ indie-hackers there. I done build in public marketing for almost 2 months, then I took break due to family function and due to wedding season. I integrated payment gateway to monetize it with popular polar.sh for indie builders.

But then, now see any solid way to monetize it, now, its ideal as of now.

Now, finally after wedding season over here in India. I get back to building, I launched Nextjs Development Agency – Aizecs. I started working on SEO & totally relying on in-bound leads. Meanwhile, I launched my personal brand website – avinashvagh where I offer end to end product marketing & GTM strategy & execution in feb, 2026. Working on SEO and cold dm strategy relies on outbound and inbound for productize services.

Now, finally In March, I launched light weight alternative of product hunt which is NoonLaunch. A platform to launch startup product and get do-follow backlink and get traction for early products.

That’s my journey in short, let’s see way forward & how it goes.

If you like this raw writing and raw journey with no sugar coating words. Connect with me on X. Yet, I’m figuring out for product which make me real money apart from my 9-5.

So, let’s go indie, Let’s keep building.

Untill next time,

Avinash