<?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: Akemnoor Singh</title>
    <description>The latest articles on DEV Community by Akemnoor Singh (@akemnoorsingh).</description>
    <link>https://dev.to/akemnoorsingh</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F926721%2Fe8fdb442-2d2b-4920-9425-e392d5900ada.jpg</url>
      <title>DEV Community: Akemnoor Singh</title>
      <link>https://dev.to/akemnoorsingh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akemnoorsingh"/>
    <language>en</language>
    <item>
      <title>How I Earned $500 Without Writing a Single Line of Code</title>
      <dc:creator>Akemnoor Singh</dc:creator>
      <pubDate>Sat, 09 Aug 2025 09:42:42 +0000</pubDate>
      <link>https://dev.to/akemnoorsingh/how-i-earned-500-without-writing-a-single-line-of-code-1dgj</link>
      <guid>https://dev.to/akemnoorsingh/how-i-earned-500-without-writing-a-single-line-of-code-1dgj</guid>
      <description>&lt;p&gt;A few weeks ago, I got a freelance gig—build a Random Winner Generator platform.&lt;br&gt;
The client wanted it fast, and I wanted to make it without burning out.&lt;/p&gt;

&lt;p&gt;That’s when I decided—let AI do the heavy lifting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Setup&lt;/strong&gt;&lt;br&gt;
I opened Cursor, my AI-powered coding sidekick, and paired it with Claude 3.7 Sonnet. My plan was simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Let Cursor generate the core functionality.&lt;/li&gt;
&lt;li&gt;Use Claude to refine and tweak the logic.&lt;/li&gt;
&lt;li&gt;Step in only when bugs appear.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Process&lt;/strong&gt;&lt;br&gt;
For the next 25 hours, I was in full vibe coding mode—coffee, music, and a steady back-and-forth with my AI tools. I didn’t manually write the big chunks of code. Instead, I focused on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Guiding the AI toward the right implementation.&lt;/li&gt;
&lt;li&gt;Debugging when things didn’t work as expected.&lt;/li&gt;
&lt;li&gt;Making sure the final product was smooth and secure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Result&lt;/strong&gt;&lt;br&gt;
The platform worked perfectly, the client loved it, and I earned $500.&lt;br&gt;
The best part? No late nights, no endless typing—just smart work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Lesson&lt;/strong&gt;&lt;br&gt;
AI didn’t replace my coding skills.&lt;br&gt;
It amplified them.&lt;br&gt;
Knowing how to code was still the reason I could fix issues, understand the output, and deliver quality. But letting AI handle the heavy lifting saved me time and boosted my earnings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thought:&lt;/strong&gt;&lt;br&gt;
Sometimes, the smartest move isn’t doing it all yourself—it’s knowing when to let the tools work for you.&lt;/p&gt;

</description>
      <category>freelancing</category>
      <category>webdev</category>
      <category>cursor</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>Coding a $1K Landing Page: Designing to Development 📈</title>
      <dc:creator>Akemnoor Singh</dc:creator>
      <pubDate>Sat, 09 Aug 2025 09:15:40 +0000</pubDate>
      <link>https://dev.to/akemnoorsingh/coding-a-1k-landing-page-designing-to-development-18c4</link>
      <guid>https://dev.to/akemnoorsingh/coding-a-1k-landing-page-designing-to-development-18c4</guid>
      <description>&lt;p&gt;Designing a Friendly &amp;amp; Warm Hero Section for BachEats&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.amazonaws.com%2Fuploads%2Farticles%2F853clex03l9yjs6gdb34.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.amazonaws.com%2Fuploads%2Farticles%2F853clex03l9yjs6gdb34.png" alt="Landing page design of BachEats" width="800" height="338"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://bach-eats.vercel.app/" rel="noopener noreferrer"&gt;BachEats&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I first shared it on X and got positive responses from the community:&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.amazonaws.com%2Fuploads%2Farticles%2Fzjzoxjvw34dm2wextloq.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.amazonaws.com%2Fuploads%2Farticles%2Fzjzoxjvw34dm2wextloq.png" alt="Reviews on X" width="800" height="242"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://x.com/akemnoor_singh/status/1952833321144090879" rel="noopener noreferrer"&gt;see on X&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The hero section is the first impression. For BachEats, I wanted it to instantly feel friendly, trustworthy, secure, and warm — like being invited into a cozy evening with friends.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Setting the Mood with Video—Used Google Gemini to generate a warm, evening video background.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As Video adds life, emotion, and memorability. ✨️&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Colors &amp;amp; Typography&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Warm yellows/oranges for accents → hospitality &amp;amp; friendliness.&lt;/p&gt;

&lt;p&gt;Neutral tones for background → calm &amp;amp; inviting.&lt;/p&gt;

&lt;p&gt;Clean sans serif font → modern and approachable.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Clear, Welcoming Headline 🫂&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;“Join people nearby for a shared dining experience”—direct yet personal.&lt;/p&gt;

&lt;p&gt;Subtext hints at connection and shared moments.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Simple, Balanced Layout ⚖️&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Centered content for focus.&lt;/p&gt;

&lt;p&gt;Minimal distractions so the video background shines.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Tech Stack 💻&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Next.js for structure, performance, and SEO.&lt;/p&gt;

&lt;p&gt;Tailwind CSS for rapid, consistent styling.&lt;/p&gt;

&lt;p&gt;Final Takeaway:&lt;br&gt;
&lt;strong&gt;The hero section is the app’s handshake — I made sure BachEats’ handshake felt warm, genuine, and memorable.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>fullstack</category>
      <category>ui</category>
      <category>freelancing</category>
    </item>
    <item>
      <title>I made it simple for you</title>
      <dc:creator>Akemnoor Singh</dc:creator>
      <pubDate>Sun, 20 Jul 2025 19:41:58 +0000</pubDate>
      <link>https://dev.to/akemnoorsingh/-2og2</link>
      <guid>https://dev.to/akemnoorsingh/-2og2</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/akemnoorsingh/how-to-talk-to-an-ai-a-beginners-guide-to-the-openai-api-3lk2" class="crayons-story__hidden-navigation-link"&gt;How to Talk to an AI 💻: A Beginner’s Guide to the OpenAI API&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/akemnoorsingh" class="crayons-avatar  crayons-avatar--l  "&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F926721%2Fe8fdb442-2d2b-4920-9425-e392d5900ada.jpg" alt="akemnoorsingh profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/akemnoorsingh" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Akemnoor Singh
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Akemnoor Singh
                
              
              &lt;div id="story-author-preview-content-2708780" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/akemnoorsingh" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F926721%2Fe8fdb442-2d2b-4920-9425-e392d5900ada.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Akemnoor Singh&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/akemnoorsingh/how-to-talk-to-an-ai-a-beginners-guide-to-the-openai-api-3lk2" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jul 20 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/akemnoorsingh/how-to-talk-to-an-ai-a-beginners-guide-to-the-openai-api-3lk2" id="article-link-2708780"&gt;
          How to Talk to an AI 💻: A Beginner’s Guide to the OpenAI API
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/openai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;openai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/akemnoorsingh/how-to-talk-to-an-ai-a-beginners-guide-to-the-openai-api-3lk2" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;5&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/akemnoorsingh/how-to-talk-to-an-ai-a-beginners-guide-to-the-openai-api-3lk2#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>ai</category>
      <category>openai</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Talk to an AI 💻: A Beginner’s Guide to the OpenAI API</title>
      <dc:creator>Akemnoor Singh</dc:creator>
      <pubDate>Sun, 20 Jul 2025 19:41:36 +0000</pubDate>
      <link>https://dev.to/akemnoorsingh/how-to-talk-to-an-ai-a-beginners-guide-to-the-openai-api-3lk2</link>
      <guid>https://dev.to/akemnoorsingh/how-to-talk-to-an-ai-a-beginners-guide-to-the-openai-api-3lk2</guid>
      <description>&lt;p&gt;&lt;em&gt;Ever wondered how apps talk to ChatGPT? Let’s break down the simple but powerful way you can chat with models like GPT-4.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LLM : A Large Language Model is an algorithm that uses training data to recognize patterns and make predictions or decisions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We’ve all been amazed by what LLMs can do. But what if you want to build that magic into your own website or application?&lt;/p&gt;

&lt;p&gt;The answer is that you can use OpenAI APIs. An API is just a way for different software programs to talk to each other. In this case, it lets our app have a conversation with OpenAI’s powerful models.&lt;/p&gt;

&lt;p&gt;Each request to the API consists mainly of&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a LLM model name&lt;/li&gt;
&lt;li&gt;an array of messages (basically an array of objects)&lt;/li&gt;
&lt;li&gt;Other optional settings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s Write Some Code!&lt;br&gt;
Okay, let’s see a real example of how to make an API call using JavaScript.&lt;/p&gt;

&lt;p&gt;First, you need the official OpenAI library. Then, you set up the client and build your messages array.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import OpenAI from 'openai'

const openai = new OpenAI({
    dangerouslyAllowBrowser: true
})

const messages = [
    {
        role: 'system',
        content: 'You are a helpful general knowledge expert.'
    },
    {
        role: 'user',
        content: 'Who invented the television?'
    }
]

const response = await openai.chat.completions.create({
    model: 'gpt-4', // this automatically picks the best current snapshot of gpt-4
    messages
})

console.log(response)
//we get a object with role=assistance
console.log(response.choices[0].messsage.content);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why dangerouslyAllowBrowser: true?
&lt;/h2&gt;

&lt;p&gt;By default, OpenAI disables access from the browser to protect your secret API key from being exposed to users.&lt;/p&gt;

&lt;p&gt;You’re telling the OpenAI client library:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Yes, I understand the risk — go ahead and allow API calls from the browser using this client.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After running this, the API sends back a detailed object. It looks a bit scary, but the part we care about is&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;response. choices[0].messsage.content&lt;/p&gt;
&lt;/blockquote&gt;

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

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

{
id: "chatcmpl-8Go69bvmGWV8JHvZ9uxYXSUAimEb8", 
object: "chat.completion", 
created: 1699016517, 
model: "gpt-4-0613", 
choices: [
    {
        index: 0, 
        message: 
            {
                role: "assistant", 
                content: "The invention of television was the work of many individuals in the late 19th century and early 20th century. However, Scottish engineer John Logie Baird is often associated with creating the first mechanical television. He demonstrated his working device in January 1926 in London. Concurrently in the United States, Philo Farnsworth is credited with inventing the first fully electronic television in the late 1920s."
            }, 
            finish_reason: "stop"
     }
 ],
 usage: {
     prompt_tokens: 24, 
     completion_tokens: 86, 
     total_tokens: 110
     }
 }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  SNAPSHOTS OF LLMs
&lt;/h2&gt;

&lt;p&gt;As any LLM evolves, let's say GPT-4. OpenAI will choose to default to a snapshot that has the best performance. (snapshots are kind of versions of an LLM model.)&lt;/p&gt;

&lt;p&gt;We can also mention which snapshot of a given model we want to use.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const response = await openai.chat.completions.create({
    model: 'gpt-4-1106-preview',
    messages: messages
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see in the response, we have a key named “usage,” and it tells something about tokens.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tokens in LLM
&lt;/h2&gt;

&lt;p&gt;total_token = prompt_tokens + completion_tokens&lt;/p&gt;

&lt;p&gt;token → a chunk of text of no specific length&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;tokens cost credits (value depends upon model)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;needs processing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;keeping it low saves time and money&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;How we can reduce the API costs and maximize our output’s quality, we will discuss it in prompt engineering topic.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>openai</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
