<?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: sonu0702</title>
    <description>The latest articles on DEV Community by sonu0702 (@sonu0702).</description>
    <link>https://dev.to/sonu0702</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%2F786941%2F6237f0f5-b7af-4e79-96b9-7c31de1e6a29.png</url>
      <title>DEV Community: sonu0702</title>
      <link>https://dev.to/sonu0702</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sonu0702"/>
    <language>en</language>
    <item>
      <title>Momentloom: Let the right video find you</title>
      <dc:creator>sonu0702</dc:creator>
      <pubDate>Sat, 24 Oct 2026 08:40:30 +0000</pubDate>
      <link>https://dev.to/sonu0702/momentloom-let-the-right-video-find-you-1jje</link>
      <guid>https://dev.to/sonu0702/momentloom-let-the-right-video-find-you-1jje</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;p&gt;Every Short starts with a small question: which video is worth my time?&lt;/p&gt;

&lt;p&gt;One long YouTube video can hide a dozen good moments, or none. Finding out means searching, opening tabs, skipping around, and only then starting the edit. After that come the crop, captions, hook, title, and description. Do it once and it is manageable. Do it for every video, every week, and the setup becomes its own job.&lt;/p&gt;

&lt;p&gt;I wanted to move that work into the background. Momentloom starts before the editing timeline: it looks for source videos, prepares possible clips, and leaves me with the decision that still needs a person, what is worth sharing.&lt;/p&gt;

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

&lt;p&gt;Momentloom is a local-first app that finds promising YouTube videos and turns their strongest moments into Shorts that are ready for review and posting.&lt;/p&gt;

&lt;p&gt;The workflow can start with a topic or keyword. Momentloom gathers YouTube candidates, adds trend context where available, and ranks the results with an explainable Hype score. It helps prioritize candidates; it is not a probability estimate of virality. Searches can be saved and scheduled with a cron expression, country, language, and video-length filters. With Auto-shorts enabled, a schedule can send its top eligible result into the clip queue while another video is being processed.&lt;/p&gt;

&lt;p&gt;For each source video, Momentloom transcribes the speech, looks for distinct moments that can stand on their own, and makes clips under 60 seconds. The number of clips depends on the moments it finds, rather than a fixed count. It can also choose a framing treatment for one face, two speakers, or a screencast, then burn in word-level captions in one of 17 styles.&lt;/p&gt;

&lt;p&gt;Each clip comes with a spoken-word hook, a YouTube title, and descriptions for sharing. Momentloom prepares the package; a person still chooses what to post. It does not publish directly to a channel.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://youtu.be/hvM2OxrV054" rel="noopener noreferrer"&gt;Watch Momentloom find videos and prepare Shorts&lt;/a&gt;&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/hvM2OxrV054" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/sonu0702/momentloom/" rel="noopener noreferrer"&gt;Explore Momentloom on GitHub&lt;/a&gt;&lt;br&gt;
&lt;/p&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/sonu0702" rel="noopener noreferrer"&gt;
        sonu0702
      &lt;/a&gt; / &lt;a href="https://github.com/sonu0702/momentloom" rel="noopener noreferrer"&gt;
        momentloom
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Reward your laziness: Momentloom automatically searches YouTube for trending videos by topic or keyword, turns standout moments into ready-to-post Shorts, and repeats on your schedule. Come back to finished clips with captions, hooks, titles, and descriptions ready for your channel.
    &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;Momentloom&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Reward your laziness: Momentloom automatically searches YouTube for trending videos by topic or keyword, turns standout moments into ready-to-post Shorts, and repeats on your schedule. Come back to finished clips with captions, hooks, titles, and descriptions ready for your channel.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/sonu0702/momentloom/docs/images/07-auto-shorts-user-flow.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fsonu0702%2Fmomentloom%2FHEAD%2Fdocs%2Fimages%2F07-auto-shorts-user-flow.svg" alt="Momentloom automatic shorts flow: scheduled YouTube search, video selection, clip generation, and a ready-to-review library"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/sonu0702/momentloom/docs/07-auto-shorts-user-flow.excalidraw" rel="noopener noreferrer"&gt;View or edit the Excalidraw source&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Create clips from a public YouTube video or an uploaded video.&lt;/li&gt;
&lt;li&gt;Find a variable number of distinct moments, each under 60 seconds.&lt;/li&gt;
&lt;li&gt;Reframe automatically for one face, two speakers, or a screencast.&lt;/li&gt;
&lt;li&gt;Add a spoken-word hook and choose from 17 caption styles.&lt;/li&gt;
&lt;li&gt;Search YouTube, rank Hype results, and schedule searches that can queue videos for clipping.&lt;/li&gt;
&lt;li&gt;Keep job history, videos, transcripts, and clips in a persistent local data folder.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Quick Start&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Requirements&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Docker Desktop&lt;/li&gt;
&lt;li&gt;Ollama for Gemma-assisted moment selection and visual framing (optional)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Model setup&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Gemma is optional. To use the default model, start Ollama and download it:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;ollama pull gemma4:e4b&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/sonu0702/momentloom" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
To run it locally, clone the repository, copy &lt;code&gt;.env.example&lt;/code&gt; to &lt;code&gt;.env&lt;/code&gt;, and start the Docker Compose app:&lt;br&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/sonu0702/momentloom.git
&lt;span class="nb"&gt;cd &lt;/span&gt;momentloom
&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env
docker compose up &lt;span class="nt"&gt;--build&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open &lt;a href="http://localhost:8001" rel="noopener noreferrer"&gt;http://localhost:8001&lt;/a&gt;. The README includes the cmd for creating &lt;code&gt;.env&lt;/code&gt; and explains the optional local model setup.&lt;/p&gt;

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

&lt;p&gt;The app is one repository with a React and Vite frontend and a Python FastAPI backend. Docker Compose runs the app alongside OpenSERP, which supplies related web results for discovery. SQLite keeps job state, search snapshots, schedules, and clip metadata. Large source videos and rendered clips stay in files on the user's computer, so rebuilding the Docker image does not erase them.&lt;/p&gt;

&lt;p&gt;For discovery, OpenSERP provides trend context and PyYtSearch expands relevant phrases into YouTube candidates. A Python ranker combines the available signals into the Hype score. Search and clip ranking are separate: the Hype score ranks candidate videos; the clip pipeline estimates which moments in a selected video are worth cutting.&lt;/p&gt;

&lt;p&gt;For clip creation, yt-dlp obtains a public YouTube source when needed, FFprobe reads its media properties, and faster-whisper transcribes speech locally with word-level timestamps. Gemma can suggest a visual layout, score transcript windows, propose clip boundaries, and draft titles, descriptions, and hooks. Python validates the response, aligns boundaries to words, removes duplicate moments, and enforces the under-60-second limit. OpenCV and MediaPipe handle local face tracking for reframing. FFmpeg renders the clips and libass burns in the timed captions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemma&lt;/strong&gt; is served through Ollama's OpenAI-compatible API. The endpoint and model are configurable:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LLM_BASE_URL=http://host.docker.internal:11434/v1
LLM_MODEL=gemma4:e4b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If Gemma is unavailable or returns unusable output, Momentloom falls back to local transcript heuristics and safe framing defaults. The app still runs; the model improves the editorial suggestions rather than becoming a single point of failure.&lt;/p&gt;

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

&lt;p&gt;This workflow touches a lot of media, and the judgment calls are personal. I want to be able to choose which model helps make them, where it runs, and what happens when it is unavailable.&lt;/p&gt;

&lt;p&gt;Using an open-weight model through Ollama makes local inference a practical option. The model setting can be changed without rebuilding the product around one provider. The pipeline is also inspectable: Gemma suggests moments and copy, while ordinary Python code validates clip boundaries, applies the length limit, and calculates the separate Hype ranking. That division makes it easier to understand what the model decided and what the application enforces.&lt;/p&gt;

&lt;p&gt;Open innovation made it possible to build an end-to-end tool around a model I can run and configure myself, while keeping the fallback path usable. The result is not a black box that declares something viral. It is a repeatable assistant that finds candidates, prepares edits, and leaves the final choice with me.&lt;/p&gt;

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

&lt;p&gt;I do not have measured before-and-after hours to claim, so I will not invent a time-saved number. The payoff is in the repeated steps Momentloom can take off my hands: search on a schedule, keep the results, queue an eligible video, and return to clips with captions and posting copy already prepared.&lt;/p&gt;

&lt;p&gt;That is the kind of laziness I wanted to reward. I still make the taste call. I just do not have to begin every time by doing all the same setup work again.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma&lt;/strong&gt; — Gemma helps analyze transcript windows and propose clip boundaries and publishing copy, with local fallbacks when the model cannot help.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>GST Helper: a local-first GSTR-1 preparation assistant</title>
      <dc:creator>sonu0702</dc:creator>
      <pubDate>Sun, 18 Oct 2026 05:04:23 +0000</pubDate>
      <link>https://dev.to/sonu0702/gst-helper-a-local-first-gstr-1-preparation-assistant-15fn</link>
      <guid>https://dev.to/sonu0702/gst-helper-a-local-first-gstr-1-preparation-assistant-15fn</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;I built GST Helper, a local-first AI workspace that helps a small business prepare selected GSTR-1 values from sales invoice PDFs.&lt;/p&gt;

&lt;p&gt;The demo company is BharatBiz, a fictional small business based in Bengaluru. The user starts by loading outward-sales invoice PDFs. GST Helper reads the invoices, extracts values, shows page evidence, and turns the documents into a guided GSTR-1 review flow.&lt;/p&gt;

&lt;p&gt;The current app prepares these GSTR-1 sections:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Table 4A regular domestic B2B invoices&lt;/li&gt;
&lt;li&gt;Table 12 B2B HSN/SAC summary&lt;/li&gt;
&lt;li&gt;Table 13 document numbers issued&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It shows the invoice value including tax, taxable value, IGST, CGST, SGST or UTGST, cess, total tax, and invoice count for the supported B2B scope. It also creates a reference PDF tied to the saved review revision, so the user can inspect the same values before downloading the file.&lt;/p&gt;

&lt;p&gt;The problem is simple: small business owners and bookkeepers often do this first pass manually. They read invoice PDFs, copy values into spreadsheets, check invoice numbers, and then use those figures while working in the GST Portal. That work is slow, error-prone, and full of accounting language that is not friendly to a non-expert.&lt;/p&gt;

&lt;p&gt;GST Helper is meant for a small business owner, bookkeeper, or accountant who wants a faster way to prepare and review the numbers before portal entry. The paid version could charge for private local workflows, more GST sections, accountant review packs, and better import and export support.&lt;/p&gt;

&lt;p&gt;The app does not file a return, connect to the GST Portal, or claim that the whole GSTR-1 return is complete. Other GSTR-1 sections must be handled separately. That boundary is visible in the product because tax software needs trust more than magic.&lt;/p&gt;

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

&lt;p&gt;Video demo: &lt;a href="https://youtu.be/RFq9whXetRg" rel="noopener noreferrer"&gt;https://youtu.be/RFq9whXetRg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/RFq9whXetRg" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;br&gt;
The demo shows the full BharatBiz flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Load sample sales invoice PDFs.&lt;/li&gt;
&lt;li&gt;Confirm the seller GSTIN, tax period, and turnover band.&lt;/li&gt;
&lt;li&gt;Review invoice fields with page evidence.&lt;/li&gt;
&lt;li&gt;Save the reviewed values.&lt;/li&gt;
&lt;li&gt;Inspect the Table 4A totals.&lt;/li&gt;
&lt;li&gt;Generate a verified reference PDF.&lt;/li&gt;
&lt;li&gt;Use the review chat beside the final PDF.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;



&lt;p&gt;Repository: &lt;a href="https://github.com/sonu0702/pgst" rel="noopener noreferrer"&gt;https://github.com/sonu0702/pgst&lt;/a&gt;&lt;/p&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/sonu0702" rel="noopener noreferrer"&gt;
        sonu0702
      &lt;/a&gt; / &lt;a href="https://github.com/sonu0702/pgst" rel="noopener noreferrer"&gt;
        pgst
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &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;GST Helper&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;GST Helper is a local-first GSTR-1 preparation app for BharatBiz, a fictional small business based in Bengaluru. It turns outward-sales invoice PDFs into reviewed values, a clear summary for the supported GSTR-1 sections, and a reference PDF the user can inspect before downloading.&lt;/p&gt;
&lt;p&gt;This release prepares only regular B2B invoices in Table 4A, the B2B HSN/SAC summary in Table 12, and documents issued in Table 13. It does &lt;strong&gt;not&lt;/strong&gt; prepare a complete GSTR-1 return, connect to the GST Portal, submit or file a return, or decide GST treatment. Other applicable GSTR-1 sections must be prepared separately. The GST Portal accepts a JSON workflow through its offline tool, but the portal still validates the account and return when the user uses that file.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What the app does&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Starts with outward-sales PDFs, then suggests seller GSTIN and tax period with page evidence before asking for return details.&lt;/li&gt;
&lt;li&gt;Shows observed invoice-number…&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/sonu0702/pgst" 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;The app is a single repository with a React frontend and a FastAPI backend.&lt;/p&gt;

&lt;p&gt;Tech stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: React, TypeScript, Vite&lt;/li&gt;
&lt;li&gt;Backend: Python, FastAPI&lt;/li&gt;
&lt;li&gt;Local AI: Ollama with Gemma 4&lt;/li&gt;
&lt;li&gt;PDF processing: Python PDF extraction with optional local OCR support&lt;/li&gt;
&lt;li&gt;Export artifacts: reference PDF and supported-section JSON&lt;/li&gt;
&lt;li&gt;Storage: no database in this prototype. Reviews live in temporary process memory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The user flow starts with source documents, not a chatbot. That choice matters. Invoices are the source of truth, so the app first reads the PDFs and creates a review workspace from them.&lt;/p&gt;

&lt;p&gt;The backend extracts invoice fields and line items, keeps compact evidence snippets, and builds a temporary GSTR-1 review case. The frontend lets the user inspect and edit each value. When the user saves, the backend runs local checks for the supported sections and returns readiness results.&lt;/p&gt;

&lt;p&gt;Gemma 4 is used through Ollama for a narrow review task. It can answer questions about values already in the review or prepare a proposed edit from invoice evidence or from a value the user states. It cannot decide tax treatment, calculate GST, approve filing, or submit anything.&lt;/p&gt;

&lt;p&gt;The user stays in control:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The model proposes changes.&lt;/li&gt;
&lt;li&gt;The user applies the proposal.&lt;/li&gt;
&lt;li&gt;The user reviews the form.&lt;/li&gt;
&lt;li&gt;The user saves the revision.&lt;/li&gt;
&lt;li&gt;The user regenerates the PDF if anything changed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The reference PDF is tied to the saved revision. The app renders the PDF back in the browser and verifies the expected content before the user downloads it.&lt;/p&gt;

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

&lt;p&gt;Open innovation matters here because tax preparation needs transparency, local control, and the ability to inspect the workflow.&lt;/p&gt;

&lt;p&gt;A closed hosted API can produce a polished answer, but that is not enough for this use case. A small business owner needs to know where a number came from and what the app did with the source document. GST Helper keeps the review path visible: invoice evidence, editable fields, saved revision, local checks, and a reference PDF.&lt;/p&gt;

&lt;p&gt;Open-weight local AI also changes the privacy story. In this prototype, Gemma 4 runs locally through Ollama. The app does not need to send invoice details to a hosted model API. That made it possible to build an AI-assisted review flow that still respects sensitive business documents.&lt;/p&gt;

&lt;p&gt;Open-source tools also made the project practical for a hackathon:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FastAPI made the backend small and inspectable.&lt;/li&gt;
&lt;li&gt;React and Vite made the review UI fast to iterate.&lt;/li&gt;
&lt;li&gt;Ollama made local Gemma 4 setup approachable.&lt;/li&gt;
&lt;li&gt;Python PDF tooling made extraction and reference PDF generation possible without building a document pipeline from scratch.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project is not trying to replace a tax professional or the GST Portal. It is trying to make the preparation step clearer, safer, and more reviewable.&lt;/p&gt;

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

&lt;p&gt;I used Codex as an AI coding agent throughout the build. The agent helped with product scoping, GSTR-1 flow design, FastAPI and React implementation, sample invoice generation, UI polish, PDF review, and the demo walkthrough.&lt;/p&gt;

&lt;p&gt;The most useful part was not code generation alone. The agent helped keep the product narrow. Whenever the app started to look like a generic invoice-review demo, I pushed it back toward one clear filing workflow: GSTR-1 preparation from sales invoices.&lt;/p&gt;

&lt;p&gt;That made the final project stronger. It has a specific user, a specific filing task, a clear supported scope, and visible review boundaries.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://dev.to/challenges/hf26#best-use-of-gemma"&gt;gemma&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Team
&lt;/h2&gt;

&lt;p&gt;This is a team submission. Published by &lt;a class="mentioned-user" href="https://dev.to/sonu0702"&gt;@sonu0702&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Teammates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a class="mentioned-user" href="https://dev.to/chandan_sharma"&gt;@chandan_sharma&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a class="mentioned-user" href="https://dev.to/satendra_sharma_dfd851553"&gt;@satendra_sharma_dfd851553&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Use Copilot CLI to increase developer productivity</title>
      <dc:creator>sonu0702</dc:creator>
      <pubDate>Thu, 12 Feb 2026 12:06:42 +0000</pubDate>
      <link>https://dev.to/sonu0702/use-copilot-cli-to-increase-developer-productivity-5207</link>
      <guid>https://dev.to/sonu0702/use-copilot-cli-to-increase-developer-productivity-5207</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I used Copilot CLI and Copilot SDK to create a CLI application 🖥️ called DevScope.&lt;br&gt;
DevScope is a macOS-first, privacy-focused CLI tool that helps developers understand how they actually spend their time across applications, terminal commands, and browser activity.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;



&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/uXkkpHWSfWo" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Github code - &lt;a href="https://github.com/sonu0702/devscope" rel="noopener noreferrer"&gt;https://github.com/sonu0702/devscope&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;h3&gt;
  
  
  😌 The Problem
&lt;/h3&gt;

&lt;p&gt;Developers generate a lot of activity data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;App usage&lt;/li&gt;
&lt;li&gt;Terminal commands&lt;/li&gt;
&lt;li&gt;Browser research&lt;/li&gt;
&lt;li&gt;Commits and tooling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But raw metrics do not answer higher-level questions about &lt;strong&gt;focus, intent, or progress&lt;/strong&gt;. Existing tools either:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focus on generic screen time&lt;/li&gt;
&lt;li&gt;Hide logic behind opaque dashboards&lt;/li&gt;
&lt;li&gt;Or do not integrate with developer workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DevScope is designed to live in the terminal, stay transparent and explainable, and treat Copilot as a thinking partner instead of just autocomplete.&lt;/p&gt;

&lt;p&gt;🚀 GitHub Copilot is used in two distinct ways:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;During development&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Writing macOS automation scripts&lt;/li&gt;
&lt;li&gt;Parsing Chrome history&lt;/li&gt;
&lt;li&gt;Designing CLI workflows&lt;/li&gt;
&lt;li&gt;Refactoring collectors and reports&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;At runtime (Copilot SDK)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Acting as a reasoning agent&lt;/li&gt;
&lt;li&gt;Summarizing and interpreting developer activity&lt;/li&gt;
&lt;li&gt;Providing goal-aware insights directly in the terminal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This project demonstrates how Copilot can be both a developer tool and a product feature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why an Agent?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Raw metrics like “time spent” or “commands used” do not answer higher-level questions such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Was I actually focused today?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Did my work align with my goals?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;What kind of development work did I do?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To solve this, DevScope is designed to integrate the &lt;strong&gt;GitHub Copilot SDK&lt;/strong&gt; as a reasoning layer on top of locally collected activity data.&lt;/p&gt;

&lt;p&gt;This application is in initial stage everyone is welcome to contribute with Idea or code.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>A low maintenance Portfolio</title>
      <dc:creator>sonu0702</dc:creator>
      <pubDate>Sat, 24 Jan 2026 15:05:14 +0000</pubDate>
      <link>https://dev.to/sonu0702/a-low-maintenance-portfolio-1m9h</link>
      <guid>https://dev.to/sonu0702/a-low-maintenance-portfolio-1m9h</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/new-year-new-you-google-ai-2025-12-31"&gt;New Year, New You Portfolio Challenge Presented by Google AI&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  About Me
&lt;/h2&gt;

&lt;p&gt;Hey guys I am a software engineer. I am a sort of minimalist. I have build my portfolio app several times but it kind of gets lost once I am done with building phase. I have tried to build a portfolio that do not feel like a work to keep it upto date.&lt;/p&gt;

&lt;h2&gt;
  
  
  Portfolio
&lt;/h2&gt;


&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe width="100%" height="600px" src="https://sonu-sharma-portfolio-130877156926.us-west1.run.app"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;


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

&lt;p&gt;I used &lt;a href="https://aistudio.google.com/?utm_source=partner&amp;amp;utm_medium=partner&amp;amp;utm_campaign=FY25-Global-DEVpartnership-challenge1-AIS&amp;amp;utm_content=-&amp;amp;utm_term=-" rel="noopener noreferrer"&gt;AI Studio&lt;/a&gt; and built it using Google's Gemini models - Gemini 3 to be specific and deployed it on Cloud Run. Google AI tools makes very convenient to do multiple iteration and this is very important since I get bored with UI/UX of portfolio very easily so I think this is best thing that has happened to me, I can keep on updating the portfolio design, UX depending on my mood. And one click deployment is cherry on cake!&lt;br&gt;
Tech stack wise the backend I can say it is github. I am fetching the data from my personal github repo, Since it is easy to maintain the data on github, just press '.' your portfolio data is ready to be updated, just change and update.&lt;br&gt;
I like to write blogs (not frequently) but I wanted a centralised system for all my blogs. So in my portfolio The Articles are dynamic they are fetched from my github repo as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm Most Proud Of
&lt;/h2&gt;

&lt;p&gt;Most proud of fact that I have achieved a sense of ease to update UI/UX using AI studio when ever I want since earlier it used feel like a chore a small feature development lifecycle. I have also made sure that this time my portfolio has dynamic content that can be changed from the github repo. &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>portfolio</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
