<?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: Jerita D</title>
    <description>The latest articles on DEV Community by Jerita D (@jaycx20).</description>
    <link>https://dev.to/jaycx20</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%2F4158822%2Fcb3b0df3-0875-497e-ad16-6f6dbc4cdb4c.jpg</url>
      <title>DEV Community: Jerita D</title>
      <link>https://dev.to/jaycx20</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jaycx20"/>
    <language>en</language>
    <item>
      <title>Hacktoberfest Weekend Challenge</title>
      <dc:creator>Jerita D</dc:creator>
      <pubDate>Sat, 03 Oct 2026 09:58:40 +0000</pubDate>
      <link>https://dev.to/jaycx20/hacktoberfest-weekend-challenge-1h8h</link>
      <guid>https://dev.to/jaycx20/hacktoberfest-weekend-challenge-1h8h</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;One Liner is a one-page web app that turns long, over-the-top posts into a single line saying what they actually mean. Paste in a rambling announcement, a humble-brag or a motivational essay, click the button, and get the gist. No extra information.&lt;/p&gt;

&lt;p&gt;I built it for my friend who wanted to start using social media for job searches, etc. Most of the long posts he ran into on professional social feeds took a few hundred words to say one thing, like "I got a new job" or "please comment so I can message you". He wanted to get the point in a second and only read the full post when it's worth the time.&lt;/p&gt;

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


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://oneliner-ten.vercel.app/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;oneliner-ten.vercel.app&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&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%2Fnv28m0ek79xej3e7hgaf.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%2Fnv28m0ek79xej3e7hgaf.png" alt="Screenshot of how my app works" width="800" height="839"&gt;&lt;/a&gt;&lt;/p&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Jeri20" rel="noopener noreferrer"&gt;
        Jeri20
      &lt;/a&gt; / &lt;a href="https://github.com/Jeri20/One_Liner" rel="noopener noreferrer"&gt;
        One_Liner
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Codes for Hacktoberfest 2026 Oct 5 challenge
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;One-Liner&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Paste a long, "humbled and honored" LinkedIn post. Get the one-line truth.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://oneliner-ten.vercel.app/" rel="nofollow noopener noreferrer"&gt;https://oneliner-ten.vercel.app/&lt;/a&gt;&lt;/p&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/93329012/664604266-cf1d5c3d-efd4-4ce1-835e-45b080093bc1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTEwMjE4MjIsIm5iZiI6MTc5MTAyMTUyMiwicGF0aCI6Ii85MzMyOTAxMi82NjQ2MDQyNjYtY2YxZDVjM2QtZWZkNC00Y2UxLTgzNWUtNDViMDgwMDkzYmMxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjEwMDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYxMDAzVDA5NTg0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYwYjRjODI2MjFiMjY3MDQ0NzFlYTkzNzQ2NDVkNDBiNDRmNDFjMDJiZGZiYTJlMGNlMzc1MjUyMTI2NzM0ZDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.2QaP0n4r6OZLc_YwRvGqpeODXl3Vs-9-F54YxkvdJhk"&gt;&lt;img width="846" height="887" alt="image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F93329012%2F664604266-cf1d5c3d-efd4-4ce1-835e-45b080093bc1.png%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTEwMjE4MjIsIm5iZiI6MTc5MTAyMTUyMiwicGF0aCI6Ii85MzMyOTAxMi82NjQ2MDQyNjYtY2YxZDVjM2QtZWZkNC00Y2UxLTgzNWUtNDViMDgwMDkzYmMxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjEwMDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYxMDAzVDA5NTg0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYwYjRjODI2MjFiMjY3MDQ0NzFlYTkzNzQ2NDVkNDBiNDRmNDFjMDJiZGZiYTJlMGNlMzc1MjUyMTI2NzM0ZDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.2QaP0n4r6OZLc_YwRvGqpeODXl3Vs-9-F54YxkvdJhk" class="js-gh-image-fallback"&gt;&lt;/a&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What it does&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;You paste a post like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;After 7 incredible years, I'm humbled and honored to share that I've decided to embark on a new chapter. This journey taught me so much about leadership and resilience. Grateful to everyone who believed in me. Stay tuned! #newbeginnings&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You get one short line back, something like:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Quit their job.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That's the whole app: one page, one job, no extra information.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why I built it&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why open source matters here&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Private by default.&lt;/strong&gt; The model runs on your own device, so nothing you paste is sent anywhere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free to run and host.&lt;/strong&gt; There's no per-request bill and no API key. The whole app is one static HTML file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swappable models.&lt;/strong&gt; The dropdown switches between Qwen 2.5 1.5B, Llama 3.2 1B and Llama 3.2 3B. Adding…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Jeri20/One_Liner" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;It's a single index.html file with no backend.&lt;/p&gt;

&lt;p&gt;Model: open-weight models run inside the browser with WebLLM, which uses WebGPU. The default is Qwen 2.5 1.5B Instruct. Llama 3.2 1B and 3B are in a dropdown, so I can compare them on the same posts.&lt;br&gt;
Prompt: a system prompt asks for exactly one sentence under 20 words. It is paired with four worked examples (long post in, one-liner out), because small models follow a pattern far better when they are shown it.&lt;br&gt;
Cleanup: a small function keeps only the first line and first sentence, and strips labels or quote marks the model sometimes adds. That way the output is always one line.&lt;br&gt;
Hosting: a static file on Vercel. There is no server and no API key.&lt;br&gt;
Resilience: the AI library loads from three CDNs in turn, so one blocked source doesn't break the page.&lt;/p&gt;

&lt;p&gt;What went wrong along the way: my first version showed a blank page when the library failed to load, and then the model download failed with "Failed to fetch". I had been testing inside a preview pane that blocks those downloads. So I added a Check connection button that tests each download step and shows which one fails, plus a warning when the page is opened in a preview. I also used Claude as a coding assistant for scaffolding and debugging.&lt;/p&gt;

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

&lt;p&gt;I paste all sorts of text into a tool like this, and I don't want every post, draft or message I read going to someone else's server. With an open-weight model running in the browser, none of it leaves my device. A closed API would send every post to a third party, along with an API key and a bill.&lt;/p&gt;

&lt;p&gt;Open also made these things possible:&lt;/p&gt;

&lt;p&gt;It costs nothing to run. There is no per-request fee and no backend to pay for.&lt;br&gt;
Models are swappable. Changing the model is a one-line edit, so I could compare a 1B and a 3B model.&lt;br&gt;
Behaviour is editable. The prompt and the worked examples live in a config block at the top of the file. If it misreads a style of post, I add an example. No retraining is needed.&lt;/p&gt;

&lt;p&gt;The honest trade-off: a small model is less accurate than a big hosted one, it can miss sarcasm, and the first load is a large download. For a task as small as "boil this down to one line," I think that trade is worth it.&lt;/p&gt;

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