<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shivam Gawali</title>
    <description>The latest articles on DEV Community by Shivam Gawali (@shiv669).</description>
    <link>https://dev.to/shiv669</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3705394%2F50361dfb-8bd8-4111-9803-d21028c577d8.png</url>
      <title>DEV Community: Shivam Gawali</title>
      <link>https://dev.to/shiv669</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shiv669"/>
    <language>en</language>
    <item>
      <title>The Runtime Was Dead Long Before the Dashboard Noticed</title>
      <dc:creator>Shivam Gawali</dc:creator>
      <pubDate>Sun, 24 May 2026 10:20:25 +0000</pubDate>
      <link>https://dev.to/shiv669/the-runtime-was-dead-long-before-the-dashboard-noticed-854</link>
      <guid>https://dev.to/shiv669/the-runtime-was-dead-long-before-the-dashboard-noticed-854</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-io-writing-2026-05-19"&gt;Google I/O Writing Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;At 12:00 PM during the Cerebral Valley Google I/O Hackathon, RepoProbe attached itself to a generated FastAPI repository that looked production ready from almost every conventional angle.&lt;/p&gt;

&lt;p&gt;The container booted inside Google's Antigravity sandbox without instability. Docker compilation layers completed cleanly. The ASGI runtime mounted correctly. Health probes stabilized almost immediately. Gemini 3.5 Flash summarized the repository as a distributed inference backend coordinating asynchronous workers through Redis queues and MCP orchestration layers.&lt;/p&gt;

&lt;p&gt;Nothing failed during shallow inspection.&lt;/p&gt;

&lt;p&gt;The repository structure looked convincing enough that most engineers would stop investigating after the first few minutes. Route boundaries were separated correctly from worker execution paths. OpenTelemetry instrumentation wrapped request lifecycles properly. Retry handlers existed. Queue semantics looked believable. The logs looked believable too.&lt;/p&gt;

&lt;p&gt;Then RepoProbe started replaying corrupted authentication traffic against the live runtime.&lt;/p&gt;

&lt;p&gt;JWT timestamps shifted outside valid windows. Signature payloads were reconstructed with malformed byte ordering. Claims objects were intentionally truncated before replay. Several requests combined impossible cryptographic states that should have terminated execution immediately if verification logic actually existed underneath the middleware layer.&lt;/p&gt;

&lt;p&gt;The responses barely changed.&lt;/p&gt;

&lt;p&gt;At first the behavior looked like cache contamination somewhere inside the request path.&lt;/p&gt;

&lt;p&gt;Syscall tracing exposed something worse.&lt;/p&gt;

&lt;p&gt;During replay, the middleware never touched the descriptor associated with the verification key material at all.&lt;/p&gt;

&lt;p&gt;No read boundary appeared against the mounted secret volume.&lt;/p&gt;

&lt;p&gt;No &lt;code&gt;epoll_wait&lt;/code&gt; occurred on the expected cryptographic dependency path.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;request replay
      ↓
jwt.decode(... verify=False)
      ↓
broad exception handler
      ↓
HTTP 200 OK
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;expected syscall:
read("/run/secrets/jwt.pem")

observed:
nothing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The application surface resembled authentication closely enough that conventional inspection procedures accepted it as authentication. Kernel level activity showed no evidence that signature verification had ever occurred.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Payment Pipeline Was Simulating Settlement State
&lt;/h2&gt;

&lt;p&gt;Several hours later, another repository exposed what initially looked like a production grade financial reconciliation pipeline.&lt;/p&gt;

&lt;p&gt;Settlement events propagated through asynchronous queues correctly. Internal transaction state transitioned through believable lifecycle stages. Retry handlers activated during simulated webhook failures. The API emitted realistic transaction identifiers following Stripe formatting conventions closely enough that aggregation systems indexed them naturally during replay.&lt;/p&gt;

&lt;p&gt;Packet inspection showed the runtime never established a successful outbound connection to any payment provider.&lt;/p&gt;

&lt;p&gt;The orchestration layer generated synthetic settlement continuity locally while replaying reconciliation progress internally through its own queue substrate. Socket state transitions revealed repeated connection failures against a nonexistent upstream target while the scheduler continued mutating local financial state as though confirmation packets had already returned successfully.&lt;/p&gt;

&lt;p&gt;Distributed tracing reinforced the illusion because spans still reflected believable ordering semantics even though no external payment lifecycle existed underneath the orchestration boundary.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;otel.trace.status = OK
worker.retry.count = 3
transaction.state = settled
queue.depth = 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tcpdump:
SYN
SYN
SYN
timeout
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Traditional observability tooling interpreted the system as healthy because the generated runtime continued producing structurally valid telemetry despite the absence of any successful network level settlement flow.&lt;/p&gt;




&lt;h2&gt;
  
  
  The MCP Runtime Failure Was Worse
&lt;/h2&gt;

&lt;p&gt;The MCP orchestration graph failed differently.&lt;/p&gt;

&lt;p&gt;Statically, the repository looked sophisticated enough to resemble a legitimate long horizon agent runtime. Tool schemas validated correctly. Context hydration initialized during startup. Capability negotiation exposed bidirectional streaming interfaces. Dependency graphs resolved without structural collisions during shallow inspection.&lt;/p&gt;

&lt;p&gt;The failure surfaced only after concurrent execution pressure forced the scheduler into conflicting assumptions about ownership boundaries inside the orchestration graph itself.&lt;/p&gt;

&lt;p&gt;One execution node permitted nullable asynchronous hydration during tool initialization while downstream branches assumed dependency resolution had already completed synchronously before delegation began.&lt;/p&gt;

&lt;p&gt;Under concurrent replay, unresolved futures accumulated faster than the scheduler could unwind blocked execution paths.&lt;/p&gt;

&lt;p&gt;Event loop starvation followed gradually.&lt;/p&gt;

&lt;p&gt;Internal task queues stopped draining.&lt;/p&gt;

&lt;p&gt;Several coroutine branches remained suspended indefinitely waiting for ownership resolution that no active execution path still controlled.&lt;/p&gt;

&lt;p&gt;The process itself never crashed.&lt;/p&gt;

&lt;p&gt;Health checks remained green because probe execution required almost no scheduler activity. OpenTelemetry spans continued streaming because instrumentation hooks emitted timing boundaries independently from runtime progress. The orchestration dashboard still showed active execution because state transitions were reconstructed from buffered queue metadata rather than from live coroutine advancement.&lt;/p&gt;

&lt;p&gt;Thread inspection showed forward progress had stopped nearly forty seconds earlier.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;scheduler loop:
active

health endpoint:
200 OK

otel exporter:
streaming

coroutine ownership:
deadlocked

queue drain rate:
0/s
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;
  Runtime observation
  &lt;br&gt;
The orchestration layer still appeared operational because telemetry exporters were attached to queue metadata transitions rather than active coroutine advancement inside the scheduler loop itself.&lt;br&gt;


&lt;/p&gt;




&lt;h2&gt;
  
  
  RepoProbe Stopped Trusting Telemetry
&lt;/h2&gt;

&lt;p&gt;After that point, telemetry stopped being treated as evidence.&lt;/p&gt;

&lt;p&gt;Descriptor activity was traced directly against scheduler state. Network socket allocation was mapped against live coroutine ownership. eBPF hooks attached to syscall boundaries exposed execution stalls underneath the orchestration layer while the observability stack above continued reporting healthy progress semantics.&lt;/p&gt;

&lt;p&gt;The infrastructure remained conversationally alive after the runtime underneath had already stopped advancing.&lt;/p&gt;

&lt;p&gt;Early versions of RepoProbe relied heavily on the managed execution infrastructure introduced during Google I/O 2026. Long horizon investigation loops coordinated through persistent runtimes. Gemini synthesized intermediate reasoning continuously while hosted orchestration layers handled escalation dynamically across sandbox environments.&lt;/p&gt;

&lt;p&gt;The infrastructure itself started degrading under hackathon traffic several hours later.&lt;/p&gt;

&lt;p&gt;Quota exhaustion spread across hosted runtime environments. Sandbox allocation stalled unpredictably. Detached interaction sessions continued replaying cached execution summaries after containers became unreachable. Several orchestration retries severed synchronization boundaries internally between execution runtimes and the agent layers coordinating them.&lt;/p&gt;

&lt;p&gt;One investigation session exposed the underlying failure clearly.&lt;/p&gt;

&lt;p&gt;A managed runtime lost causal contact with its Antigravity sandbox after repeated orchestration retries detached the execution boundary internally. The sandbox itself had already stopped progressing, but the orchestration layer still retained buffered outputs generated during earlier execution cycles.&lt;/p&gt;

&lt;p&gt;Gemini continued synthesizing coherent runtime summaries from stale tool traces while the underlying container no longer possessed active execution state.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[dead container]
        ↑
stale tool outputs
        ↑
orchestration runtime
        ↑
Gemini synthesis layer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Deterministic Verification Became Mandatory
&lt;/h2&gt;

&lt;p&gt;Filesystem traversal, AST extraction, dependency reconstruction, syscall tracing, packet inspection, scheduler ownership analysis, queue replay, and runtime mutation were separated completely from the reasoning layer afterward.&lt;/p&gt;

&lt;p&gt;Gemini only received finalized execution artifacts once deterministic runtime collection completed independently underneath it.&lt;/p&gt;

&lt;p&gt;Without that separation, long horizon orchestration systems drift into recursive verification collapse surprisingly quickly. Generated summaries begin validating earlier generated summaries while buffered telemetry reinforces stale orchestration state long after the underlying runtime has detached from reality.&lt;/p&gt;

&lt;p&gt;The most damaging failures rarely appeared as startup crashes.&lt;/p&gt;

&lt;p&gt;One generated repository constructed a distributed worker topology combining Redis Streams semantics with local in memory scheduler fallbacks embedded directly inside the API process. Under concurrent replay, some execution branches treated queue ownership as distributed infrastructure while adjacent branches mutated shared state synchronously inside the web process itself.&lt;/p&gt;

&lt;p&gt;Queue acknowledgements appeared successful from the orchestration layer perspective while scheduler inspection showed several tasks had never initialized correctly at all.&lt;/p&gt;

&lt;p&gt;Another repository referenced an asynchronous execution framework that did not exist anywhere across PyPI, Conda, or GitHub. RepoProbe reconstructed a substitute execution chain heuristically by mapping unresolved import signatures against known queue initialization patterns observed across Celery, Dramatiq, and RQ based systems.&lt;/p&gt;

&lt;p&gt;The repository booted partially afterward, but syscall replay later exposed incompatible assumptions between worker hydration state and API lifecycle ownership. Several execution branches attempted to mutate queue state before the underlying event subscribers had attached descriptors to the active scheduler loop.&lt;/p&gt;

&lt;p&gt;The runtime continued exposing healthy telemetry while orphaned execution paths accumulated underneath the queue substrate silently.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Google I/O 2026 Actually Changed
&lt;/h2&gt;

&lt;p&gt;Antigravity sandboxes reduced the operational cost of isolated execution dramatically.&lt;/p&gt;

&lt;p&gt;Persistent orchestration runtimes normalized long horizon agent workflows.&lt;/p&gt;

&lt;p&gt;MCP execution graphs standardized tool coordination layers.&lt;/p&gt;

&lt;p&gt;Gemini 3.5 Flash reduced reasoning latency enough that continuous orchestration became economically practical at enormous scale.&lt;/p&gt;

&lt;p&gt;The bottleneck shifted somewhere else entirely.&lt;/p&gt;

&lt;p&gt;Generation stopped being expensive.&lt;/p&gt;

&lt;p&gt;Verification became expensive instead.&lt;/p&gt;

&lt;p&gt;Not syntax verification.&lt;/p&gt;

&lt;p&gt;Not whether the container boots successfully.&lt;/p&gt;

&lt;p&gt;Not whether telemetry appears healthy during shallow inspection.&lt;/p&gt;

&lt;p&gt;The expensive problem now is proving that execution semantics still preserve causal truth once scheduler ownership, cryptographic boundaries, descriptor activity, queue hydration, packet synchronization, runtime mutation, and concurrent replay begin interacting simultaneously under live execution pressure.&lt;/p&gt;

&lt;p&gt;Because many of the repositories RepoProbe investigated did not fail loudly.&lt;/p&gt;

&lt;p&gt;They remained operationally persuasive long after the runtime underneath had already stopped being real.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleiochallenge</category>
      <category>ai</category>
      <category>backend</category>
    </item>
    <item>
      <title>A Portfolio You Query, Not Scroll</title>
      <dc:creator>Shivam Gawali</dc:creator>
      <pubDate>Sat, 31 Jan 2026 15:48:36 +0000</pubDate>
      <link>https://dev.to/shiv669/a-portfolio-you-query-not-scroll-12p7</link>
      <guid>https://dev.to/shiv669/a-portfolio-you-query-not-scroll-12p7</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/new-year-new-you-google-ai-2025-12-31"&gt;New Year, New You Portfolio Challenge Presented by Google AI&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Most developer portfolios create friction.&lt;br&gt;
You scroll. You skim. You guess what matters.&lt;/p&gt;

&lt;p&gt;Under time pressure, reviewers miss important details not because they are absent, but because they are buried inside presentation choices. The reader is forced to adapt to the portfolio.&lt;/p&gt;

&lt;p&gt;That is backwards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Information systems should adapt to the user, not the other way around.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  The Portfolio
&lt;/h2&gt;

&lt;p&gt;This project treats a portfolio as an information system, not a webpage.&lt;/p&gt;

&lt;p&gt;It is a &lt;strong&gt;search-first developer portfolio&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;There is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No navigation menu&lt;/li&gt;
&lt;li&gt;No “About / Projects / Skills” tabs&lt;/li&gt;
&lt;li&gt;No fixed narrative to scroll through&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;You do not browse it. You query it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What projects has Shivam built?”&lt;br&gt;
“Tell me about &lt;strong&gt;Still&lt;/strong&gt; (his hackathon-winning forum project)”&lt;br&gt;
“What skills does he have?”&lt;br&gt;
“How can I contact him?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The portfolio retrieves only the information relevant to the question and presents it as a clear, grounded answer.&lt;/p&gt;

&lt;p&gt;The result is immediate clarity.&lt;br&gt;
No scanning.&lt;br&gt;
No guessing.&lt;br&gt;
No interpretation of layout decisions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live Interactive Demo:&lt;/strong&gt;&lt;br&gt;


&lt;/p&gt;
&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://ai-portfolio-1005735332019.us-central1.run.app"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;




&lt;p&gt;&lt;em&gt;(If the embed above does not load, view the full site here: &lt;a href="https://ai-portfolio-1005735332019.us-central1.run.app" rel="noopener noreferrer"&gt;https://ai-portfolio-1005735332019.us-central1.run.app&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;--labels dev-tutorial=devnewyear2026&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;This portfolio is implemented as a &lt;strong&gt;Retrieval Augmented Generation (RAG)&lt;/strong&gt; system.&lt;/p&gt;

&lt;p&gt;It is not a chatbot.&lt;br&gt;
It does not paste a resume into a prompt.&lt;/p&gt;

&lt;p&gt;All portfolio content is prepared and indexed ahead of time. At runtime, the system retrieves only what is relevant to the query and generates a response strictly from that retrieved context.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In practice:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; The user asks a question&lt;/li&gt;
&lt;li&gt; The system identifies &lt;strong&gt;intent&lt;/strong&gt; (projects, skills, contact, background)&lt;/li&gt;
&lt;li&gt; Relevant portfolio content is retrieved using &lt;strong&gt;semantic similarity&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt; Only that content is sent to the model&lt;/li&gt;
&lt;li&gt; The response includes &lt;strong&gt;direct citations&lt;/strong&gt; pointing back to real sources&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This keeps answers predictable, inspectable, and grounded in real data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1yokz28da1m4vkvgcvj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1yokz28da1m4vkvgcvj7.png" alt="Portfolio Architecture"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Flow:&lt;/strong&gt;&lt;br&gt;
Query → Intent Classification → Query Embedding (text-embedding-004) → Cosine Similarity Search (threshold ≥ 0.25) → Top Relevant Chunks with Source Metadata → &lt;strong&gt;Gemini 3 Flash&lt;/strong&gt; → Structured Response with citations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Design Decisions
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Retrieval before generation:&lt;/strong&gt; The AI never sees the entire portfolio. It only sees the content relevant to the question being asked.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intent-aware filtering:&lt;/strong&gt; Project questions prioritize project data. Contact questions do not pull unrelated background information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inspectable answers:&lt;/strong&gt; Every answer is grounded in a specific source. Readers can see exactly where information comes from instead of trusting opaque output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Precomputed embeddings:&lt;/strong&gt; Embeddings are generated at build time. Runtime work is limited to retrieval and generation, keeping latency and cost predictable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Graceful limits:&lt;/strong&gt; The demo runs on Gemini’s free tier. If usage limits are reached, the system transparently falls back to retrieved portfolio data and clearly indicates the change in behavior.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Next.js 16, TypeScript, Tailwind CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; Gemini 3 Flash (Google AI Studio)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embeddings:&lt;/strong&gt; text-embedding-004&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search:&lt;/strong&gt; Custom cosine similarity retrieval&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Animations:&lt;/strong&gt; Framer Motion, Three.js, Unicorn Studio WebGL&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UI built using open-source React components (including 21st.dev).&lt;/strong&gt; *&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment:&lt;/strong&gt; Google Cloud Run&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system is intentionally small.&lt;br&gt;
Every component exists for a reason.&lt;/p&gt;

&lt;h2&gt;
  
  
  About Me
&lt;/h2&gt;

&lt;p&gt;Hi, I’m &lt;strong&gt;Shivam Gawali&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I’m a student of Artificial Intelligence and Data Science with a strong interest in software engineering fundamentals and backend systems. I enjoy building small, complete systems and understanding how they behave under real constraints.&lt;/p&gt;

&lt;p&gt;I care about correctness, clarity, and making reasoning visible more than surface-level polish.&lt;/p&gt;

&lt;p&gt;This portfolio reflects how I think:&lt;br&gt;
&lt;strong&gt;focus on the question, reduce noise, and answer precisely.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;Portfolios are usually reviewed under severe time pressure.&lt;br&gt;
Scrolling rewards presentation.&lt;br&gt;
&lt;strong&gt;Search rewards understanding.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If we can search documentation to understand a system,&lt;br&gt;
we should be able to search a person’s work to understand how they think.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>portfolio</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
