<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[NoCoder Engineering]]></title><description><![CDATA[NoCoder Engineering]]></description><link>https://nocoder.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6a78bcdbf304c1e2e28faf1c/2f809a84-b489-48c2-92a1-b042e552688e.png</url><title>NoCoder Engineering</title><link>https://nocoder.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 11:25:54 GMT</lastBuildDate><atom:link href="https://nocoder.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[I recorded an AI building a booking app for a knife-sharpening van]]></title><description><![CDATA[A mobile knife-sharpening van needs something most booking tools don't do well: customers pick a street stop and a time slot, say how many knives (and…]]></description><link>https://nocoder.hashnode.dev/i-recorded-an-ai-building-a-booking-app-for-a-knife-sharpening-van</link><guid isPermaLink="true">https://nocoder.hashnode.dev/i-recorded-an-ai-building-a-booking-app-for-a-knife-sharpening-van</guid><category><![CDATA[AI]]></category><category><![CDATA[webdev]]></category><dc:creator><![CDATA[Mayank Rajput]]></dc:creator><pubDate>Fri, 06 Nov 2026 05:56:22 GMT</pubDate><content:encoded><![CDATA[<p><a class="embed-card" href="https://www.youtube.com/watch?v=h-4_G9yv-uU">https://www.youtube.com/watch?v=h-4_G9yv-uU</a></p>

<p>A mobile knife-sharpening van needs something most booking tools don't do well: customers pick a <strong>street stop</strong> and a <strong>time slot</strong>, say how many knives (and scissors) they're handing over, and get a <strong>ticket number</strong> they show at the van. The owner needs a page with the day's queue that strangers can't open.</p>
<p>I gave that description to NoCoder as one prompt and recorded the whole run. The 40-second cut above is real footage; the build part is sped up 30× and the booking part 2.6× (both marked on screen).</p>
<h2>What happened, step by step</h2>
<ol>
<li><strong>The prompt.</strong> Plain English: the business, the stops, the slots, the ticket, the owner page.</li>
<li><strong>A plan first.</strong> Before writing any code it laid out a plan for the app.</li>
<li><strong>Code, run.</strong> It wrote the app and the server that saves bookings, then started it. About 12 minutes from send to "Ready", 43 files changed.</li>
<li><strong>Checks before "done".</strong> This is the part I care about. It ran the type check and the production build, sent requests to the running app, and clicked through the booking flow in its own browser.</li>
<li><strong>The result.</strong> On a phone: pick Northgate Estates, 2:20 PM, four knives and a pair of scissors, get ticket #6. The owner's queue sits behind a sign-in.</li>
</ol>
<h2>What I'd want to know as a buyer</h2>
<ul>
<li><strong>Did it actually work, or did it just say so?</strong> Step 4 is the answer I trust: a real build, a real request to the running server, a real click-through. A summary saying "done" is a claim; those are observations.</li>
<li><strong>What's fake?</strong> Names and phone numbers in the demo are made up (the phone number is from the UK drama range).</li>
</ul>
<p>You can open the app and the exact prompt in the gallery and try your own: <a href="https://nocoder.codes/gallery/the-grinding-wheel?utm_source=hashnode&amp;utm_medium=article&amp;utm_campaign=knife-van-demo">nocoder.codes/gallery/the-grinding-wheel</a>.</p>
<p>What small business would you try this on?</p>
]]></content:encoded></item><item><title><![CDATA[Before you trust an AI-built booking site, test these 5 things]]></title><description><![CDATA[Five no-code checks for any AI-built booking app: bookings from two devices, double-booking the last slot, the owner page signed out, and more.]]></description><link>https://nocoder.hashnode.dev/before-you-trust-an-ai-built-booking-site-test-these-5-things</link><guid isPermaLink="true">https://nocoder.hashnode.dev/before-you-trust-an-ai-built-booking-site-test-these-5-things</guid><category><![CDATA[No Code]]></category><category><![CDATA[vibe coding]]></category><category><![CDATA[webdev]]></category><dc:creator><![CDATA[Mayank Rajput]]></dc:creator><pubDate>Thu, 05 Nov 2026 11:51:52 GMT</pubDate><content:encoded><![CDATA[<p>AI app builders can now make a booking site from one paragraph. A schedule, slot limits, a booking form and an owner page appear in about ten minutes. The preview looks finished.</p>
<p>Looking finished isn't the same as working for a real business, though. Below are the five checks I run on every AI-built booking app, including the ones we build ourselves. Each takes a couple of minutes, and you don't need to read any code.</p>
<h2>1. Book from two different devices</h2>
<p>This is the most common failure. Many AI builders make a frontend-only app that saves bookings in the visitor's browser (localStorage). In the preview it works perfectly: you book a slot and it shows up in the list.</p>
<p>Now book from your phone and look at the list on your laptop. If your phone's booking isn't there, every customer's booking is living on that customer's phone, and the owner's list will always be empty.</p>
<p><strong>What to ask for:</strong> "a full-stack app with a database, so bookings from every device land in one list."</p>
<h2>2. Try to take the last spot twice</h2>
<p>Set a slot to 1 place. Open the booking page in two browser windows and book that slot in both at the same moment.</p>
<p>If both bookings succeed, the slot limit is only checked in the browser. Real customers will double-book you. The limit has to be enforced on the server, inside the same database transaction that saves the booking.</p>
<h2>3. Open the owner page without signing in</h2>
<p>Copy the URL of the owner or admin page and open it in a private window. Then try the API behind it, if you can see one in the browser's network tab.</p>
<p>A "hidden" link isn't a login. The owner side should refuse you, both the page and the data behind it, until you sign in with a real password.</p>
<h2>4. Check what the customer keeps</h2>
<p>After booking, does the customer get anything: a booking code, a ticket number, a confirmation they can show at the door? If they close the tab, can they find their booking again?</p>
<p>If not, you'll get "did my booking go through?" messages all day.</p>
<h2>5. Change something without touching code</h2>
<p>Ask the builder to add a new time slot, change a price or rename a service. Then run checks 1 to 3 again.</p>
<p>AI builders often fix one thing and quietly break another. A change that removes the database or the sign-in is a common way a working app stops working.</p>
<h2>A real example, including what's still wrong</h2>
<p>Here is one we built with <a href="https://nocoder.codes/use-cases/booking-website?utm_source=hashnode&amp;utm_medium=article&amp;utm_campaign=booking-checks">NoCoder</a>, the AI app builder I work on. It came from a single prompt:</p>
<blockquote>
<p>I run a mobile knife sharpening van. I park at a different street stop each day of the week. Make a site where customers pick a stop and time slot, say how many knives (and if any are serrated or scissors), and get a pickup ticket number. I need an owner page showing the day's queue in order so I can tick knives off as done.</p>
</blockquote>
<p>It's a Next.js app with Prisma and database-backed API routes. Each stop has slots with a capacity limit, customers get a ticket number, and the owner signs in to work through the queue. Signed-out and wrong-password requests to the owner side are refused. It passes checks 1, 3 and 4. We haven't run check 2 (the double booking) on this build yet.</p>
<p>It isn't perfect, and the <a href="https://nocoder.codes/gallery/the-grinding-wheel?utm_source=hashnode&amp;utm_medium=article&amp;utm_campaign=booking-checks">gallery page</a> lists what's still wrong:</p>
<ul>
<li>switching stops can briefly show "van is not at this stop" until you pick the date again, because two requests race;</li>
<li>one panel says "Next show", a theatre word in a knife-sharpening app.</li>
</ul>
<p>That's the point of the checklist. Whatever tool you use, don't take "done" as evidence. Run the five checks before a real customer does.</p>
<hr />
<p><em>Disclosure: I'm on the NoCoder team. NoCoder's agent runs the build, sends a real request to the running app and clicks through it in its own browser before it says done. The checks above still apply to anything you build, with any tool.</em></p>
]]></content:encoded></item><item><title><![CDATA[What broke when we ran an AI coding agent on local Ollama models (including a 4GB GPU)]]></title><description><![CDATA[Running a multi-step coding agent on local Ollama: models that can't call tools, thinking mode vs tool calls, and why a 4GB GPU is a prefill problem.]]></description><link>https://nocoder.hashnode.dev/what-broke-when-we-ran-an-ai-coding-agent-on-local-ollama-models-including-a-4gb-gpu</link><guid isPermaLink="true">https://nocoder.hashnode.dev/what-broke-when-we-ran-an-ai-coding-agent-on-local-ollama-models-including-a-4gb-gpu</guid><category><![CDATA[ollama]]></category><category><![CDATA[llm]]></category><category><![CDATA[AI]]></category><category><![CDATA[ai agents]]></category><dc:creator><![CDATA[Mayank Rajput]]></dc:creator><pubDate>Thu, 05 Nov 2026 11:49:20 GMT</pubDate><content:encoded><![CDATA[<p>We build an AI app builder, and one feature we wanted was "bring your own Ollama": point the agent at your own models and pay nothing for tokens. Getting a chat answer out of a local model is easy. Getting a multi-step coding agent to work reliably is not. These are the things that broke for us, and what fixed them.</p>
<h2>1. "Coder" models that can't call tools</h2>
<p>The first surprise: <code>qwen2.5-coder</code> has no native tool calling in Ollama. It writes nice code in chat, but an agent needs it to call <code>read_file</code>, <code>write_file</code> and <code>run_command</code>, and it simply doesn't.</p>
<p>Of the models we tried, the Qwen3 family handled tool calls best. <code>llama3-groq-tool-use:8b</code> worked for one call and then fell back to plain text on the next turn, which kills a multi-step loop.</p>
<p><strong>Lesson:</strong> pick a model for tool calling first and coding second.</p>
<h2>2. Thinking mode fights tool calls</h2>
<p>Qwen3's thinking mode would reason at length and then fail to produce the tool call. Turning thinking off fixed it. For Qwen3 that meant appending <code>/nothink</code>; other models take a <code>think: false</code> API parameter.</p>
<h2>3. Tool calls that arrive as text</h2>
<p>Small models sometimes write the tool call as JSON inside a normal text reply instead of a structured tool call. We added a parser fallback for JSON blocks, <code>&lt;tool_call&gt;</code> tags and a few other formats.</p>
<p>Ollama also doesn't support <code>tool_choice: "required"</code>, only <code>"auto"</code>. So when the model replied with text only, we retried with a short nudge: "You must use a tool now."</p>
<h2>4. A 4GB GPU is mostly a prefill problem</h2>
<p>On a GTX 1050 with 4GB of VRAM, the model spills into system RAM and generates at roughly 4–10 tokens a second. That's slow but usable.</p>
<p>The real killer was prefill. A 3,000-token prompt took 30–60 seconds before the first token appeared. An agent sends a big prompt on every step, so the timeouts piled up.</p>
<p>What helped:</p>
<ul>
<li><strong>Compacting history without another model call.</strong> Older steps get replaced with a short structured summary: files read, files written, commands run, errors seen. Roughly 3,000 tokens became about 100.</li>
<li><strong>A "tiny model" mode.</strong> For very small models we drop retrieval context, the file tree and long instructions from the system prompt, and cap tool output at a few hundred characters.</li>
<li><strong>Fewer turns in memory.</strong> A tiny model gets the last 6 messages, not the whole conversation.</li>
</ul>
<h2>5. Cloud agent, local model</h2>
<p>If the agent runs in the cloud, it can't see <code>localhost:11434</code> on your laptop. You need a tunnel or a public address, and if it's public, a key in front of it. Ollama Cloud avoids that, since it's already reachable.</p>
<h2>What we'd tell anyone trying this</h2>
<ul>
<li>Test multi-turn tool calling, not single answers. Some models pass the first call and fail on the next.</li>
<li>Budget for prefill, not just tokens per second.</li>
<li>Expect the smallest models to chat fine and still fail full-stack builds. Use the biggest coding model your hardware or plan allows.</li>
</ul>
<hr />
<p><em>Disclosure: I work on <a href="https://nocoder.codes/features/bring-your-own-ollama?utm_source=hashnode&amp;utm_medium=article&amp;utm_campaign=ollama-lessons">NoCoder</a>, where you can connect your own Ollama server or Ollama Cloud key and build full-stack apps with it, including on the free plan. The lessons above apply to any agent you run on Ollama.</em></p>
]]></content:encoded></item></channel></rss>