<?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: Aleksandr Kubarskii</title>
    <description>The latest articles on DEV Community by Aleksandr Kubarskii (@__89569).</description>
    <link>https://dev.to/__89569</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%2F2821002%2F48d9a028-4c3c-4cb0-b4ed-54aa742134d4.png</url>
      <title>DEV Community: Aleksandr Kubarskii</title>
      <link>https://dev.to/__89569</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/__89569"/>
    <language>en</language>
    <item>
      <title>Building Inquir Compute: Serverless Functions for AI Agents, Background Jobs, and Long-Running Workflows</title>
      <dc:creator>Aleksandr Kubarskii</dc:creator>
      <pubDate>Fri, 15 May 2026 14:07:22 +0000</pubDate>
      <link>https://dev.to/__89569/building-inquir-compute-serverless-functions-for-ai-agents-background-jobs-and-long-running-1bgo</link>
      <guid>https://dev.to/__89569/building-inquir-compute-serverless-functions-for-ai-agents-background-jobs-and-long-running-1bgo</guid>
      <description>&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%2Fwmylhewowvs6dl8471nx.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%2Fwmylhewowvs6dl8471nx.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most serverless platforms are great when your function is small, stateless, and finishes quickly.&lt;/p&gt;

&lt;p&gt;But modern AI applications often do not look like that.&lt;/p&gt;

&lt;p&gt;They need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;run background jobs&lt;/li&gt;
&lt;li&gt;process files&lt;/li&gt;
&lt;li&gt;call LLMs&lt;/li&gt;
&lt;li&gt;execute multi-step pipelines&lt;/li&gt;
&lt;li&gt;expose API endpoints&lt;/li&gt;
&lt;li&gt;handle webhooks&lt;/li&gt;
&lt;li&gt;run scheduled tasks&lt;/li&gt;
&lt;li&gt;keep containers warm&lt;/li&gt;
&lt;li&gt;preserve logs and traces&lt;/li&gt;
&lt;li&gt;avoid Kubernetes complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is the problem I am working on with &lt;a href="https://inquir.org" rel="noopener noreferrer"&gt;Inquir Compute&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Inquir Compute is an AI-first Function-as-a-Service platform designed for developers who want to deploy functions, API endpoints, cron jobs, webhooks, and background workflows without managing Kubernetes, containers, ingress, scaling logic, or infrastructure boilerplate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I started building it
&lt;/h2&gt;

&lt;p&gt;I originally worked on Inquir as a search-as-a-service product.&lt;/p&gt;

&lt;p&gt;The idea was simple: help developers build search engines over different data sources.&lt;/p&gt;

&lt;p&gt;But while building ingestion pipelines, I noticed something interesting.&lt;/p&gt;

&lt;p&gt;A lot of the hard parts were not just about search.&lt;/p&gt;

&lt;p&gt;They were about compute.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fetch data from external APIs&lt;/li&gt;
&lt;li&gt;normalize and enrich documents&lt;/li&gt;
&lt;li&gt;split content into chunks&lt;/li&gt;
&lt;li&gt;call AI models&lt;/li&gt;
&lt;li&gt;index the result&lt;/li&gt;
&lt;li&gt;retry failed steps&lt;/li&gt;
&lt;li&gt;run jobs on a schedule&lt;/li&gt;
&lt;li&gt;expose parts of the workflow through HTTP APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At some point, the ingestion pipeline itself became the most interesting part of the system.&lt;/p&gt;

&lt;p&gt;That was the pivot.&lt;/p&gt;

&lt;p&gt;Inquir Compute was born from the idea that AI applications need a simpler way to run server-side logic.&lt;/p&gt;

&lt;p&gt;Not just short-lived functions.&lt;/p&gt;

&lt;p&gt;But real workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with traditional serverless
&lt;/h2&gt;

&lt;p&gt;AWS Lambda, Vercel Functions, Cloudflare Workers, and similar platforms are powerful.&lt;/p&gt;

&lt;p&gt;But when you build AI-heavy systems, you quickly hit limitations.&lt;/p&gt;

&lt;p&gt;Some common issues:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Timeouts
&lt;/h3&gt;

&lt;p&gt;AI workflows are not always fast.&lt;/p&gt;

&lt;p&gt;A function may need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;process a large document&lt;/li&gt;
&lt;li&gt;call multiple LLM APIs&lt;/li&gt;
&lt;li&gt;wait for an external service&lt;/li&gt;
&lt;li&gt;crawl a website&lt;/li&gt;
&lt;li&gt;transform data&lt;/li&gt;
&lt;li&gt;execute several dependent steps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Short execution limits become painful very quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Cold starts
&lt;/h3&gt;

&lt;p&gt;For many APIs, cold starts are acceptable.&lt;/p&gt;

&lt;p&gt;For AI agents and interactive workflows, they are not always acceptable.&lt;/p&gt;

&lt;p&gt;If a user is waiting for an agent to respond, container startup time matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Background jobs are awkward
&lt;/h3&gt;

&lt;p&gt;A lot of platforms are optimized for request-response functions.&lt;/p&gt;

&lt;p&gt;But real products need background work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;send emails&lt;/li&gt;
&lt;li&gt;process uploads&lt;/li&gt;
&lt;li&gt;generate reports&lt;/li&gt;
&lt;li&gt;sync data&lt;/li&gt;
&lt;li&gt;update embeddings&lt;/li&gt;
&lt;li&gt;call webhooks&lt;/li&gt;
&lt;li&gt;clean old records&lt;/li&gt;
&lt;li&gt;run scheduled tasks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Developers often end up connecting several services together just to run a job reliably.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Kubernetes is too much for small teams
&lt;/h3&gt;

&lt;p&gt;Kubernetes is powerful, but it is also a lot of operational overhead.&lt;/p&gt;

&lt;p&gt;For many indie hackers, startups, and small engineering teams, the ideal experience is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I write a function, deploy it, expose it as an API, schedule it, and see logs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I configure deployments, services, ingress, secrets, volumes, autoscaling, observability, and routing manually.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What Inquir Compute does
&lt;/h2&gt;

&lt;p&gt;Inquir Compute is a serverless compute platform focused on developer experience.&lt;/p&gt;

&lt;p&gt;The core idea is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Write backend logic as functions and run them as APIs, cron jobs, webhooks, background tasks, or pipeline steps.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A function can be used in different ways.&lt;/p&gt;

&lt;p&gt;For example, the same function could be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;exposed as an HTTP endpoint&lt;/li&gt;
&lt;li&gt;triggered by a cron schedule&lt;/li&gt;
&lt;li&gt;called inside a pipeline&lt;/li&gt;
&lt;li&gt;used as a webhook handler&lt;/li&gt;
&lt;li&gt;executed manually from the dashboard&lt;/li&gt;
&lt;li&gt;used by an AI agent&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Example: a simple function
&lt;/h2&gt;

&lt;p&gt;A function can be as simple as this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;handler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;queryStringParameters&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;developer&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;statusCode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`Hello, &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;!`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then it can be mapped to an API route like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET /hello
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And called from the outside:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://your-domain.com/api/gw/workspace/hello?name&lt;span class="o"&gt;=&lt;/span&gt;Alex
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The goal is to make deployment feel closer to writing application logic, not managing infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  API endpoints
&lt;/h2&gt;

&lt;p&gt;Inquir Compute includes an API Gateway-like layer.&lt;/p&gt;

&lt;p&gt;That means functions can be mapped to routes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET /users/:id
POST /webhooks/stripe
POST /agent/chat
GET /reports/:reportId
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The function receives an event object similar to common serverless platforms:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;handler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;userId&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pathParameters&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;statusCode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;User profile loaded&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes it possible to build small APIs without setting up a traditional backend server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cron jobs
&lt;/h2&gt;

&lt;p&gt;AI and data applications often need scheduled execution.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;run a daily sync&lt;/li&gt;
&lt;li&gt;update search indexes&lt;/li&gt;
&lt;li&gt;refresh cached data&lt;/li&gt;
&lt;li&gt;send scheduled reports&lt;/li&gt;
&lt;li&gt;check external APIs&lt;/li&gt;
&lt;li&gt;run cleanup jobs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With Inquir Compute, the goal is to make cron a first-class concept.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;0 2 * * *
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This could trigger a function every day at 2 AM.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;handler&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Running nightly sync&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="c1"&gt;// Fetch data&lt;/span&gt;
  &lt;span class="c1"&gt;// Transform it&lt;/span&gt;
  &lt;span class="c1"&gt;// Store it&lt;/span&gt;
  &lt;span class="c1"&gt;// Send report&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;statusCode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Webhooks
&lt;/h2&gt;

&lt;p&gt;Webhooks are another common use case.&lt;/p&gt;

&lt;p&gt;You may want to receive events from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stripe&lt;/li&gt;
&lt;li&gt;GitHub&lt;/li&gt;
&lt;li&gt;Telegram&lt;/li&gt;
&lt;li&gt;Slack&lt;/li&gt;
&lt;li&gt;Notion&lt;/li&gt;
&lt;li&gt;custom internal systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of running a full server just to receive webhook events, you can deploy a function:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;handler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Webhook received:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;statusCode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;received&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then expose it as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;POST /webhooks/github
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Pipelines
&lt;/h2&gt;

&lt;p&gt;One of the most important concepts in Inquir Compute is the pipeline.&lt;/p&gt;

&lt;p&gt;AI workflows are rarely a single function.&lt;/p&gt;

&lt;p&gt;They are usually a chain of steps:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Fetch data
→ Clean data
→ Chunk content
→ Generate embeddings
→ Store result
→ Notify user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Receive user request
→ Call LLM
→ Search knowledge base
→ Call another tool
→ Generate response
→ Save trace
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A pipeline can be sequential or parallel.&lt;/p&gt;

&lt;p&gt;Some steps may depend on previous steps.&lt;/p&gt;

&lt;p&gt;Some steps may need retries.&lt;/p&gt;

&lt;p&gt;Some may have conditions.&lt;/p&gt;

&lt;p&gt;The long-term goal is to make these workflows easy to build and observe.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hot containers
&lt;/h2&gt;

&lt;p&gt;A major design idea behind Inquir Compute is keeping containers warm.&lt;/p&gt;

&lt;p&gt;Instead of always starting a new container for each invocation, Inquir Compute can keep function containers available for reuse.&lt;/p&gt;

&lt;p&gt;This is especially useful for AI workloads where startup time can be expensive.&lt;/p&gt;

&lt;p&gt;For example, a function may need to load:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an SDK&lt;/li&gt;
&lt;li&gt;a model client&lt;/li&gt;
&lt;li&gt;configuration&lt;/li&gt;
&lt;li&gt;cached data&lt;/li&gt;
&lt;li&gt;dependencies&lt;/li&gt;
&lt;li&gt;initialization logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keeping containers warm can improve the developer and user experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Observability by default
&lt;/h2&gt;

&lt;p&gt;Serverless is only useful if you can understand what happened.&lt;/p&gt;

&lt;p&gt;For each function or pipeline run, you need visibility into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;logs&lt;/li&gt;
&lt;li&gt;execution time&lt;/li&gt;
&lt;li&gt;errors&lt;/li&gt;
&lt;li&gt;input/output&lt;/li&gt;
&lt;li&gt;failed steps&lt;/li&gt;
&lt;li&gt;retries&lt;/li&gt;
&lt;li&gt;traces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inquir Compute is designed with built-in observability so developers do not need to wire everything manually from day one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why not just use Kubernetes?
&lt;/h2&gt;

&lt;p&gt;You can absolutely build something like this on Kubernetes.&lt;/p&gt;

&lt;p&gt;In fact, under the hood, many platforms eventually need container orchestration concepts.&lt;/p&gt;

&lt;p&gt;But most developers do not want to start there.&lt;/p&gt;

&lt;p&gt;For many projects, Kubernetes is too low-level.&lt;/p&gt;

&lt;p&gt;You need to think about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;deployments&lt;/li&gt;
&lt;li&gt;services&lt;/li&gt;
&lt;li&gt;ingress&lt;/li&gt;
&lt;li&gt;autoscaling&lt;/li&gt;
&lt;li&gt;secrets&lt;/li&gt;
&lt;li&gt;namespaces&lt;/li&gt;
&lt;li&gt;persistent volumes&lt;/li&gt;
&lt;li&gt;container lifecycle&lt;/li&gt;
&lt;li&gt;monitoring&lt;/li&gt;
&lt;li&gt;networking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inquir Compute tries to hide most of that behind a simpler abstraction:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Function → Route → Job → Pipeline → Logs&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The developer should focus on application logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who is it for?
&lt;/h2&gt;

&lt;p&gt;Inquir Compute is mainly for developers building:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI agents&lt;/li&gt;
&lt;li&gt;internal tools&lt;/li&gt;
&lt;li&gt;SaaS backends&lt;/li&gt;
&lt;li&gt;data pipelines&lt;/li&gt;
&lt;li&gt;webhook-based systems&lt;/li&gt;
&lt;li&gt;scheduled jobs&lt;/li&gt;
&lt;li&gt;API endpoints&lt;/li&gt;
&lt;li&gt;automation workflows&lt;/li&gt;
&lt;li&gt;document processing systems&lt;/li&gt;
&lt;li&gt;search and RAG pipelines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is especially useful when you want serverless simplicity but need more flexibility for long-running or background workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example use case: AI content pipeline
&lt;/h2&gt;

&lt;p&gt;Imagine you want to build an AI content pipeline.&lt;/p&gt;

&lt;p&gt;The workflow could look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Read topic from database
2. Generate article outline
3. Generate draft
4. Improve SEO
5. Generate social post
6. Save result
7. Send notification
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each step can be a separate function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;generateOutline&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;topic&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="c1"&gt;// Call LLM here&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;outline&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Introduction&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Problem&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Solution&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Example&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Conclusion&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then another function can generate the article.&lt;/p&gt;

&lt;p&gt;Another one can create a LinkedIn post.&lt;/p&gt;

&lt;p&gt;Another one can publish or schedule the result.&lt;/p&gt;

&lt;p&gt;This is the kind of workflow that does not always fit well into classic request-response serverless functions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bigger vision
&lt;/h2&gt;

&lt;p&gt;I think AI applications need a new kind of backend platform.&lt;/p&gt;

&lt;p&gt;Not just hosting.&lt;/p&gt;

&lt;p&gt;Not just functions.&lt;/p&gt;

&lt;p&gt;Not just containers.&lt;/p&gt;

&lt;p&gt;But a compute layer designed around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;agents&lt;/li&gt;
&lt;li&gt;tools&lt;/li&gt;
&lt;li&gt;workflows&lt;/li&gt;
&lt;li&gt;long-running tasks&lt;/li&gt;
&lt;li&gt;scheduled jobs&lt;/li&gt;
&lt;li&gt;API routes&lt;/li&gt;
&lt;li&gt;observability&lt;/li&gt;
&lt;li&gt;developer experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is what I am trying to build with Inquir Compute.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current status
&lt;/h2&gt;

&lt;p&gt;Inquir Compute is still evolving, but the core direction is clear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;deploy functions from the browser&lt;/li&gt;
&lt;li&gt;expose functions as API endpoints&lt;/li&gt;
&lt;li&gt;run background jobs&lt;/li&gt;
&lt;li&gt;run cron jobs&lt;/li&gt;
&lt;li&gt;build pipelines&lt;/li&gt;
&lt;li&gt;keep containers warm&lt;/li&gt;
&lt;li&gt;provide logs and traces&lt;/li&gt;
&lt;li&gt;reduce infrastructure overhead&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to replace every cloud platform.&lt;/p&gt;

&lt;p&gt;The goal is to make it much easier to build and run AI-first backend logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;Serverless made backend deployment much simpler.&lt;/p&gt;

&lt;p&gt;But AI applications are changing what backend workloads look like.&lt;/p&gt;

&lt;p&gt;They are longer-running.&lt;/p&gt;

&lt;p&gt;They are more stateful.&lt;/p&gt;

&lt;p&gt;They depend on external APIs.&lt;/p&gt;

&lt;p&gt;They need background execution.&lt;/p&gt;

&lt;p&gt;They need orchestration.&lt;/p&gt;

&lt;p&gt;They need visibility.&lt;/p&gt;

&lt;p&gt;And they should not require every developer to become a Kubernetes expert.&lt;/p&gt;

&lt;p&gt;That is why I am building Inquir Compute.&lt;/p&gt;

&lt;p&gt;If you are building AI agents, automation workflows, data pipelines, or serverless backends, I would love to hear what problems you are running into.&lt;/p&gt;

&lt;p&gt;In case you like it, I will share more insights on technical solutions I came up to.&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>ai</category>
      <category>node</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
