October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk4 min

How Harun Built a 92KB AI Mentor Frontend Without a Build Step

Harun’s 92KB HTML file is the frontend of a larger AI app. See why he chose vanilla JavaScript, how streaming needs careful parsing, and what his reported stack and cost figures actually mean.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Harun says he built KODA, an AI coding mentor, with a single 92-kilobyte HTML frontend and no frontend build step. That figure describes the client-side file—not the whole app. The project also uses hosted services and a separate backend, and its choices reflect one practical constraint: Harun was coding on a phone.

What the 92KB figure includes

In his October 2026 DEV Community post, Harun describes the frontend as one index.html file containing HTML, CSS, and vanilla JavaScript. He reports approximately 500 lines of CSS, 200 lines of static HTML, and 1,400 lines of JavaScript. Elsewhere in the post, he calls the app about 1,900 lines of JavaScript; he does not explain the difference between that figure and the breakdown.

As an Amazon Associate I earn from qualifying purchases.

The 92KB figure is Harun’s reported size for the frontend. It does not mean that the AI model, authentication, database, or server-side logic is packed into that file. Nor does it establish a measured loading-speed advantage over a framework-based version: the post offers no such comparison.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How the rest of KODA is put together

Harun describes KODA as an AI coding mentor that streams replies, reads images, exports conversations, supports authentication, and applies an 11-article safety framework. His reported stack separates the browser interface from the services that power the app:

Part Harun’s reported choice Role described in the post
Frontend Single HTML file with vanilla JavaScript and CSS Interface and browser-side behavior
Static hosting Netlify Serves the frontend
Backend logic Cloudflare Worker Prompt screening, model selection, and response streaming
Database and authentication Supabase Data and user sign-in
Language model Groq Generates mentor responses
Optional web search Tavily Searches the web when needed

These are the integrations Harun reports, not an independent verification of the services or their configuration. “No build step” applies to his frontend workflow; it does not mean the product has no backend, deployment pipeline, or hosted dependencies.

Why he chose vanilla JavaScript

Harun says he was coding on a phone and found a local Node-based toolchain difficult to run there. Keeping the frontend in one file and relying on browser APIs suited that constraint. He says the app uses two main rendering functions—one for messages and one for the conversation list—and redraws the relevant interface when state changes.

That is a project-specific tradeoff, not evidence that React or another framework is unnecessary. A compact, self-contained file may suit a small interface or a constrained development setup. As features and contributors grow, keeping rendering, state, and event handling organized can become harder. The post does not compare frameworks, maintenance effort, bundle size, or performance, so it cannot establish which approach is best for another project.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What the streaming example gets right—and leaves out

The post illustrates streaming with fetch(), res.body.getReader(), and decoded chunks. That shows the basic browser mechanism, but the short example processes incoming chunks directly. Network chunks are arbitrary pieces of data: they may split a server-sent event line or even a multibyte character. Treating each chunk as a complete JSON message can therefore fail.

A commenter raised this boundary problem. Harun replied that the production approach should buffer data until complete lines are available and use TextDecoder with {"stream":true} so text decoding can span chunks. He said he planned to implement that correction. The distinction matters: the posted snippet demonstrates the idea of reading a stream, but it should not be taken as a complete, robust parser.

What the safety claims do—and do not—show

Harun says the Worker screens for toxic prompts, including encoded inputs, selects a model chain, adds a system prompt, can run Tavily searches, and streams responses with citations. He also describes an 11-article “constitutional” framework. These are features he says he implemented; the post does not provide code, a threat model, test methodology, evaluation results, or an independent security review.

That evidence is not enough to establish how well the controls resist prompt attacks or other misuse. A system prompt and input screening may be parts of an application’s design, but their presence alone does not demonstrate effective protection. Treat the safety description as an account of intended behavior, not a verified security guarantee.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How to interpret the reported zero-dollar cost

Harun reports a total cost of zero dollars per month for the listed services in his setup at publication. The post does not specify usage, quotas, a pricing-check date, or whether the free tiers cover the app’s deployment and inference needs. It is therefore not a current price quote or a promise that a similar app will remain free.

For a project of your own, check the providers’ current limits and terms against expected traffic, model usage, storage, and search volume. “Free” at one scale may not mean free at another.

What to take from Harun’s build

  • Match the stack to the constraint. A phone-first workflow was central to Harun’s choice, so the setup may be most relevant to developers facing a similar toolchain limitation.
  • Keep the system boundary clear. A small single-file frontend can still depend on separate services for model access, authentication, data, and backend logic.
  • Make streaming parsers boundary-aware. Buffer partial records and decode incrementally rather than assuming one network chunk equals one complete message.
  • Separate a feature claim from evidence of safety. The described screening and prompt framework are not independently validated in the post.
  • Evaluate maintainability for your own app. The article reports one implementation, not a tested comparison with frameworks or other architectures.

Harun’s closing phrase—“92 kilobytes. zero dependencies. zero excuses.”—captures the appeal of the build. Read it as his project’s slogan, not a claim that the full AI application has no external dependencies: the reported architecture relies on several hosted services.

Harun’s DEV Community post includes a try-it invitation at koda-aicodementor.netlify.app.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.