Cursor + Bolt: A Practical Guide to AI-Assisted Programming

Since the launch of Cursor and Bolt New, many people have started writing tutorials and showcasing examples. I’m no exception – last November, I used Cursor to develop a simple demo to support presentations at my former company.

The application and development speed of AI in programming has exceeded many people’s expectations. Thanks to these talented developers, people like me who haven’t systematically studied programming can develop their desired products in a short time.

The purpose of writing this article is to honestly document my development journey, while hoping to provide some inspiration and courage to those without programming experience through my practical experience.

Why Learn Programming?

One of my favorite books, “The Almanack of Naval Ravikant,” mentions that software and social media are the levers of the new era.

If you’re an office worker or engaged in non-manual work, as long as your job involves any form of internet medium, you’ll interact with software. Software has become an inseparable part of most people’s lives. However, compared to the number of software users, those who can create software remain a minority.

Why Create Software?

Existing software cannot fully meet everyone’s needs. Excel can help you with reports and tax calculations, but how do you batch import data into your desired format? You need to perform batch data imports, but existing software doesn’t support your specific requirements? You need a speech-to-text tool that can distinguish between speakers? You found such software online, but it’s too expensive, and paying for just this one feature isn’t worth it? These aren’t made-up needs – they’re real examples and requirements I’ve seen on the internet.

In the past, you might have struggled to find developers willing to spend time developing and learning such applications. Most people had to either submit to more expensive, feature-bloated software or spend more time manually copying and pasting, performing repetitive tasks. Now, through Bolt and Cursor, we can create such software within an hour and make it available for people to use. In my view, these tools have significantly reduced the cost barrier for people to engage in software development.

Below is my practice of creating a Tarot application, and I hope my experiences and reflections can help you.

Practice: Creating a Tarot Card Application

First, when developing any application, we need to think about its basic implementation logic and feasibility, then organize the requirements and specific implementation into text. We can accomplish this step using Bolt. I initially envisioned a tarot card drawing website application where users can enter what they want to predict or divine (I’m not a tarot expert, but I know the general process).

Next, the system will draw three cards from the 78-card deck: representing the past, present, and future. The tarot reader then interprets the drawn cards based on the player’s question.

This is actually a description of the application’s general functionality, but it doesn’t break down specific behaviors and implementation logic. If you put such a description into Bolt now, you probably won’t get satisfactory results.

I need to provide a more detailed description:

When users enter the website, a dialog box appears in the center. Users can input content in the dialog box and click confirm.At this point, the program’s backend will draw 3 cards from the 78 cards and make predictions based on the results.

Wait a minute – many people might wonder: how does the program draw cards? After all, it’s not a real person, so how can it draw three random cards from 78 virtual cards?

I believe this is the biggest difference between building software and building physical hardware. Although there are no physical tarot cards here, we can set up numbers 0-77 in the database and use each number as an ID that corresponds to real tarot card names and card images.

For example, in this case, ID 0 corresponds to “The Fool” card, along with its image and interpretation. This way, in terms of presentation, users can see the card-drawing animation and the selected cards. For the AI part, we only need to send the information and meaning of the user’s drawn cards to the large language model through API. Then present the API’s interpretation text to the user. And just like that, a simple tarot card drawing and interpretation demo is implemented.

Practicing with Bolt and Cursor

Bolt is particularly well-suited for building demos and testing workflows when you have an idea, especially when you’re not entirely familiar with software-related processes. After completing the product build in Bolt, you can download the code for detailed modifications, such as using Cursor for UI refinements, content filling, and style modifications.

You can then deploy to Vercel through GitHub. Alternatively, you can choose to deploy directly to Netlify through the Bolt platform, then purchase a domain name and connect the DNS settings to the deployed webpage. This completes a full app.

Best Practice Approach

Through my practice, I’ve discovered a generally effective approach: users can first dialogue with Claude, having it play the role of a product manager.

We communicate our requirements to the product manager agent, then relay its organized specific requirements to Bolt. This is similar to being a company CEO, delegating tasks to a product manager, and then having the requirements refined for the dev agent. Repeating this process ultimately completes a complex application.