<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Web app on Slidura</title><link>https://slidura.com/docs/web/</link><description>Recent content in Web app on Slidura</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://slidura.com/docs/web/index.xml" rel="self" type="application/rss+xml"/><item><title>The fill builder</title><link>https://slidura.com/docs/web/the-fill-builder/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://slidura.com/docs/web/the-fill-builder/</guid><description>&lt;h1 id="the-fill-builder"&gt;The fill builder&lt;/h1&gt;
&lt;p&gt;The fill builder is the editing surface for a &lt;code&gt;created&lt;/code&gt; build, reached at
&lt;code&gt;/builds/{id}&lt;/code&gt;. It is structured into three tabs: &lt;strong&gt;Assistant&lt;/strong&gt;, &lt;strong&gt;Slides&lt;/strong&gt;,
and &lt;strong&gt;Values&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="slide-thumbnails-and-field-locator"&gt;Slide thumbnails and field locator&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Slides&lt;/strong&gt; tab shows a thumbnail for each slide. When a PDF export was
uploaded with the template, each thumbnail is the real slide image with
filled values overlaid. If no PDF was uploaded, the fallback is a
server-rendered SVG mock (see below).&lt;/p&gt;</description></item><item><title>The build assistant</title><link>https://slidura.com/docs/web/the-build-assistant/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://slidura.com/docs/web/the-build-assistant/</guid><description>&lt;h1 id="the-build-assistant"&gt;The build assistant&lt;/h1&gt;
&lt;p&gt;The build assistant is an optional hosted chat available on the &lt;strong&gt;Assistant&lt;/strong&gt;
tab of a &lt;code&gt;created&lt;/code&gt; build. It helps you draft the working fill by reading the
template brief, searching your assets, and writing suggested values — using
the same draft-validation path as any external agent or API call.&lt;/p&gt;
&lt;div class="callout callout-note"&gt;
 &lt;span class="callout-icon"&gt;&lt;svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;circle cx="12" cy="12" r="10"/&gt;&lt;path d="M12 16v-4M12 8h.01"/&gt;&lt;/svg&gt;&lt;/span&gt;
 &lt;div class="callout-body"&gt;The assistant is server-side AI and requires &lt;code&gt;GOOGLE_API_KEY&lt;/code&gt; to be
configured on the Slidura instance you are using. If the tab is absent, the
assistant is not available on that instance.
 &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id="how-it-works"&gt;How it works&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You type a message on the Assistant tab — typically a brief description of
the deck you want (topic, audience, key points).&lt;/li&gt;
&lt;li&gt;The assistant reads the annotated catalog (the field names, descriptions,
and agent hints you set during annotation) and the current working fill,
then calls a read-only asset search tool to find relevant images, charts,
or other media from your library.&lt;/li&gt;
&lt;li&gt;It replies with a chat message and, when it has enough information, writes
a complete updated fill into the build. That fill goes through the same
draft validation as any other write — the assistant cannot bypass it.&lt;/li&gt;
&lt;li&gt;When the assistant needs more information it may ask &lt;strong&gt;structured
questions&lt;/strong&gt;, rendered as an inline answer form in the chat thread. Fill in
the answers and submit the form to continue.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="honest-caveats"&gt;Honest caveats&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;No streaming.&lt;/strong&gt; Each turn is a synchronous round-trip. Replies appear
after the full response is ready.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Conversations persist per build.&lt;/strong&gt; Closing the tab and returning later
resumes the same thread. Conversations are scoped to one build and are not
shared across builds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The human presses Build deck.&lt;/strong&gt; The assistant only edits the working fill;
it never starts the build engine. Review the Slides and Values tabs before
clicking &lt;em&gt;Build deck&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Server-side AI is opt-in.&lt;/strong&gt; Simply not using the Assistant tab sends no
data to the assistant&amp;rsquo;s model provider. The fill builder (Slides and Values
tabs) works entirely without it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rate-limited.&lt;/strong&gt; Turns are rate-limited per user to prevent runaway spend.
&lt;!-- TODO: verify exact rate limit value exposed to users --&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-underlying-model"&gt;The underlying model&lt;/h2&gt;
&lt;p&gt;The assistant uses Gemini (default &lt;code&gt;gemini-2.5-flash&lt;/code&gt;, configurable via
&lt;code&gt;ASSISTANT_MODEL&lt;/code&gt;). See
&lt;a href="https://github.com/slidura/slidura"&gt;specs/user-experience/assistant-spec-v1.md&lt;/a&gt;
for the full technical spec.&lt;/p&gt;</description></item></channel></rss>