How to Win Projects on Upwork in 2025

You tell me.

Seriously, though, I recently returned to Upwork, and here are my initial thoughts. As I write this in summer 2025, my observation is that the market for custom development is experiencing a slight upward trend.

It’s been a while since my old agency last worked on Upwork. And even more since I did that personally. Since then, Upwork made sending job applications expensive. It now costs around $3 to apply to any worthwhile job I’m interested in. Ouch. I get why – the low-quality, often AI-generated applications are swamping the platform.

Yet I was able to land a decent project in the first 2 weeks, even though I am still experimenting with the process to get projects reliably.

My background

I have a freelancer profile that is around 15 years old, with 50 completed jobs and a 100% job success rate. The latter is a somewhat strange metric that says little about the freelancer, but I do have a bunch of 5 and 5-ish star reviews.

Upwork profile

I also have a agency profile that somewhat overlaps with the freelancer’s, but has some work history and reviews from others who worked with me at one point. I updated texts and links, did some cosmetic changes, but overall, I decided to not use it for now.

What I was looking for

First, fractional CTO and similar openings – companies or startups looking for an experienced dev to come on board and advise with the technology, either for existing or potential new projects.

Secondly, mobile or web development projects of any scale, from minor “help us finish the app” to “let’s build this platform from scratch”. I was focusing on the tech stack I am most familiar with – React and React Native, Node.js, native mobile, and the rest .

Tools

I bought a Freelancer Plus subscription from Upwork. There isn’t really a reason not to buy, because it comes with 100 Connects, you will need them anyway. It also comes with Job Alerts. They work pretty decently for me with minimal configuration. I turned them on for hourly jobs with a particular minimum hourly rate only. I don’t mind fixed price job postings (although I still try to negotiate hourly in most cases). To catch those, I set up a filter in a feed and review new job postings daily.

Portfolio

I have updated the portfolio while I was adding the case studies to my web site. I have adapted it to the current Upwork format. There is still a room for improvement, but I am satisfied for now.

Upwork portfolio

When to apply

I don’t bother to apply fast. And I am telling this from my own hiring experience on Upwork. My opinion: being in this overwhelming wave of the first 30 applications that fall on the hiring person in the first 30 minutes of the job posting going live doesn’t help, and may even harm.

It often helps to wait a day and land your application after the bulk of your competition. I believe, it improves your chances of being noticed, but whether this will help you win a contract depends on the client’s application processing process.

Cover letter

I write a very minimal intro. Two sentences and that’s it. Then I answer any questions and react to any explicit requests in the job posting. I mention the relevant experience if that’s possible. I attach few relevant portfolio items. And hit send.

Automation tools

My reluctance to apply quickly or first is the reason I am lukewarm towards the automated third party application tools that have “apply first” as their main selling point. They seem like great cash-burning machines and probably work well for larger agencies with cash to burn. I have decided they are not worth it for me. That’s not final, I plan to experiment.

Boosts

I tried boosting my application a couple of times with mixed results. It is certainly expensive thing that needs a proper budget allocated. I stopped doing that for now.

Upwork offers Availability badge for 1–2 Connects per day. Tried it for a week, didn’t see any change in projects invitations (got none) and response rate, turned it of for now. I plan to try Boosting the profile .

Results

In 2 weeks time:

  • received 121 job alerts
  • applied to total of 15 jobs
  • got 5 responses
  • won 1 job offer

Funnel for Upwork

All while:

  • lost 2 bids (with 2 remain unresolved)
  • received 0 project invitations
  • spent around $40 on Connects
  • spent 30 minutes a day for applications

Not too bad, given I am only starting and haven’t yet optimized the process. Let’s see how it goes.

06 August 2025
Vitalii

Hi. I'm Vitalii.

I’m a software developer, technical manager and solo entrepreneur. I have been building software products all my life. I am offering CTO as a Service at many-to-many.

Contact me

Let me know what are you looking for. I will reach out to you via the provided email with quote and follow up questions. Alternatively, book a call or reach me directy by email hello@manytomany.co.

Sending...
error
We have received your message and will respond shortly. Thank you!

Or using your preferred messaging app: