<?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>Forem: Fabio Zapata</title>
    <description>The latest articles on Forem by Fabio Zapata (@fazd).</description>
    <link>https://forem.com/fazd</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%2F897315%2F0bee6f7d-eb12-4d32-9d8d-06bf7a316a3b.jpeg</url>
      <title>Forem: Fabio Zapata</title>
      <link>https://forem.com/fazd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/fazd"/>
    <language>en</language>
    <item>
      <title>My first experience with cursor</title>
      <dc:creator>Fabio Zapata</dc:creator>
      <pubDate>Thu, 03 Apr 2025 15:54:33 +0000</pubDate>
      <link>https://forem.com/fazd/my-first-experience-with-cursor-4a5g</link>
      <guid>https://forem.com/fazd/my-first-experience-with-cursor-4a5g</guid>
      <description>&lt;p&gt;This is my first post&lt;/p&gt;

&lt;p&gt;I had an idea that I wanted to implement quickly. I remembered a conversation with a friend who told me he was using Cursor at his company, and it was a real time-saver for him. Since I don’t have permission to use it at work, I hadn’t tried it yet.&lt;/p&gt;

&lt;p&gt;The website I wanted to create was really simple: an invitation card for my girlfriend. I knew the site would have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A frontend-only setup&lt;/li&gt;
&lt;li&gt;Animations&lt;/li&gt;
&lt;li&gt;Images and text&lt;/li&gt;
&lt;li&gt;Some buttons to navigate between pages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project was technically pretty straightforward. So, I downloaded Cursor, signed in, and started using it to build the application. I saw this as an opportunity to test the "no-code" approach. My goal was to give all instructions in the prompt interaction and not intervene in the code, even though I already knew how to implement everything myself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First 30 Minutes:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I have experience working with prompts and AI models, so I was already familiar with the interaction. I started by outlining the goals and describing how the page should look in my first prompt. I included detailed technical instructions on how I wanted things to be implemented.&lt;/p&gt;

&lt;p&gt;At first, I was pleasantly surprised that Cursor allows you to run commands directly from the console. Then, I stumbled upon my first problem.&lt;/p&gt;

&lt;p&gt;I wanted to create an envelope animation. Anyone who has worked with animations knows they can be tricky if you’re not familiar with them. So, I started giving Cursor general (non-technical) feedback about the issues I was encountering. I spent about 15–20 minutes revising my instructions and undoing changes, as many of the modifications made the problem worse.&lt;/p&gt;

&lt;p&gt;Eventually, I searched for an envelope animation in HTML and JavaScript, changed the colors, and pasted the code into the prompt. I told the model to use it, and with that as a base, I was finally able to achieve the desired result.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minutes 31–120:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once the hardest part was done, I moved on to adding buttons, changing fonts, and configuring the layout. This part was quick—I reused prompts to generate new screens, and everything worked smoothly. However, I noticed a few key things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;If you don’t specify that certain elements (like backgrounds, fonts, or button styles) are global, the model will treat them as local and apply changes separately for each page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;There’s a lot of hallucination about how things "work"—the model often assumes something is functional when it actually isn’t.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It takes your word as the absolute truth. To test this, I falsely claimed that a working feature was broken. Instead of verifying, the model started rewriting the logic to "fix" something that wasn’t broken. It didn’t push back or identify my mistake.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Final Phase:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I had about 90–95% of the page completed, small adjustments started taking too much time. So, I stopped making changes through Cursor and modified the code manually. Most of these tweaks involved wording, padding, and margins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion &amp;amp; Takeaways:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I was able to build a website from scratch in 2–3 hours using Cursor. Doing it manually with my usual workflow would have taken 4–8 hours.&lt;/p&gt;

&lt;p&gt;Knowing what needs to be done and what’s going wrong is crucial for speed. If you can’t identify the problem, you’ll get stuck in a loop of saying, "Oh, I see the issue now," or "This isn’t working." Instead of vague feedback like, "The images are misaligned," it’s better to specify, "The images don’t have the right margin—add a margin or place them inside a container div to fix it."&lt;/p&gt;

&lt;p&gt;Cursor doesn’t handle backtracking well. If you don’t explicitly state that something should apply globally, it won’t. For example, I wanted to change the button style, but later realized it was only updated on the current screen.&lt;/p&gt;

&lt;p&gt;Overall, this was a good experience. I saved time on something I already knew how to do but didn’t want to spend hours debugging animations. I think I’ll continue using Cursor for side projects and tasks I know how to fix but don’t want to spend time on.&lt;/p&gt;

&lt;p&gt;That said, I don’t think Cursor is (yet) designed for a non-technical person to build something from scratch and expect it to work like magic.&lt;/p&gt;

&lt;p&gt;There are probably many Cursor features I didn’t use, and I could have spent my tokens more efficiently. But as a first interaction with this so-called "holy grail of no-code," I think it’s a useful tool &lt;strong&gt;if you know what you’re doing&lt;/strong&gt; and it's going to be a small project.&lt;/p&gt;

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