Behind the build: How we use Cursor for speed optimisation
In the startup landscape, raid time-to- feature and MVP delivery are crucial for success. That’s why at zally, we use Cursor to optimise speed — significantly accelerating our product development. This process means we can implement swift and accurate changes quickly, building customer trust, particularly when swift fixes are needed.
What is Cursor?
Cursor is an AI-powered Integrated Development Environment (IDE), built as a standalone, enhanced version of Visual Studio Code. It has gained significant traction in recent months, as agentic development workflows increasingly redefine modern software development practices.
An AI IDE, Is a platform that allows developers to leverage large language models directly inside of their development environment. Enabling quick rapid changes to code, Asking what certain pieces of code does or even generating completely new code.
Why Cursor?
There are currently many AI IDE’s to choose from, such as CLI-based tools like Gemini CLI or Claude Code to Vscode extensions such as GitHub Copilot or Kilo Code, and new applications like Winsurf, Amazon Kiro and more.
So, why did we choose Cursor?
Proven track record - Cursor is an established company and one of the first to be developed in the space.
Privacy controls - They offer excellent privacy settings, which is important for us at zally to ensure our code doesn’t get sent to different third parties.
It's a VS Code fork - you'll experience a minimal learning curve and can directly transfer all your extensions and settings. This means zero downtime learning new keyboard shortcuts or a new user interface.
The problem Cursor solves
While some may argue that the primary problem Cursor solves is lowering the skills gap and enabling new developers to enter spaces they would have previously deemed impossible, at zally we have a different opinion.
Although the above perspective isn’t untrue, there is a point we’d like to call the ‘web of lies’. The stage where your code base becomes so cluttered with a web-like structure of single-purpose, non-resusable utility functions. This creates unnecessary complexity, frustrates any developer attempting to collaborate on the project, and leaves your future self regretting the shortcuts taken.
How do we use AI IDEs?
We see them as a performance gain.
Large Language Models (LLM’s) excel at generating text and code significantly faster than humans. By creating effective prompts and receiving accurate outputs, we can now build parts of our system quicker now than we can possibly type them.
How we use it in practise
At zally, we do use Cursor differently.
But, what does that actually look like in practice?
Well, how you ask matters.
We often treat Cursor like a junior developer: providing small, concise instructions that have a deterministic output and that can be completed in a short period of time.
For example you probably shouldn't ask:
“Hey Cursor, can you re-build google for me with all features please? And have it ready for the end of the day today?”
Or
“Can you create me a database for my full backend for my app”
Instead, you can provide it with prompts such as:
“Can you build a google style search bar UI component that I can call and use in other pages, use tailwind and next.js to achieve this. To start with, just do a lightmode theme. Place this in my scr/components folder please, I will add it to my `page.tsx` ”
Or
“I need to create a table in my database to store search results for each user so users can track their recent search history. I use a postgres SQL database. Give me the create statement for this table as a command. You can find my other tables in the db/schema folder, ensure this integrates with these and has a one to many relationship with the user table e.g. one user can have many search histories.”
The difference is clear: every task is well-defined, achievable in a short period of time, and doesn’t need to do many things, just focus on the task you’ve provided. The prompt references the specific technologies to use, and points to any relevant files or folders where it may need to re-use or integrate with.
What we gain from using cursor
Cursor boosts feature development, bug fixes, and code optimisation, as well as increasing team productivity for only a marginal subscription cost.
This enables our engineers to deliver features quicker, and as a start-up, achieve product outcomes that previously required significantly larger teams and greater capital investment.