<?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: Nikunj R. Prajapati</title>
    <description>The latest articles on DEV Community by Nikunj R. Prajapati (@leo1612d).</description>
    <link>https://dev.to/leo1612d</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%2F534944%2Fc86aef85-791a-406b-be36-d5e91945530a.jpeg</url>
      <title>DEV Community: Nikunj R. Prajapati</title>
      <link>https://dev.to/leo1612d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/leo1612d"/>
    <language>en</language>
    <item>
      <title>OFFSCREEN: A Local Gemma-Powered Planner for Spending Less Time Online</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Mon, 12 Oct 2026 10:05:16 +0000</pubDate>
      <link>https://dev.to/leo1612d/offscreen-a-local-gemma-powered-planner-for-spending-less-time-online-3kap</link>
      <guid>https://dev.to/leo1612d/offscreen-a-local-gemma-powered-planner-for-spending-less-time-online-3kap</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;I built &lt;strong&gt;OFFSCREEN&lt;/strong&gt;, a local-first activity planner that turns personal goals, available time, and current energy into a small, achievable offline session.&lt;/p&gt;

&lt;p&gt;Most productivity apps are designed to keep us inside the app: more dashboards, notifications, streaks, and metrics. OFFSCREEN takes the opposite approach. The screen should be the shortest part of the experience.&lt;/p&gt;

&lt;p&gt;A user tells OFFSCREEN:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What matters to them, such as reading, gardening, sketching, exercising, or learning&lt;/li&gt;
&lt;li&gt;How much time they have&lt;/li&gt;
&lt;li&gt;How much energy they have right now&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gemma then creates a practical offline plan grounded in those goals.&lt;/p&gt;

&lt;p&gt;For example, instead of saying “read more,” OFFSCREEN might suggest:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Read &lt;em&gt;Atomic Habits&lt;/em&gt; for 20 minutes. Stop when the timer ends and mark where you want to continue next time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After returning, the user can record whether they completed or skipped the session, how difficult it felt, and anything they noticed. Gemma analyzes that feedback so future sessions can become more realistic without using guilt, streak pressure, or generic motivational hype.&lt;/p&gt;

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

&lt;p&gt;🔗 &lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://youtu.be/Qu5YVQ0f4fw" rel="noopener noreferrer"&gt;https://youtu.be/Qu5YVQ0f4fw&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The main flow is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add an offline goal&lt;/li&gt;
&lt;li&gt;Choose the time and energy you have available&lt;/li&gt;
&lt;li&gt;Generate a session with Gemma&lt;/li&gt;
&lt;li&gt;Leave the screen and complete the activity&lt;/li&gt;
&lt;li&gt;Return for a short reflection&lt;/li&gt;
&lt;li&gt;Use that feedback to make the next plan more realistic&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Gemma runs locally through Ollama, so the complete AI experience can work without sending personal goals or reflections to a hosted model provider.&lt;/p&gt;

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

&lt;p&gt;💻 &lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/teahsea/OFFSCREEN" rel="noopener noreferrer"&gt;https://github.com/teahsea/OFFSCREEN&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is divided into three main applications:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;React frontend
      ↓
NestJS API
      ↓
FastAPI AI service
      ↓
Ollama + Gemma 3 4B
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;PostgreSQL stores goals, planned sessions, activities, and feedback.&lt;/p&gt;

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

&lt;p&gt;The AI core of OFFSCREEN is &lt;strong&gt;Gemma 3 4B&lt;/strong&gt;, running locally through Ollama.&lt;/p&gt;

&lt;p&gt;I chose a small local model because OFFSCREEN does not need unlimited general-purpose generation. It needs focused, structured decisions based on a compact set of user data.&lt;/p&gt;

&lt;p&gt;The planning request contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The requested number of minutes&lt;/li&gt;
&lt;li&gt;The user's energy level&lt;/li&gt;
&lt;li&gt;Their active goals&lt;/li&gt;
&lt;li&gt;Up to five recent feedback records&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gemma must return structured JSON containing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A session title&lt;/li&gt;
&lt;li&gt;A motivational message&lt;/li&gt;
&lt;li&gt;One or more activities&lt;/li&gt;
&lt;li&gt;Instructions for each activity&lt;/li&gt;
&lt;li&gt;The duration of each activity&lt;/li&gt;
&lt;li&gt;The goal associated with each activity&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;OFFSCREEN handles unusually personal information: unfinished goals, energy levels, skipped activities, difficulty, and reflections about what did or did not work.&lt;/p&gt;

&lt;p&gt;Running an open-weight model locally means that information does not have to leave the user's machine.&lt;/p&gt;

&lt;p&gt;With Gemma and Ollama, the model becomes a replaceable component that runs inside the user's environment—not a remote authority that owns the experience.&lt;/p&gt;

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

&lt;p&gt;The most important lesson was that structured output is only the first layer of reliability.&lt;/p&gt;

&lt;p&gt;A response can be valid JSON and still be wrong for the application. Model output therefore needs to be treated like any other untrusted input: validate it, constrain it, retry carefully, and maintain a safe fallback.&lt;/p&gt;

&lt;p&gt;I also learned that a smaller local model works well when the surrounding application gives it a narrow responsibility. Gemma does not own users, sessions, or database state. It receives a focused planning problem and returns a typed proposal. Ordinary application code remains in control.&lt;/p&gt;

&lt;p&gt;That boundary made the system easier to test and much safer to evolve.&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;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gemma 3 4B is the core planning and feedback model in OFFSCREEN. It runs locally through Ollama and produces schema-constrained plans that are validated, corrected when necessary, and persisted through the application backend.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Seeking Advice from Pro Node.js Developers 🚀</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Mon, 08 Apr 2024 09:46:13 +0000</pubDate>
      <link>https://dev.to/leo1612d/seeking-advice-from-pro-nodejs-developers-4ice</link>
      <guid>https://dev.to/leo1612d/seeking-advice-from-pro-nodejs-developers-4ice</guid>
      <description>&lt;p&gt;Hey Node.js Gurus,&lt;/p&gt;

&lt;p&gt;I hope you're all doing awesome! 🌟&lt;/p&gt;

&lt;p&gt;I'm reaching out to tap into the collective wisdom and expertise of the amazing Node.js community. As I continue to level up my skills and delve deeper into the world of Node.js development, I find myself facing new challenges and opportunities for growth.&lt;/p&gt;

&lt;p&gt;Whether you're a seasoned Node.js developer, an expert in a specific niche, or just someone with a passion for all things Node.js, I'd love to hear from you! 🎉&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
      <category>interview</category>
    </item>
    <item>
      <title>Advanced Javascript</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Wed, 12 Oct 2022 05:46:14 +0000</pubDate>
      <link>https://dev.to/leo1612d/advanced-javascript-18d0</link>
      <guid>https://dev.to/leo1612d/advanced-javascript-18d0</guid>
      <description>&lt;p&gt;Which concepts of javascript do you consider as advanced?&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Day 4 : What is memoization in javascript ?</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Thu, 09 Jun 2022 17:58:25 +0000</pubDate>
      <link>https://dev.to/leo1612d/day-4-what-is-memoization-in-javascript--2ie3</link>
      <guid>https://dev.to/leo1612d/day-4-what-is-memoization-in-javascript--2ie3</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Memoization is a cache technique that makes application performance faster by storing the results of expensive function calls.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In simple terms it's storing in memory, let's understand it this way,&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;Example&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function someIntensiveDBTask(dependsOnThis){

// Lot's of calculations here, will return same output for same input

}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So in that kind of scenario we can implement Memoization, Let's understand it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const memo = []
function someIntensiveDBTask(dependsOnThis){

if(memo[dependsOnThis]) return memo[dependsOnThis];

// else part
// Do some calculations...
// ..
// ..
// ..

// we are caching result before returning here and storing it in memo so next time we can use it directly.

memo[dependsOnThis] = result; 

return result

}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Memoization is a way to lower a function’s time cost in exchange for space cost.&lt;/p&gt;

&lt;p&gt;Resources :&lt;br&gt;
&lt;a href="https://betterprogramming.pub/save-up-computation-time-in-javascript-using-memoized-wrapper-functions-ae85f28d8087"&gt;Res 1&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.freecodecamp.org/news/understanding-memoize-in-javascript-51d07d19430e/"&gt;Res 2&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>tutorial</category>
      <category>100daysofproductivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Day 3 : What Is IIFE in Javascript ?</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Wed, 08 Jun 2022 17:21:15 +0000</pubDate>
      <link>https://dev.to/leo1612d/day-3-what-is-iife-in-javascript--d32</link>
      <guid>https://dev.to/leo1612d/day-3-what-is-iife-in-javascript--d32</guid>
      <description>&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Immediately Invoked Function Expression&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IIFE
(function () {
  /* ... */
})();

Arrow function
(() =&amp;gt; {
  /* ... */
})();

Async
(async () =&amp;gt; {
  /* ... */
})();

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;This also called as self executing anonymous function&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's understand this in 2 parts&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(

// This prevents accessing variables within the IIFE idiom as well as polluting the global scope.

let a = 10; // will be discarded after the function is executed.

)() =&amp;gt;  immediately invoked function

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
// "counter" is a function that returns an object with properties, which in this case are functions.
let counter = (function () {
    let i = 0;

    return {
        get: function () {
            return i;
        },
        set: function (val) {
            i = val;
            return `value ${i} set successfully` 
        },
        increment: function () {
            return ++i;
        }
    };
})();

// Just to log data
const log = (f) =&amp;gt; console.log(f);

// These calls access the function properties returned by "counter".
log(counter.get())       // 0
log(counter.set(3))      // "value 3 set successfully"
log(counter.increment()) // 4
log(counter.increment()) // 5

log(counter.i) // accessing private variables undefined. 

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>100daysofproductivity</category>
    </item>
    <item>
      <title>Day 2 : What is pure function in JS ?</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Tue, 07 Jun 2022 16:45:30 +0000</pubDate>
      <link>https://dev.to/leo1612d/what-is-pure-function-in-js--ef8</link>
      <guid>https://dev.to/leo1612d/what-is-pure-function-in-js--ef8</guid>
      <description>&lt;p&gt;A pure function is a function which&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Given the same input, always returns the same output.&lt;/li&gt;
&lt;li&gt;Produces no side effects.&lt;/li&gt;
&lt;li&gt;Pure functions must not mutate external state.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A function is only pure if, given the same input, it will always produce the same output.&lt;/p&gt;

&lt;p&gt;Example :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PURE FUNCTION
function isValid(age){
  return age &amp;gt;= 18;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This function will always return true or false based on age.&lt;/p&gt;

&lt;p&gt;EXAMPLE OF UNPURE FUNCTION&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pure functions must not mutate external state.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;items = [];
const addItems = (item) =&amp;gt; {
  items.push({
    item
  }); 
};

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;addItems() is not a pure function because it mutates the external state by pushing values to that items array.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>100daysofproductivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Day 1 : Objects in javascript</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Mon, 06 Jun 2022 18:05:18 +0000</pubDate>
      <link>https://dev.to/leo1612d/day-1-objects-in-javascript-4h9p</link>
      <guid>https://dev.to/leo1612d/day-1-objects-in-javascript-4h9p</guid>
      <description>&lt;h2&gt;
  
  
  What is object ?
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;An object is a collection of properties, and a property is an association between a name (or key) and a value.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const myCar = {
  make: 'Ford',
  model: 'Mustang',
  year: 1969
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Different ways to create object in javascript
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// 1
const obj = new Object();

// 2
const obj = Object.create(null);

// 3 =&amp;gt; Most common way
const series = {
     name: "Game of thrones",
     season: 8,
     case: getCast() // can use function as well
};

// 4 =&amp;gt; function constructor 
function cast(name) {
  this.name = name;
  this.id = 2;
  this.item = [1,2,3,4
}
var object = new Person("Jon snow");

And Many more..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Tricks and tips
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To check in object if particular key is exist or not&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;obj.hasOwnProperty(key)&lt;/code&gt; // returns true if key exists otherwise false.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;To get all properties from an object
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const cast = {
  name: 'jon snow',
  age: 22,
  active: false
};

console.log(Object.keys(cast));
// expected output: Array ["name", "age", "active"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Best practices
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Object creation 
// bad
const item = new Object();

// good
const item = {};

function getKey(k) {
  return `a key named ${k}`;
}

Use computed property names when creating objects with dynamic property names.
// bad
const obj = {
  id: 5,
  name: 'San Francisco',
};
obj[getKey('enabled')] = true;

// good
const obj = {
  id: 5,
  name: 'San Francisco',

};


Use object method &amp;amp; property shorthand.
// bad
const atom = {
  value: 1,

  addValue: function (value) {
    return atom.value + value;
  },
  name: name
};

// good
const atom = {
  value: 1,

  addValue(value) {
    return atom.value + value;
  },
  name
};

Only quote properties that are invalid identifiers. 
// bad
const bad = {
  'foo': 3,
  'bar': 4,
  'data-blah': 5,
};

// good
const good = {
  foo: 3,
  bar: 4,
  'data-blah': 5,
};

Do not call Object.prototype methods directly, such as hasOwnProperty, propertyIsEnumerable, and isPrototypeOf. 

Why? These methods may be shadowed by properties on the object in question - consider { hasOwnProperty: false } - or, the object may be a null object (Object.create(null)).

// bad
console.log(object.hasOwnProperty(key));

// good
console.log(Object.prototype.hasOwnProperty.call(object, key));

// best
const has = Object.prototype.hasOwnProperty; // cache the lookup once, in module scope.
console.log(has.call(object, key));

/* or */
import has from 'has'; // https://www.npmjs.com/package/has
console.log(has(object, key));


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thanks for reading..&lt;/p&gt;

&lt;p&gt;Resource &amp;amp; credits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/airbnb/javascript#objects"&gt;https://github.com/airbnb/javascript#objects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sudheerj/javascript-interview-questions#what-are-the-possible-ways-to-create-objects-in-javascript"&gt;https://github.com/sudheerj/javascript-interview-questions#what-are-the-possible-ways-to-create-objects-in-javascript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects"&gt;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>100daysofproductivity</category>
    </item>
    <item>
      <title>AWS India Summit</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Fri, 20 May 2022 04:05:43 +0000</pubDate>
      <link>https://dev.to/leo1612d/aws-india-summit-2k6</link>
      <guid>https://dev.to/leo1612d/aws-india-summit-2k6</guid>
      <description>&lt;p&gt;&lt;a href="https://summits-india.virtual.awsevents.com/agenda"&gt;HERE....&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>cloud</category>
      <category>cloudskills</category>
    </item>
    <item>
      <title>Best resources to learn postgreSQL ?</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Tue, 12 Apr 2022 03:36:01 +0000</pubDate>
      <link>https://dev.to/leo1612d/best-resources-to-learn-postgresql--3ifc</link>
      <guid>https://dev.to/leo1612d/best-resources-to-learn-postgresql--3ifc</guid>
      <description></description>
      <category>help</category>
      <category>beginners</category>
      <category>postgres</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Deepgram x DEV Hackathon Project DeepXGrammar</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Sun, 10 Apr 2022 10:14:46 +0000</pubDate>
      <link>https://dev.to/leo1612d/deepgram-x-dev-hackathon-project-deepxgrammar-54m7</link>
      <guid>https://dev.to/leo1612d/deepgram-x-dev-hackathon-project-deepxgrammar-54m7</guid>
      <description>&lt;h3&gt;
  
  
  Overview of My Submission
&lt;/h3&gt;

&lt;p&gt;I have built a simple but useful solution using &lt;a href="https://deepgram.com/"&gt;Deepgram&lt;/a&gt; python sdk and &lt;a href="https://pypi.org/project/language-tool-python/"&gt;language tool&lt;/a&gt; opensource library.&lt;/p&gt;

&lt;p&gt;This is version 0.0.1 of this tool, i have plans to upgrade &amp;amp; customised it in multiple ways, any suggestions are welcome please put in comment sections.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;About this tool&lt;/em&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Basic use case is for checking grammar in audio files.&lt;/li&gt;
&lt;li&gt;This tool is simply take one audio url as input. &lt;/li&gt;
&lt;li&gt;Then using DeepGram api it will fetch transcript from it.&lt;/li&gt;
&lt;li&gt;Using language tool we will get all the mistakes and corrections&lt;/li&gt;
&lt;li&gt;This tool will provide corrected transcript back.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;Wacky Wildcards&lt;/p&gt;

&lt;h3&gt;
  
  
  Link to Code on GitHub
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/LEO1612D"&gt;
        LEO1612D
      &lt;/a&gt; / &lt;a href="https://github.com/LEO1612D/colabProjects"&gt;
        colabProjects
      &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;h1&gt;
colabProjects&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://dev.to/leo1612d/deepgram-x-dev-hackathon-project-deepxgrammar-54m7" rel="nofollow"&gt;Read more here...&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/LEO1612D/colabProjects"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;p&gt;Opensource library for checking grammar : &lt;a href="https://pypi.org/project/language-tool-python/"&gt;language tool&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;Screenshots&lt;/em&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Original Transcript&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ccd6A0SR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lpr58ozmmll4x39xgtn3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ccd6A0SR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lpr58ozmmll4x39xgtn3.png" alt="Original Transcript" width="800" height="109"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Suggested correction&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wRu7b322--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5nuxa81f1mlc0yiv5h2y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wRu7b322--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5nuxa81f1mlc0yiv5h2y.png" alt="Suggested correction" width="800" height="286"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Corrected Transcript&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NXzwF4ZM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cxiu8usyh7ljtak9pz7l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NXzwF4ZM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cxiu8usyh7ljtak9pz7l.png" alt="Corrected Transcript" width="800" height="115"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Upcoming Feature updates
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Better UI and UX.&lt;/li&gt;
&lt;li&gt;Checking grammar mistakes on live data.&lt;/li&gt;
&lt;li&gt;Enable access to videos as well.&lt;/li&gt;
&lt;li&gt;Interactive grammar practice functionality. &lt;/li&gt;
&lt;li&gt;Enable for other languages.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>hackwithdg</category>
      <category>python</category>
      <category>opensource</category>
    </item>
    <item>
      <title>The best free resources to get started with ethereum, dapps, solidity, NFTs &amp; beyond in 2022</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Sun, 16 Jan 2022 07:45:02 +0000</pubDate>
      <link>https://dev.to/leo1612d/the-best-free-resources-to-get-started-with-ethereum-dapps-solidity-nfts-beyond-in-2-0-2-2-f8</link>
      <guid>https://dev.to/leo1612d/the-best-free-resources-to-get-started-with-ethereum-dapps-solidity-nfts-beyond-in-2-0-2-2-f8</guid>
      <description>&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Docs&lt;/li&gt;
&lt;li&gt;Youtube&lt;/li&gt;
&lt;li&gt;Others&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Docs &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Trust me docs are the great way to learn anything with much deeper way and gain more knowledge.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Official documentations
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ethereum.org/en/what-is-ethereum/"&gt;What is ethereum ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://preethikasireddy.medium.com/how-does-ethereum-work-anyway-22d1df506369"&gt;How ethereum works ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.ethhub.io/"&gt;Eth hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eth.wiki/"&gt;Eth wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://ethereum.org/en/whitepaper/"&gt;Whitepapaer&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://ethereum.org/en/nft/"&gt;What is NFT ?&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://ethereum.org/en/smart-contracts/"&gt;What is smart contract ?&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://docs.soliditylang.org/en/v0.8.11/"&gt;Solidity official docs&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://cryptozombies.io/"&gt;CryptoZombies - CryptoZombies is an interactive school that teaches you all things technical about blockchains. Learn to make smart contracts in Solidity by making your own crypto-collectibles game.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Youtube &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/eattheblocks"&gt;eattheblocks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PL16WqdAj66SCOdL6XIFbke-XQg2GW_Avg"&gt;solidity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/channel/UCY0xL8V6NzzFcwzHCgB8orQ"&gt;dapp university&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Others &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=8rhueOcTu8k&amp;amp;list=PLS5SEs8ZftgVV6ah1fo2IvlHk1kTCy6un"&gt;Web3 Playlist -- Youtube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MnSmc7Hto2k&amp;amp;list=PLS5SEs8ZftgUq-aMMYeKf8nPqHrNqa3Iu"&gt;Solidity Playlist -- Youtube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.kba.ai/course/ethereum-fundamentals/"&gt;ETHEREUM FUNDAMENTALS -- Free course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://podcast.ethhub.io/"&gt;Into the ethere -- Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are reading this &amp;amp; liked above resources share it, you can also contribute to this post, To contribute add your comment for best resources out there to learn ethereum i will add it !!&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>blockchain</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>ethereum</category>
    </item>
    <item>
      <title>Finder</title>
      <dc:creator>Nikunj R. Prajapati</dc:creator>
      <pubDate>Thu, 13 Jan 2022 11:35:37 +0000</pubDate>
      <link>https://dev.to/leo1612d/finder-25ci</link>
      <guid>https://dev.to/leo1612d/finder-25ci</guid>
      <description>&lt;h3&gt;
  
  
  Overview of My Submission
&lt;/h3&gt;

&lt;p&gt;I have built this simple console python tool called finder,&lt;br&gt;
Using the powerful search functionality of &lt;a href="https://www.mongodb.com/atlas/search"&gt;Atlas Search&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;E-Commerce Creation&lt;/p&gt;
&lt;h3&gt;
  
  
  Link to Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/LEO1612D"&gt;
        LEO1612D
      &lt;/a&gt; / &lt;a href="https://github.com/LEO1612D/finder"&gt;
        finder
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This is basic project to search anything within your mongoDB database, This project is the part of MongoDB Atlas Hackathon on DEV!
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;h1&gt;
finder&lt;/h1&gt;
&lt;p&gt;This is basic project to search anything within your mongoDB database, This project is the part of MongoDB Atlas Hackathon on DEV!&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/LEO1612D/finder"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>atlashackathon</category>
    </item>
  </channel>
</rss>
