<?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: Kartikey Tiwari</title>
    <description>The latest articles on DEV Community by Kartikey Tiwari (@ktiwari05).</description>
    <link>https://dev.to/ktiwari05</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4157234%2Fd203c38e-fb3c-47f5-87aa-6100f1616c1f.png</url>
      <title>DEV Community: Kartikey Tiwari</title>
      <link>https://dev.to/ktiwari05</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ktiwari05"/>
    <language>en</language>
    <item>
      <title>Quiet Catchup: catch up on the chat, then clock out</title>
      <dc:creator>Kartikey Tiwari</dc:creator>
      <pubDate>Wed, 21 Oct 2026 16:54:21 +0000</pubDate>
      <link>https://dev.to/ktiwari05/quiet-catchup-catch-up-on-the-chat-then-clock-out-54nk</link>
      <guid>https://dev.to/ktiwari05/quiet-catchup-catch-up-on-the-chat-then-clock-out-54nk</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;A group conversation starts with a rooftop lunch for twelve. A few messages later, it is a library lunch for ten. Someone has answered the question about cups, but nobody has checked the entrance ramp. Catching up means separating the final plan from the suggestions it replaced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quiet Catchup&lt;/strong&gt; makes a small, local reading workspace for that job. Paste messages, one per line, and Qwen3 4B produces two summary sentences, a few decisions, and the requests still open. Each item has buttons that open the original messages it cites.&lt;/p&gt;

&lt;p&gt;The intended user is someone returning to a busy group chat who wants a starting point before rereading everything. The app does not connect to a messaging account or monitor a conversation. You choose what to paste. You can edit the draft, remove weak items, check its references, and download a text file containing the draft and originals.&lt;/p&gt;

&lt;p&gt;The project was created from scratch on October 21, during this challenge window. It is separate from my earlier challenge projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/KTiwari05/quiet-catchup-hf26/blob/main/submission/demo/quiet-catchup-walkthrough.webm" rel="noopener noreferrer"&gt;Watch the 56-second silent browser walkthrough&lt;/a&gt;.&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8ghixq83aydax6lkjwya.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8ghixq83aydax6lkjwya.png" alt="Quiet Catchup with a fictional conversation ready to summarize" width="800" height="817"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The recording starts after a real local model reply. It shows opening a source reference, correcting overconfident wording, checking review, and downloading the result. Generation waiting is omitted. An unused gray recording margin was cropped; the application content and action timing were retained.&lt;/p&gt;

&lt;p&gt;This is a local application demo. It is not a hosted inference service. All conversations used in testing are fictional.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/KTiwari05/quiet-catchup-hf26" rel="noopener noreferrer"&gt;Source, setup instructions, tests, and verification evidence on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Install Python 3.11+ and Ollama, download &lt;code&gt;qwen3:4b&lt;/code&gt;, keep Ollama running, then run &lt;code&gt;python app.py&lt;/code&gt; and open the printed local address. There are no Python or JavaScript application packages to install. Application code is MIT licensed; model weights are installed separately.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The interface is plain HTML, CSS, and JavaScript. A Python standard-library server numbers the pasted message lines, then sends them to Ollama's local &lt;code&gt;/api/chat&lt;/code&gt; endpoint. The &lt;a href="https://docs.ollama.com/capabilities/structured-outputs" rel="noopener noreferrer"&gt;structured-output API&lt;/a&gt; constrains the reply to a JSON schema.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Pasted messages → numbered lines → local Qwen3 4B
                                → JSON and reference-ID checks
                                → editable draft beside original messages
                                → person reviews → text download
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The model does the central interpretation: which plan replaced another, which question has an answer, and what deserves space in a short digest. There is no canned digest if inference fails.&lt;/p&gt;

&lt;p&gt;The server checks the reply's structure, item counts, text lengths, and reference IDs. A citation to message 99 in a sixteen-message conversation is rejected. That check is deliberately narrow: an existing message can still be misread.&lt;/p&gt;

&lt;p&gt;Two DEV posts helped sharpen that boundary. &lt;a href="https://dev.to/ranknod/check-ai-citations-against-retrieved-source-ids-3hi8"&gt;Ranknod's “Check AI Citations Against Retrieved Source IDs”&lt;/a&gt; separates ID validity from claim support. &lt;a href="https://dev.to/enhanciar_ai_96a4ba4877e3/how-we-make-an-llm-cite-every-answer-down-to-fileline-and-check-the-citation-is-telling-the-truth-hmj"&gt;Enhanciar's “Your AI cited a real file. It still lied to you.”&lt;/a&gt; examines the gap between a real reference and a supported assertion. This implementation is independent; no code was copied from those posts.&lt;/p&gt;

&lt;p&gt;A live failure made the review step concrete. The source said, “I'll adjust the food quantities for 10.” The model wrote that the quantities were already adjusted. Its message references were real, so the structural checks passed.&lt;/p&gt;

&lt;p&gt;I added a prompt instruction to preserve future tense. A later browser run still made the same mistake. The demo therefore shows changing the wording to “plans to adjust,” rather than presenting the prompt change as a fix that guarantees correctness. The unedited reply, edited reply, and downloaded text are preserved in the repository.&lt;/p&gt;

&lt;p&gt;Thirteen automated tests passed, covering input and output boundaries, malformed and truncated replies, invalid references, HTTP behavior, and unavailable inference. Separate real-model checks preserved a changed meeting time and omitted an already-answered booking question. A disagreement example retained the unresolved time choice, but incorrectly placed “no agreement” under decisions. These are useful examples, not a general accuracy or security benchmark.&lt;/p&gt;

&lt;p&gt;Browser checks covered generation, source navigation and keyboard focus, editing, removal, review invalidation, downloads, and source changes clearing an old digest. Planner and result layouts fit a 375-pixel viewport without horizontal overflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://huggingface.co/Qwen/Qwen3-4B" rel="noopener noreferrer"&gt;Qwen3 4B's open weights&lt;/a&gt; perform the actual compression and interpretation. Ollama runs them on the same computer as the app. After downloading the software and weights, the inference path uses local endpoints and needs no paid model account.&lt;/p&gt;

&lt;p&gt;That is useful for a workflow involving personal messages: you can choose local processing without needing to host a model server elsewhere. The prompt, output contract, and application code are inspectable and changeable. A different local model can be configured, although only Qwen3 4B was tested.&lt;/p&gt;

&lt;p&gt;There is a tradeoff. CPU inference is slow on this computer, and open weights do not prevent misleading summaries. The app itself does not store conversations or log their text; exporting explicitly saves the draft and original messages. Browser, operating-system, and Ollama behavior are outside that application-level storage guarantee.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;Codex implemented and tested this project and prepared this article under my instruction to complete and submit the challenge. This article was authored and published autonomously with AI involvement disclosed. No public agent-session transcript is linked. The repository contains the verification record and fictional test fixtures instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lazy Payoff
&lt;/h2&gt;

&lt;p&gt;The first sixteen-message example contained 175 words. Its generated summary, decisions, and open requests contained 67 words in total. A later run produced 98 words from the same input. The intended payoff is fewer messages to scan before checking the relevant originals.&lt;/p&gt;

&lt;p&gt;Those numbers measure compression, not time saved. The first generation took &lt;strong&gt;149.23 seconds&lt;/strong&gt;; the later browser run took &lt;strong&gt;102.05 seconds&lt;/strong&gt;. Two shorter live checks took &lt;strong&gt;53.94&lt;/strong&gt; and &lt;strong&gt;33.27 seconds&lt;/strong&gt;. On this hardware, waiting can take longer than reading a short thread.&lt;/p&gt;

&lt;p&gt;I have not run a user study or measured a person's time savings. Quiet Catchup is a prototype for reducing repeated reading effort, with visible references and a review step. Whether that tradeoff helps on a particular conversation still needs testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;This submission enters the overall challenge. It uses Qwen and Ollama and does not claim a partner prize category.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Brief Ledger: turn client notes into a scope you can price</title>
      <dc:creator>Kartikey Tiwari</dc:creator>
      <pubDate>Thu, 15 Oct 2026 13:33:01 +0000</pubDate>
      <link>https://dev.to/ktiwari05/brief-ledger-turn-client-notes-into-a-scope-you-can-price-5h36</link>
      <guid>https://dev.to/ktiwari05/brief-ledger-turn-client-notes-into-a-scope-you-can-price-5h36</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;A client asks for a small website. Their message mixes pages, supplied assets,&lt;br&gt;
"maybe later" features, and a launch date that means something different to&lt;br&gt;
each person. Before pricing the project, a freelancer has to turn that message&lt;br&gt;
into a clear conversation about the work.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;Brief Ledger&lt;/strong&gt;, a local workspace for that step. Paste the original&lt;br&gt;
notes, draft a scope with Qwen3 4B, and read each task beside the exact words it&lt;br&gt;
came from. Edit the tasks, remove incorrect items, and change the clarification&lt;br&gt;
questions. Then enter your own hours and rate to download a draft estimate.&lt;/p&gt;

&lt;p&gt;The customer I have in mind is an independent web designer or developer who&lt;br&gt;
repeatedly prepares estimates from informal briefs. The business hypothesis is&lt;br&gt;
a paid setup and support service for a local quoting workflow: keep client&lt;br&gt;
notes on the freelancer's computer and reduce the repeated work of building a&lt;br&gt;
scope document. The code is MIT licensed. There is no payment system or paying&lt;br&gt;
customer in this prototype, and I have not validated willingness to pay.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/KTiwari05/brief-ledger-hf26/main/submission/demo/brief-ledger-demo.mp4" rel="noopener noreferrer"&gt;Watch or download the video walkthrough (MP4)&lt;/a&gt;.&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkik7oz54b946l40djevf.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkik7oz54b946l40djevf.jpg" alt="Brief Ledger shows source-linked scope items beside the original client notes" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The walkthrough uses a fictional bakery brief and a real local model reply.&lt;br&gt;
It is assembled from browser screenshots, with generation waiting omitted.&lt;br&gt;
The final browser run took &lt;strong&gt;48.31 seconds&lt;/strong&gt; to generate the scope on this&lt;br&gt;
computer. It found three pages plus the request for mobile support.&lt;/p&gt;

&lt;p&gt;I entered 4, 3, 2, and 3 hours, then a rate of INR 1,500 per hour. The server&lt;br&gt;
calculated INR 18,000.00. Those numbers are demonstration inputs, not a&lt;br&gt;
recommended market price. The downloaded text matched the on-screen draft.&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/KTiwari05/brief-ledger-hf26" rel="noopener noreferrer"&gt;Brief Ledger source on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository includes setup instructions, tests, real-model evidence, browser&lt;br&gt;
captures, and the demo. Run &lt;code&gt;ollama pull qwen3:4b&lt;/code&gt;, keep Ollama running, then run&lt;br&gt;
&lt;code&gt;python app.py&lt;/code&gt; and open the printed local address. Application runtime needs&lt;br&gt;
Python 3.11+ and Ollama, with no Python or JavaScript packages to install.&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The browser is plain HTML, CSS, and JavaScript. A small Python standard-library&lt;br&gt;
server calls Ollama's local chat endpoint with a JSON schema. Qwen3 4B extracts&lt;br&gt;
requested work, explicit exclusions, and questions the freelancer can ask.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client notes → local Qwen3 4B → JSON + source-quote validation
                                      ↓
                       Human reviews scope, hours, and rate
                                      ↓
                         Decimal calculation → text draft
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every task and exclusion must include a source quote found in the notes.&lt;br&gt;
Truncated output and unreadable JSON are rejected. There is an important limit:&lt;br&gt;
finding the quote does not establish that the model understood it or found&lt;br&gt;
every requirement. The review screen makes that distinction visible.&lt;/p&gt;

&lt;p&gt;Two DEV posts helped sharpen the boundary. &lt;a href="https://dev.to/vaynerov/building-an-ai-project-estimator-with-prices-the-model-cannot-invent-53o9"&gt;Edward Amirain's estimator&lt;br&gt;
write-up&lt;/a&gt;&lt;br&gt;
keeps price calculations outside the model, while &lt;a href="https://dev.to/michael_maurice/schema-valid-correct-4-checks-before-you-trust-llm-extraction-4n6f"&gt;Michael Maurice's extraction&lt;br&gt;
checklist&lt;/a&gt;&lt;br&gt;
explains why schema-valid data still needs evidence and ordinary business checks.&lt;br&gt;
Brief Ledger was implemented independently; no source code was copied from them.&lt;/p&gt;

&lt;p&gt;Here, the model returns no hours or rate. The freelancer enters both. The server&lt;br&gt;
uses decimal arithmetic, rounds each line to two places, and sums the rounded&lt;br&gt;
lines. It ignores totals supplied by the browser. Changing scope clears review;&lt;br&gt;
changing pricing hides the old estimate until it is recalculated.&lt;/p&gt;

&lt;p&gt;The first live bakery run exposed an omission: the model found the pages but&lt;br&gt;
missed mobile support. It also repeated the client's request for an estimate&lt;br&gt;
as a clarification question. I tightened the instructions and reran the same&lt;br&gt;
brief. The revised runs included mobile support and launch/newsletter questions.&lt;/p&gt;

&lt;p&gt;A more difficult test still failed semantically. Faced with conflicting&lt;br&gt;
instructions about online payments, the model made resolving that conflict a&lt;br&gt;
deliverable and also listed payments as excluded. It missed an explicit blog&lt;br&gt;
exclusion. The evidence quotes were present in the notes, so substring checks&lt;br&gt;
could not catch those mistakes. That output is preserved in the repository.&lt;br&gt;
This is why the app lets a person remove items and edit questions before export.&lt;/p&gt;

&lt;p&gt;Twelve automated tests passed. I also checked real replies for a photographer's&lt;br&gt;
brief, the edited review flow, quote invalidation, the downloaded text, and a&lt;br&gt;
375-pixel phone layout without horizontal overflow. The verification notes&lt;br&gt;
record the exact checks and limits. These examples are not a benchmark of&lt;br&gt;
general extraction accuracy or prompt-injection resistance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;The open-weight model does the central transformation from informal notes to&lt;br&gt;
structured scope. Ollama runs it on the same computer. Once the software and&lt;br&gt;
weights are downloaded, the inference path uses local endpoints and requires&lt;br&gt;
no paid model account. This app has no database, analytics, or cloud inference.&lt;br&gt;
It keeps the working draft in memory; exporting saves a text file.&lt;/p&gt;

&lt;p&gt;For this workflow, control over where client notes are processed is useful.&lt;br&gt;
The prompts and validation code can be inspected and changed, and the model&lt;br&gt;
configuration is replaceable, although only Qwen3 4B has been tested here.&lt;br&gt;
Qwen's weights are downloaded separately and retain their Apache 2.0 license.&lt;/p&gt;

&lt;p&gt;Local inference also has a cost: waiting on the available hardware and reviewing&lt;br&gt;
the output carefully. Open weights do not make an ambiguous request unambiguous.&lt;br&gt;
The goal is a traceable starting point for the freelancer's judgment.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;Codex implemented and tested this project and prepared this article under my&lt;br&gt;
instruction to complete the challenge. This submission was published&lt;br&gt;
autonomously with AI involvement disclosed. No public session transcript is&lt;br&gt;
linked. The repository contains the verification evidence instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;This entry is for the overall challenge. It uses Qwen and Ollama and does not&lt;br&gt;
claim a partner prize category.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Outside Quest: three steps, then put the screen away</title>
      <dc:creator>Kartikey Tiwari</dc:creator>
      <pubDate>Wed, 07 Oct 2026 16:01:22 +0000</pubDate>
      <link>https://dev.to/ktiwari05/outside-quest-three-steps-then-put-the-screen-away-4oea</link>
      <guid>https://dev.to/ktiwari05/outside-quest-three-steps-then-put-the-screen-away-4oea</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Outside Quest turns a small gap in the day into one outdoor observation activity.&lt;br&gt;
Choose 5, 10, or 20 minutes, select a park, neighborhood, or balcony, and decide&lt;br&gt;
whether to take a gentle stroll or stay in one spot. It generates three short&lt;br&gt;
steps and a question to think about afterwards.&lt;/p&gt;

&lt;p&gt;The starting point is deliberately ordinary. You do not need a trail, a species&lt;br&gt;
identification app, or a planned trip. A familiar outdoor space is enough. Balcony&lt;br&gt;
activities stay in one spot, so going outside does not have to mean going for a walk.&lt;/p&gt;

&lt;p&gt;The takeaway view removes the planner and leaves the activity. A text download&lt;br&gt;
lets you read it later without keeping the app open. There is no timer to watch,&lt;br&gt;
feed to scroll, or streak to maintain. The intended interaction is brief: choose,&lt;br&gt;
read, then put the screen away.&lt;/p&gt;

&lt;p&gt;I have not yet tested the activity outdoors or measured whether it changes anyone's&lt;br&gt;
screen time. The current evidence covers the software and local model workflow.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/KTiwari05/outside-quest-hf26/blob/master/submission/demo/outside-quest-walkthrough.webm" rel="noopener noreferrer"&gt;Watch the 22-second browser walkthrough&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The silent video shows a real generated activity, the takeaway view, and the text&lt;br&gt;
download. Generation happened before recording; that neighborhood reply took&lt;br&gt;
45.74 seconds. This is a local application demo, not a publicly hosted inference&lt;br&gt;
service. Setup instructions are in the repository.&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1l0xa8weqq587jz0ezko.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1l0xa8weqq587jz0ezko.png" alt="Outside Quest planner" width="800" height="588"&gt;&lt;/a&gt;&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcfqu0c31dpk1jvq222lp.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcfqu0c31dpk1jvq222lp.png" alt="Takeaway view with a generated outdoor activity" width="800" height="604"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/KTiwari05/outside-quest-hf26" rel="noopener noreferrer"&gt;Outside Quest source code and setup instructions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The application code is MIT licensed. Model weights are installed separately and&lt;br&gt;
retain their upstream license.&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;React and Vite provide the planner and activity card. A FastAPI endpoint sends&lt;br&gt;
the selections to Qwen3 4B through Ollama's local chat API. A JSON schema asks&lt;br&gt;
the model for a title, invitation, exactly three steps, and a reflection question.&lt;br&gt;
Pydantic validates the reply before it reaches the interface.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Time + surroundings + pace -&amp;gt; FastAPI -&amp;gt; Ollama / Qwen3 4B
                                      -&amp;gt; Three steps -&amp;gt; Takeaway view / text
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The open-weight model creates the actual activity. A failed call produces a&lt;br&gt;
retry message, rather than a canned answer presented as generated output.&lt;/p&gt;

&lt;p&gt;Live checking mattered. An early balcony response asked what a bird's sound&lt;br&gt;
revealed about its mood. That was speculative, so I changed the prompt to focus&lt;br&gt;
on directly observable details and the person's own experience. Another activity&lt;br&gt;
assumed a friend was present; the prompt now explicitly asks for a solo activity.&lt;br&gt;
These instructions are requests, not a guarantee that every generated activity&lt;br&gt;
will be suitable.&lt;/p&gt;

&lt;p&gt;The implementation stays small: no accounts, storage, location tracking, route&lt;br&gt;
data, agents, or paid inference API. The model does not know nearby places or&lt;br&gt;
current weather. The application runs locally; its text export is the portable&lt;br&gt;
part of the experience.&lt;/p&gt;

&lt;p&gt;Nine backend tests passed. They cover valid requests, invalid selections, connection&lt;br&gt;
failures, timeouts, missing models, malformed replies, truncation, and a Qwen&lt;br&gt;
reasoning prefix. The production frontend build passes. Verification notes in&lt;br&gt;
the repository separate real generation checks from mocked failure checks. Final&lt;br&gt;
park and balcony API checks took 27.23 and 17.53 seconds; the neighborhood browser&lt;br&gt;
reply shown in the walkthrough took 45.74 seconds. Mobile planner and takeaway&lt;br&gt;
views fit a 375-pixel screen without horizontal overflow, and the downloaded text&lt;br&gt;
matched the displayed activity even with browser networking disabled.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Qwen3 4B is central to the workflow, and Ollama runs it on this computer. Once&lt;br&gt;
the dependencies and weights are downloaded, the inference path uses local&lt;br&gt;
endpoints. It does not require a paid model account or send these selections&lt;br&gt;
to a hosted model provider.&lt;/p&gt;

&lt;p&gt;I can inspect and change the prompts and output schema, reproduce a weak&lt;br&gt;
reply, and test the next version. A different model can be configured, though&lt;br&gt;
only Qwen3 4B has been checked here. The tradeoff is response latency and output&lt;br&gt;
quality on local hardware. Open weights do not automatically make a reply accurate&lt;br&gt;
or an activity appropriate.&lt;/p&gt;

&lt;p&gt;The text file makes the last part independent of the AI runtime. Once you have&lt;br&gt;
the activity, you can close the app and take it with you.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;Codex assisted with implementation, live model checks, browser verification, and&lt;br&gt;
preparing this submission. No public agent session is linked.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;I am entering the overall challenge. This version uses Qwen and Ollama; it does&lt;br&gt;
not claim a partner prize category.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Interview Buddy: understand the concept, then find your words</title>
      <dc:creator>Kartikey Tiwari</dc:creator>
      <pubDate>Sun, 04 Oct 2026 17:22:59 +0000</pubDate>
      <link>https://dev.to/ktiwari05/interview-buddy-understand-the-concept-then-find-your-words-55fo</link>
      <guid>https://dev.to/ktiwari05/interview-buddy-understand-the-concept-then-find-your-words-55fo</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built this for my friend Raj, who is preparing for Java backend developer interviews.&lt;br&gt;
The practice target is medium difficulty. I chose a small starting point: refreshing&lt;br&gt;
backend concepts and turning an explanation into words he can rehearse aloud.&lt;br&gt;
This is one part of that preparation, not a complete Java backend interview curriculum.&lt;/p&gt;

&lt;p&gt;I built Interview Buddy, a local companion for practising Java backend interview concepts.&lt;br&gt;
It takes one question and explains it four ways: a clear explanation, a simpler&lt;br&gt;
analogy, a small example, and a concise interview answer. The aim is to help someone&lt;br&gt;
move from recognising a concept to explaining it without looking at the screen.&lt;/p&gt;

&lt;p&gt;I used public Indian developer discussions to sharpen the design. A&lt;br&gt;
&lt;a href="https://www.reddit.com/r/developersIndia/comments/1wqvi58/backend_ai_in_2026_what_should_i_actually_prepare/" rel="noopener noreferrer"&gt;September 26 post&lt;/a&gt;&lt;br&gt;
described uncertainty about dividing time between DSA, backend fundamentals, and AI.&lt;br&gt;
A &lt;a href="https://www.reddit.com/r/developersIndia/comments/1w71odp/as_an_interviewer_what_are_you_expecting_from_a/" rel="noopener noreferrer"&gt;September 4 post&lt;/a&gt;&lt;br&gt;
described understanding AI-written code while struggling to write independently.&lt;br&gt;
These are individual accounts, not a survey of hiring practices. They helped me&lt;br&gt;
choose starter questions and keep the workflow focused on understanding.&lt;/p&gt;

&lt;p&gt;The interface offers starting points for databases, Spring Boot constructor injection,&lt;br&gt;
design tradeoffs, Java HashMap,&lt;br&gt;
and project decisions. After each answer, it asks the learner to look away and say&lt;br&gt;
the idea in their own words. Switching modes keeps the question fixed, so the&lt;br&gt;
learner can connect the explanation to an example and then to an interview response.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/KTiwari05/interview-buddy-hf26/main/submission/demo/interview-buddy-demo.mp4" rel="noopener noreferrer"&gt;Watch or download the video walkthrough (MP4)&lt;/a&gt;.&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv1lzdnksds32vndbf55i.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv1lzdnksds32vndbf55i.jpg" alt="Interview Buddy interface with Java and Spring Boot starters" width="729" height="1823"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The 60-second walkthrough uses a database-indexing question in the four modes,&lt;br&gt;
then shows a Java HashMap example. It uses real local Qwen replies. Generation waiting time is edited&lt;br&gt;
out; measured timings are visible in the app and recorded in the evidence notes.&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/KTiwari05/interview-buddy-hf26" rel="noopener noreferrer"&gt;Interview Buddy source on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The application code is MIT licensed. Qwen3 4B model weights are not bundled with&lt;br&gt;
the project and retain their Apache 2.0 license.&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The frontend uses React and Vite. A FastAPI endpoint selects an instruction for the&lt;br&gt;
requested mode and calls Qwen3 4B through Ollama's local chat API using httpx.&lt;br&gt;
React Markdown renders explanations and code blocks without enabling raw HTML.&lt;br&gt;
The prompts target medium difficulty Java backend practice, and code examples&lt;br&gt;
default to Java or SQL. The application server itself is written in Python.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Question + mode → React → FastAPI → Ollama → Qwen3 4B
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I kept the implementation small: no account system, database, RAG, agents, or paid&lt;br&gt;
model API. Questions and replies stay in browser memory; the app does not save&lt;br&gt;
conversations. Choosing another mode sends the original question with a different&lt;br&gt;
instruction rather than pretending to maintain a long conversation.&lt;/p&gt;

&lt;p&gt;One live check exposed a detail I would have missed with mocks alone. Qwen returned&lt;br&gt;
a reasoning prefix despite thinking being disabled. I added Qwen's &lt;code&gt;/no_think&lt;/code&gt;&lt;br&gt;
instruction and removed a remaining prefix before displaying the final answer,&lt;br&gt;
then added a regression test. A later check hit the response token limit, so I&lt;br&gt;
shortened the instructions and increased the generation budget. Slow inference is&lt;br&gt;
still a limitation on this computer.&lt;/p&gt;

&lt;p&gt;Seven backend tests passed, and the production frontend build completed. I checked&lt;br&gt;
all four modes with real Qwen replies both through the API and in the browser.&lt;br&gt;
I also checked blank input, starter-question resets, and a 375-pixel phone layout&lt;br&gt;
without horizontal overflow. The captured browser replies took approximately&lt;br&gt;
66–223 seconds on this computer. I ran one generated SQL indexing example in&lt;br&gt;
SQLite and confirmed its query plan used the index; that does not validate every&lt;br&gt;
answer the model might generate. The repository's verification notes preserve&lt;br&gt;
the scope of these checks.&lt;/p&gt;

&lt;p&gt;After aligning the prompts and starters with Java backend preparation, I reran the&lt;br&gt;
tests and build. A real Java HashMap snippet generated in 82.17 seconds, compiled,&lt;br&gt;
and returned the expected word counts. A broader full-program request hit the&lt;br&gt;
answer limit; the interface displayed the error and recovered on a focused snippet&lt;br&gt;
request. This version works best with one concrete concept or small example at a time.&lt;/p&gt;

&lt;p&gt;I have not measured whether the app improves interview outcomes. Friend feedback&lt;br&gt;
is also pending. This version gives a focused practice workflow; its explanations&lt;br&gt;
can still contain errors and should be checked against technical documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Qwen3 4B does the core work: each explanation is generated by an open-weight model&lt;br&gt;
running through Ollama on this computer. Once dependencies and weights are&lt;br&gt;
downloaded, the inference path uses local endpoints and does not require a paid&lt;br&gt;
model account or send the question to a hosted model provider.&lt;/p&gt;

&lt;p&gt;I can inspect and change the prompts, reproduce a bad reply, and change the model&lt;br&gt;
configuration. I tested Qwen3 4B; other models are not yet verified. This gives me&lt;br&gt;
control over the learning workflow, with a clear tradeoff: local hardware limits&lt;br&gt;
response speed and the model's answers still need scrutiny.&lt;/p&gt;

&lt;p&gt;The benefit is control over where inference runs and how explanations are requested.&lt;br&gt;
I am not claiming that this small model is more accurate than a closed model.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;Codex helped review the brief, research public discussions, implement the app,&lt;br&gt;
run checks, and prepare this post. I reviewed the results before publication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;I am entering the overall challenge. This implementation uses Qwen and Ollama;&lt;br&gt;
I am not claiming any partner prize category.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
