New paper just dropped from the founder of FillApp on building real browser agents.
“Building Browser Agents: Architecture, Security, and Practical Solutions”
Biggest takeaway: the model isn’t the bottleneck. Architecture is.
After a year running one in production on real authenticated sites, they found general-purpose autonomous browsing is basically unsafe because of prompt injection. Even a 1% failure rate is too high when the agent can touch email, banking, or work tools.
Their fix: stop chasing a general browser AI. Build specialized tools with hard constraints enforced in code, not prompts.
What actually moved the needle:
Hybrid context (accessibility tree + selective vision)
Better tooling and smarter context management
Result on WebGames (53 challenges): ~85% success vs ~50% for earlier agents (humans at 95.7%).
Paper here: https://t.co/ttcvO7airX
11.093 is the impression i got on linkedin for the same post which got 28 impression in twitter(x) .
Both algos are weird. But i think, linkedin is more friendly towards new creator then twitter(x).
Any tips on improving impression on x?
Part-2 of building perplexity clone
Well, I realized i fucked up by taking this project, since building perplexity means building GOOGLE + AI SEARCH....... Why google you may ask?.... -> Well, perplexity have indexed more than 100 Billion Web pages to index search better, which is what google does.
For now i am just tackling AI Search part. What will happen is first, LLM will decide if the incoming query requires a search or not. If no search is required, it can directly answer the query. If yes, then it will generate some queries to search upon. After the queries are generated, it will be passed to Tavily API to generate to get the web pages. Then it will use the Firecrawl to basically get the content inside the webpage. Then it will chunk the content, then generate the embeddings, then use cosine similarity to find top 10 to 20 chunks, then use rerank to basically find best matches, then give the answer citing the official sources and displaying all the sources.
TADAAA.. You have an ai search engine
Part-1: Building A Scalable Perplexity Clone
-> Perplexity AI is an artificial intelligence-powered search engine that processes user questions, searches the live internet in real time, and synthesizes direct conversational responses complete with inline source citations.
-> Here is why live scraping is essential, how the agentic tool-calling loop operates under the hood, and why long-running backends win over serverless setups for streaming.
1. Why Scraping is Essential (LLM Limitations)
-> Knowledge Cutoff: Models are strictly bound by their training completion date. Any information after that point is entirely missing.
-> Cost & Time of Retraining: Continual pre-training or full retraining requires massive compute, time, and money, making real-time model updates physically impossible.
-> Overfitting & Hallucinations: Retraining repeatedly on dynamic or overlapping web data risks model degradation, loss of base knowledge, or severe factual hallucinations.
-> Verifiability & Proof: High-impact real-world events (e.g., breaking news, leadership changes) require concrete proof. Static weights cannot provide live ground-truth evidence without real-time web retrieval.
2. The Agentic Tool-Calling Loop
-> Instead of hardcoding fixed search steps, an agentic loop gives the LLM dynamic tools (search, scrape, extract) to resolve complex, multi-step dependency chains autonomously.
i) How Tool Calling Works:
-> Loop Execution: The runtime executes a continuous while loop monitoring model outputs.
ii) Multi-Step Reasoning:
-> Step 1: User asks for "Current World Cup winning captain."
-> Tool Call 1: The LLM invokes a search tool to find the latest World Cup winner.
-> Tool Result 1: Search returns the winning team (e.g., Argentina).
-> Tool Call 2: The loop feeds this result back into the LLM context. The model generates a second tool call to fetch the current captain of that specific team.
-> Tool Result 2: Search returns the captain (e.g., Lionel Messi).
-> Synthesis: Once all necessary information is retrieved, the LLM breaks the loop and streams the final cited answer to the user.
3. Streaming Strategy & Backend Architecture
-> To deliver a responsive user experience, tool execution logs and final text synthesis must stream back to the client progressively rather than holding the response until the entire loop completes.
i) Serverless vs. Express Server for Long-Running Agents:
-> Serverless (AWS Lambda / Vercel): Unsuited for deep-scraping tool loops due to strict request timeouts (10s–15s) and dropped long-lived streaming connections.
-> Stateful Server (Express / Node.js): Ideal for sustained streaming and multi-step execution loops. It maintains persistent SSE connections (text/event-stream) without execution constraints.
By pairing an Express backend with Server-Sent Events, you can continuously emit tool invocation events, scraped sources, and incremental text tokens back to the frontend in real time.
I lost a ₹32 LPA offer because of ONE mock test I didn't take seriously.
An HR team came to our campus and ran a mock interview round. I answered one question, closed my laptop, and left to sort out a bank issue instead.
Later that day, another recruiter reviewed my resume and said: "This is really good. If you'd cracked the mock test, I'd have sent you straight to the technical round."
When the actual placement drive came around, I couldn't clear OA.
One lazy decision. One lost ₹32 LPA shot.