Where Should Tech Families Relocate? Salary Versus Family Cost of Living

Infographic: monthly disposable income for a senior tech worker's family relocating from abroad in 64 hubs, after tax, benefits, rent, living costs, school, healthcare and one car

A senior software engineer who relocates with a family does not face the same bill as a single engineer renting a one-bedroom flat. The partner stays home, two children need school and healthcare, and one car is part of daily life. I rebuilt my earlier purchasing-power ranking for that household, across the same 64 tech hubs, and asked a sharper question: what is left each month after tax, benefits, rent, everyday living, school fees that foreigners actually pay, healthcare, and the car.

The answer changes once you stop thinking like a long-settled local and start thinking like a family that has just arrived on a work permit.

Who this ranking is for

The persona is the same everywhere: a senior software engineer of about 35, a partner who is not in paid work, two children aged 5 and 8, and one car. The salary is the Levels.fyi senior base median for each hub. Everyday living costs come from Numbeo’s family-of-four basket excluding rent. Housing is a three-bedroom apartment outside the city centre, which is more realistic for a family with a car than a centre flat.

I framed every tax, benefit, school and healthcare choice for a family relocating from abroad, not for someone who has lived in the country for years. That framing is the whole point of this study.

Why the relocating lens changes the numbers

Special tax regimes that newcomers often receive matter a lot. In the Netherlands I applied the 30 percent ruling. In Spain I used the Beckham law flat rate of 24 percent on employment income. In France I applied the impatriate regime that exempts 30 percent of taxable pay from income tax. In Denmark I used the 27 percent key-employee scheme, and in Portugal the IFICI flat rate of 20 percent for qualifying technology specialists. Ireland’s special assignee relief and Sweden’s expert tax were left out, because a typical direct local hire would not usually qualify.

Child benefits are another trap. Canada’s child benefit needs 18 months of continuous residency before a temporary resident can claim it, so I excluded it for a newly arrived family. Singapore’s baby bonus is for citizens only. Typical United States work-visa families keep the child tax credit when the children have Social Security numbers. Most European child allowances remain available to resident work-permit holders, and those stay in the model.

School is not free for foreigners everywhere. In 48 of the 64 hubs, public primary school is open to resident children of work-permit holders at no tuition, so I used zero. In Singapore, non-ASEAN pupils at government or government-aided primary schools pay Ministry of Education fees that add up to about 1,639 dollars a month for two children. In 15 hubs, including Dubai, Riyadh, the Chinese cities, India, much of Southeast Asia, Lagos and Nairobi, relocating tech families typically use private or international schools, so I used a mid-range private or Numbeo international primary cost for two children.

Healthcare follows the same relocating test. Where a foreign family must buy cover, I included it: the United Kingdom Immigration Health Surcharge of 1,035 pounds a year per adult and 776 pounds a year per child, Australian overseas visitor cover for work-visa holders, Singapore private plans for Employment Pass holders, and mid-range private cover where public insurance does not usefully cover foreign dependents. In Dubai and Riyadh the employer must insure the family, so the employee premium is zero. In the United States, Switzerland and the Netherlands the mandatory employee share was already in the model. I also set aside a monthly out-of-pocket allowance for a bad year, such as a child who breaks a leg and goes to hospital, using official deductibles and co-pay caps where they are published and labelling the rest as approximations.

What the ranking shows

Top 10 and bottom 10 hubs by monthly disposable income for a relocating tech family, among the 39 hubs with solid or partial data

United States cities still dominate the top of the list, even after family healthcare. Austin leaves about 4,473 dollars a month. Silicon Valley follows at about 3,366, then Seattle at 3,093, Chicago at 2,544 and Philadelphia at 1,850. Boston, Los Angeles and San Diego stay in the top ten as well. That lead survives the average employee share of a family health premium and a bad-year deductible of about 163 dollars a month.

Copenhagen appears high in the full ranking, around 1,461 dollars a month, helped by Denmark’s 27 percent scheme for highly paid newcomers. That figure rests on a thin salary sample and is marked as a rough estimate, so it should be read with caution. Among the 39 hubs with solid or partial data, Manchester is the strongest European city in the top ten, at about 914 dollars a month after the United Kingdom health surcharge.

Zurich, often treated as a high earner’s paradise, breaks even at zero once Swiss mandatory health premiums and a modest out-of-pocket allowance are included. Toronto leaves about 207 dollars a month, and Vancouver about 336, both without Canada’s child benefit in the first year. Montreal slips slightly negative.

London is a clear warning for a relocating family. After tax, the health surcharge of about 407 dollars a month for this household, and a three-bedroom rent outside the centre of about 3,782 dollars, the city leaves a shortfall of about 1,813 dollars a month. New York City is also negative, at about 663 dollars short, because rent and healthcare overwhelm a high gross salary.

Singapore and many Asian and African hubs turn sharply negative once school and private health enter the picture. Singapore leaves a shortfall of about 4,089 dollars a month: the car price includes the Certificate of Entitlement, government school fees for non-ASEAN pupils add about 1,639 dollars, and private health for an Employment Pass family adds hundreds more. Dubai is negative mainly because of international school costs, even though the employer pays mandatory health cover. Lagos sits at the bottom with a shortfall of about 6,424 dollars a month. Across the full list, 18 hubs leave a surplus, Zurich breaks even, and 45 leave a shortfall.

Stacked budget chart showing where monthly net pay goes for a relocating tech family in eight hubs, including healthcare

The stacked view makes the same point city by city. In Austin and Seattle, net pay still covers rent, living costs, the car and healthcare, with thousands left over. In Zurich the pieces fill the net-pay tick almost exactly. In London and Singapore the cost bar runs past net pay, and school or healthcare are visible reasons why.

What this means if you are thinking of moving

A high gross salary is not enough for a family move. The places that look generous for a single engineer can shrink once a non-working partner, two children, school access and real healthcare rules are included. United States hubs keep a structural advantage for this persona, but only if the visa and the family health plan are realistic. European cities with strong expat tax regimes improve for newcomers, yet rent and health surcharges can erase that gain. Hubs that push foreign children into private school, or foreign workers into private health insurance, need a much higher salary than the headline Levels.fyi number suggests.

I would treat gaps of a few hundred dollars between neighbouring cities as noise, especially where the salary sample is thin. The useful signal is the large gap between the leading United States cities, the break-even European cases, and the deep shortfalls where school and private health dominate.

How I built it

Salaries are Levels.fyi Software Engineer senior base medians, accessed on 5 November 2026. Where a city has no senior page of its own, I used the national Levels.fyi senior median for that country: Munich, Vilnius, Riyadh, Shenzhen, Hangzhou, Bangkok, Lagos, Nairobi, Bogotá, Santiago, Manchester and Bucharest. Miami uses a Bureau of Labor Statistics estimate scaled to senior level, and Hyderabad is scaled from Bengaluru.

Taxes, social contributions and child benefits follow each country’s 2026 rules for a single-earner couple with two children, with the relocating adjustments described above. Rent is Numbeo’s three-bedroom apartment outside the centre. Everyday living is Numbeo’s family-of-four estimate excluding rent. The car is a Toyota Corolla paid off over five years, minus the small share of car costs already inside Numbeo’s basket, plus extra fuel and a simple insurance estimate; in Singapore the Numbeo car price includes the Certificate of Entitlement.

School classifications and fees are documented city by city. Healthcare premiums and the bad-year out-of-pocket allowance are documented with sources; some private premiums and some out-of-pocket figures are labelled approximations. All amounts are in United States dollars at 5 November 2026 spot rates.

Of the 64 hubs, 17 have solid data, 22 have partial data, and 25 are rough estimates that rely on small samples or simplified models. Read the ranking for large differences, not for fine rankings among rough cities.

Full per-country data is available on request: explore@juliensalinas.com.

If you have relocated with children and your experience differs from this picture, tell me which city and what I should adjust.

Where Do EU Citizens Emigrate Outside the EU? The Top 25 Destinations

Infographic: the 25 top emigration destinations outside the EU for people born in the EU in 2024, with their main EU countries of birth and the share aged 65 or over

When EU citizens emigrate, a little over half of them settle in another EU country, which free movement makes easy. Yet millions do leave the EU altogether, and I wanted to know where they go. The answer is less obvious than it seems: the top 25 emigration destinations outside the EU include Canada and Australia, as you would expect, but also Türkiye, Serbia, Brazil and Russia, and the people behind each figure turn out to be very different.

What the numbers measure

Every figure in the main ranking is the total number of EU-born emigrants living in a given country in mid-2024, that is, people who were born in one of the 27 EU countries and now reside in that destination. It is not a yearly flow: it adds up everyone who emigrated there, whether they moved last year or fifty years ago. That distinction matters, because it explains why some destinations rank high for reasons that have more to do with history than with relocation today.

The UK and the US lead by far

The United Kingdom is the first emigration destination outside the EU, with 3.41 million EU-born residents, and the United States comes second with 2.89 million. Together they account for almost half of the 13 million EU-born emigrants counted across the top 25. Switzerland (1.44 million) and Canada (1.12 million) are the only other countries above one million, followed by Türkiye (956,000) and Australia (835,000).

Beyond the top six, the figures drop quickly. Norway hosts 381,000 EU-born emigrants, Israel 340,000 and Serbia 288,000, and the last places on the list, Japan, Uruguay and Andorra, each host a little over 40,000.

Who goes where

The country of birth changes completely from one destination to the next. Poles and Romanians make up almost half of the EU-born emigrants in the UK (26% and 21%), which likely reflects the large movement that followed their countries’ accession to the EU. Germans are the largest group in the United States (39%) and in Switzerland (26%), while Italians remain the first group in Canada (16%) and Australia (18%).

Shared languages and old historical ties likely play a role too. Portuguese-born emigrants make up 55% of the EU-born population in Brazil, Spanish-born emigrants make up 59% in Uruguay and 42% in Argentina, and people born in France account for 80% in Morocco and 99% in New Caledonia, which is a French territory outside the EU. Thailand, for its part, splits almost evenly between Germans and French.

Retirees in some places, younger arrivals in others

Age is where the contrast is sharpest. In Canada and Australia, 39% of the European-born residents are aged 65 or over, and the share reaches 37% in Israel, which likely reflects waves of emigration that took place decades ago. In the United Kingdom, by contrast, only 10% are 65 or over, and the share falls to 8% in Japan, 7% in Norway and 4% in Iceland, likely because most people arrived more recently, many of them to work.

These age shares have an important limit, which I explain in the methodology below: they cover OECD countries only, they date from 2015/16, and they count everyone born in Europe rather than only in the EU.

When history explains the ranking

A few entries reflect history more than recent emigration, and I chose to keep them in the ranking while explaining them rather than dropping them:

  • Serbia: 77% of its EU-born residents were born in Croatia before Yugoslavia broke up, which likely explains most of this figure.
  • Türkiye: the EU-born population mixes people born in Bulgaria (36%), likely including many ethnic Turks who left in past decades, and people born in Germany (38%), likely including many children of Turkish migrants who returned home.
  • Russia and Ukraine: most of their EU-born residents were born in Germany or the Baltic states (Lithuania and Latvia make up 73% in Ukraine), which likely reflects moves within the Soviet bloc.
  • Israel: the largest groups were born in Romania (34%) and Poland (18%), and they likely include many older Jewish immigrants.
  • Latin America: the Spanish, Portuguese and Italian communities in Brazil, Venezuela, Argentina, Mexico, Chile and Uruguay likely reflect the great waves of 20th-century emigration.

How I built it

  • Number of EU-born emigrants: UN DESA international migrant estimates, 2024 edition, table by destination and origin, mid-2024. I added up the 27 EU countries of origin for each destination. Most countries count people by country of birth, but Thailand, Morocco, Japan and Andorra count them by citizenship.
  • Main countries of birth: the same UN DESA table, showing the two EU countries that make up the largest shares of each destination’s EU-born population.
  • Share aged 65 or over: the OECD Database on Immigrants in OECD Countries (DIOC) 2015/16, based on national censuses and registers. Its public files only break people down by region of birth, so I used everyone born in Europe as an approximation of the EU-born population.
  • Scope: I kept every country outside the EU27, including the EFTA countries Switzerland, Norway and Iceland. I left out Réunion, Guadeloupe and Martinique, because these French overseas departments are legally part of the EU.

Limits

The ranking counts all EU-born emigrants, whatever their age, so it includes retirees, children and people who emigrated decades ago. The age data is about ten years older than the main figures, covers only 13 of the 25 destinations, and includes people born in non-EU European countries such as the UK, Russia or Ukraine, so it should be read as an indication rather than an exact profile. I also looked for comparable data on self-employment and household type by EU country of birth, but I did not find any source that covers these destinations consistently, so I left them out rather than guess.

The full per-country data, with the sources and definitions for each destination, is available on request: email explore@juliensalinas.com.

If you spot an error, or know a better source for one of these countries, tell me and I will update the chart.

Where Should Tech Workers Relocate? 64 Hubs, Salary vs. Cost of Living

Infographic: monthly disposable income of a mid-level software engineer in 64 tech hubs, after income tax, social contributions and one-bedroom city-centre rent

A software engineer on a $200,000 salary in Silicon Valley keeps less each month than one on $160,000 in Austin. Once you subtract income tax and rent, $7,912 a month in the Valley versus $8,128 in Austin. That is why I stopped comparing salaries and started comparing what is left at the end of the month, for 64 tech hubs.

Why salary alone is misleading

Two things sit between a gross salary and your bank account: what the state takes (income tax and social contributions) and what your landlord takes. Both vary enormously from one hub to the next. In the data below, the share of gross pay going to tax and social contributions ranges from 0% (Dubai, Riyadh) to 41.5% (Bucharest). The rent for a one-bedroom apartment in the city centre ranges from $230 a month in Hyderabad to $4,411 in New York.

This is the second half of a pair. In my previous post I asked “can you actually get a work visa there?”. This one asks “is it worth going?”.

How I measured it

I used one persona everywhere: a mid-level software engineer, single, renting a one-bedroom apartment near the city centre.

  • Gross salary: the median base salary for Software Engineers on Levels.fyi, accessed on 16 October 2026.
  • Net salary: gross salary minus income tax and employee social contributions for a single person, computed with each country’s official 2026 rules.
  • Rent: the average one-bedroom city-centre rent on Numbeo.
  • Currency: everything converted to USD at the 16 October 2026 spot rate.
  • Result: monthly disposable income = net salary / 12 minus rent.

I left out groceries, transport and everything else. Rent is the one cost I could compare consistently across all 64 hubs. This is not a full cost-of-living index.

What I found

Seattle, Austin, Zurich and Silicon Valley lead.

  • Seattle: $8,529 a month
  • Austin: $8,128
  • Zurich: $8,107
  • Silicon Valley: $7,912

Twelve hubs leave more than $5,000 a month. Ten are in the US, plus Zurich and Tel Aviv ($5,641). All 11 US hubs sit in the top 13.

Silicon Valley has the highest salary, but is only fourth. The median base pay is $200,000, the highest of the 64 hubs. But 34% of it goes to tax and social contributions, against 26.8% in Seattle and 24.6% in Austin. Rent in San Jose is $3,086, against $2,454 in Seattle and $1,924 in Austin. Silicon Valley’s net monthly salary ($10,998) is almost the same as Seattle’s ($10,983). The rent difference is what pushes it down.

New York is a rent story. A $170,000 salary leaves $9,312 a month after tax, but rent ($4,411) is the highest on the chart. You keep $4,902, 13th.

Dubai vs. London. Dubai charges no income tax, so an $81,699 salary is all net. After rent you keep $4,401 a month. London pays $121,799 gross, but you keep $4,202. Close enough that I would call it a tie, and Dubai’s figure is graded “partial” (see limitations).

Paris vs. London. Paris leaves $2,336 a month, London $4,202, about 1.8 times more. The difference comes from pay, not rent: the London median is $121,799 gross against $68,256 in Paris, while London rent is $2,851 against $1,556.

China vs. Berlin. Beijing ($3,792), Hangzhou ($3,663) and Shanghai ($3,587) all beat Berlin ($3,544). Shenzhen ($3,494) is just below. Berlin pays more gross ($101,005 against $80,787 in Beijing), but 40.3% goes to tax and social contributions and rent is higher ($1,481 against $937 in Beijing).

Singapore, with a note. Singapore’s gross salary is $78,747, but you keep only $2,109 a month, roughly level with Madrid ($2,087). Rent is $2,924, and I deducted the 20% employee CPF contribution, which applies to citizens and permanent residents. An expat on an Employment Pass pays no CPF, so for them the figure would be higher.

The earlier “sweet spot” hubs. Amsterdam ($3,175), Seoul ($3,162), Paris ($2,336) and Tokyo ($1,909) offered the best jobs-versus-visa balance in my previous post. Here they land between $1.9k and $3.2k.

The bottom of the list. Ho Chi Minh City leaves $353 a month, Jakarta $571 and Mumbai $736. Seattle leaves about 24 times more than Ho Chi Minh City, and about 2.8 times the median hub (about $3.1k). One caution: this is in dollars, so it shows how far a salary goes if you spend in dollars, not how well someone lives locally.

Jobs vs. leftover money. Only six hubs combine a tech jobs score of 7+ with more than $5,000 a month: Seattle, Silicon Valley, Austin, Los Angeles, Boston and Tel Aviv. Apart from Zurich (visa difficulty 6) and Tel Aviv (4), every hub above $5,000 is a US hub with a visa difficulty score of 8. The money is where the visa is hardest.

Chart: the 10 best and 10 worst-placed tech hubs by monthly disposable income, excluding rough estimates
Scatter plot: tech jobs score vs. monthly disposable income for 64 tech hubs

Limitations

  • Levels.fyi medians cover all levels. They are self-reported and lean toward big tech and senior roles. I could not isolate “mid-level”. In emerging markets they probably overstate what a typical local engineer earns.
  • Health premiums and occupational pensions are excluded everywhere. I included mandatory government social contributions and statutory provident funds, but not private health insurance (mandatory in the Netherlands and Switzerland, employer-provided in the US) or employer and occupational pensions. This probably flatters Zurich and the US most.
  • Data quality varies. Of the 64 hubs, 25 are solid, 29 partial and 10 rough. “Solid” means a large Levels.fyi sample, enough Numbeo contributors and a complete tax model. “Partial” means one of those is weaker, such as a country-level salary used for a city or a simplified tax model. The 10 rough estimates are Miami, Copenhagen, Riyadh, Vilnius, Santiago, Bogotá, Cape Town, Bangkok, Nairobi and Lagos. Treat their rank as indicative only. Lagos comes out negative (-$439 a month) on a very small salary sample.
  • Miami uses a different source. Levels.fyi has no Miami page, so I used the US Bureau of Labor Statistics median for software developers in the Miami metro area ($132,650). It covers all employers and is not directly comparable.
  • Spot rates. I converted at one day’s exchange rate, so a currency move of a few percent can reorder close hubs. Hangzhou and Shenzhen use the China-wide Levels.fyi median.
  • Rent is crowd-sourced. Numbeo’s number of contributors differs by city.

The ranking is therefore reliable for large gaps (Seattle vs. Paris, or London vs. Mumbai) and not for small ones (Dubai vs. London, Berlin vs. Shenzhen).

Sources

  • Salaries: Levels.fyi, Software Engineer base salary, median, accessed 16 October 2026. Miami: US Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025, software developers, Miami metro area.
  • Rent: Numbeo, one-bedroom apartment in city centre, data updated mid-October 2026.
  • Exchange rates: ExchangeRate-API (open.er-api.com), 16 October 2026.
  • Taxes and social contributions (2026 rules): official authorities, for example the IRS and SSA (US), CRA (Canada), GOV.UK (UK), §32a EStG (Germany), ESTV and the canton of Zurich (Switzerland), Belastingdienst (Netherlands), IRAS and the CPF Board (Singapore), and the national authority of each other country.

The full per-country data, with the exact sources, assumptions and tax parameters for each hub, is available on request: email explore@juliensalinas.com.

If you spot an error, or a rule that changed, tell me and I will update the chart.


Julien Salinas · @juliensalinas · explore@juliensalinas.com · linkedin.com/in/julien-salinas-673b3811

Where Should Tech Workers Relocate? 64 Hubs, Jobs vs. Visa Difficulty

Infographic: 64 tech hubs plotted by tech job opportunity vs. visa difficulty for skilled tech workers

More tech workers are open to moving abroad for work than a few years ago. But “where is the job market good?” and “where can I actually get a visa?” are two different questions. I put both on one chart for 64 tech hubs.

Why this matters

A few data points I checked:

  • In the 2025 CERC/Ipsos Global Mobility Survey of 10,574 workers across 19 countries, “almost half (49%) of employees say they would consider relocating internationally for work; a notable increase compared to 2017, when 46% would consider the same” (Ipsos). The sponsor report frames this as relocation “for up to two years” and lists information technology (58%) as the second most open sector, behind utilities (59%) (CERC/WFPMA sponsor report).
  • The most famous tech visa is also a lottery. For the US H-1B cap in fiscal year 2026, USCIS counted about 339,000 eligible unique beneficiaries and selected 118,660 of them in the initial selection. (USCIS)
  • Rules keep moving. In 2026 alone, Germany raised its EU Blue Card salary thresholds (Make it in Germany), Sweden moved to a 90%-of-median salary requirement (Migrationsverket), Malaysia roughly doubled its Employment Pass salary minimums (ESD Malaysia), and Singapore announced higher Employment Pass salaries from 2027 (MOM). In the US, the $100,000 H-1B payment introduced in 2025 was blocked by the courts in 2026 while the government appeals (USCIS).

So I wanted a single view: where are the jobs, and where is the door actually open?

The findings

The sweet spot (many jobs, easier visa): Amsterdam, Paris, Tokyo, Seoul. All four combine strong tech ecosystems with a clear, employer-sponsored route.

  • Amsterdam: the Netherlands’ highly skilled migrant permit, through an IND-recognised employer.
  • Paris: France’s “Talent” residence card.
  • Tokyo: Japan’s engineer visa and its points-based highly skilled professional track.
  • Seoul: Korea’s E-7 professional visa.

None of them uses a lottery.

Close behind: Singapore, Tel Aviv, Dublin, Hong Kong.

  • Singapore and Tel Aviv score higher on jobs than any city in the top group, but their visas are a bit harder. Singapore has a salary bar plus a points test. Israel has a high minimum salary for foreign experts.
  • Dublin and Hong Kong are among the easiest visas on the chart for a solid job market. Ireland has its Critical Skills permit. Hong Kong’s Top Talent Pass doesn’t even require a job offer.
  • Berlin, Toronto-Waterloo and Bengaluru sit just behind.

The US: the most jobs, the hardest visa. Silicon Valley, New York, Boston and Seattle top the jobs axis. They also sit at the bottom of the visa axis. The H-1B is capped and allocated by lottery, now weighted by wage level. On top of that, policy has been unstable: a $100,000 fee was announced, then blocked by courts, and a separate fee has been proposed.

Other patterns:

  • London has a deep job market. But the UK Skilled Worker route needs a licensed sponsor and a £41,700 minimum salary, which puts it just outside the sweet spot.
  • Zurich and China’s hubs (Beijing, Shanghai, Shenzhen, Hangzhou) are hard. Switzerland has a fixed annual quota for non-EU workers. China uses a points-based permit system with rising salary thresholds.
  • Many smaller hubs are easy to enter but have fewer jobs. Examples are Tallinn, Vilnius, Helsinki, Dubai, Kuala Lumpur and Auckland. They’re worth a look if you already have an offer or work remotely.

Methodology

Tech jobs score (1-10). This is based mainly on the Startup Genome Global Startup Ecosystem Report 2025 ranking. I adjusted it with my judgment of each hub’s size and pay level. Hubs outside that ranking were scored on general market size only.

Visa difficulty score (1-10). Each hub starts at 1 and adds points:

  • +3 for a capped lottery (US H-1B)
  • +2 for a hard national quota, or +1 for a soft or very large quota or an overall cap on temporary workers
  • +1 if employer sponsorship is required
  • +1 for a labour-market test or local-hire/understudy requirement
  • +1 for a salary or points threshold that is high relative to local tech pay
  • +1 if typical processing takes over 3 months (+2 if over 6 months or tied to an annual cycle)
  • +1 each for: a language barrier in most tech jobs, recent tightening, policy instability or high fees or security concerns, heavy bureaucracy

Scores max out at 10. In practice they range from 2 to 8. The chart’s quadrant line sits at 4.5 on visa difficulty and 5.5 on jobs.

Verification. On 13 October 2026, I checked the main skilled-worker route in each of the 43 countries behind the 64 hubs against official immigration pages.

  • 37 countries: I opened and read official pages, fully for 28 and partially for 9.
  • Vietnam: checked against the full text of the relevant decree on a legal database.
  • 5 countries: the official sites could not be fetched (blocked, bot checks or dead links). These are India, Israel, Australia, Finland and Colombia, and their scores rely on secondary sources.

A few inputs are also flagged as secondary-only. Examples include Korea’s E-7 salary floor, Japan’s processing times and Poland’s Blue Card salary. The full per-country data (exact URLs read and inputs that remain unverified) is available on request: DM me or email explore@juliensalinas.com.

Assumptions:

  • The person is a skilled tech worker from outside the EU, with a job offer.
  • Nationality matters a lot. EU citizens move freely within the EU, and bilateral deals exist, so your personal result may differ.
  • Points were nudged slightly apart on the chart when scores tie.

Caveats

  • These are editorial scores, not measurements. The rubric makes my judgment explicit and consistent, but it is still judgment.
  • Rules change fast. Several changed during 2026, and the US fee situation could flip again after appeal. Check the official page before you act.
  • A visa route existing doesn’t mean you’ll get it. Approval depends on your profile, your employer and the specific role.
  • The jobs score leans on startup ecosystems. It under-weights places with large corporate or outsourcing tech employment.
  • Cost of living, salaries after tax, language and quality of life aren’t on this chart. They matter as much as the two axes.

If you spot an error or a rule that changed, tell me and I’ll update the chart.


Julien Salinas · @juliensalinas · explore@juliensalinas.com

Effectively Using ChatDolphin, The ChatGPT Alternative, With Simple Instructions

NLP Cloud has developed a powerful alternative to OpenAI ChatGPT, called ChatDolphin. These AI models are interesting because they understand very well simple instructions made in natural language without having to use few-shot learning and complex prompt engineering. Let’s see how to craft such instructions in order to make the most of ChatDolphin and ChatGPT.

ChatGPT and ChatDolphin

ChatGPT was released in December 2022 by OpenAI as a small generative model that is very good at understanding human instructions, optimized for conversations and large detailed answers. It appears that ChatGPT is very good at handling many use cases, not only conversations. Like GPT-3, you can use ChatGPT to perform summarization, paraphrasing, entity extraction, etc. Thanks to its small size, ChatGPT is also cheaper than GPT-3.

In April 2023, NLP Cloud released ChatDolphin, a powerful alternative to ChatGPT. ChatDolphin is an in-house NLP Cloud model that is very good at understanding human instructions, handling conversations, and behaves exactly like ChatGPT. ChatDolphin is cheap too.

Below, I’m showing you examples obtained using the text generation endpoint on NLP Cloud with ChatDolphin, with the Python client. If you want to copy paste the examples, please don’t forget to add your own API token. In order to install the Python client, first run the following: pip install nlpcloud.

Few-Shot Learning VS Simple Instructions

When the first large language models were released, like GPT-J, OPT, Bloom, etc. it quickly appeared that - despite being very powerful - these models were not able to understand simple human instructions made in natural language.

For example, if you want to extract a name, a position, and a company, from a piece of text, you need to do something like this using GPT-J on NLP Cloud:

import nlpcloud
client = nlpcloud.Client("gpt-j", "<your API token>", gpu=True)
generation = client.generation("""[Text]: Fred is a serial entrepreneur. Co-founder and CEO of Platform.sh, he previously co-founded Commerce Guys, a leading Drupal ecommerce provider. His mission is to guarantee that as we continue on an ambitious journey to profoundly transform how cloud computing is used and perceived, we keep our feet well on the ground continuing the rapid growth we have enjoyed up until now. 
[Name]: Fred
[Position]: Co-founder and CEO
[Company]: Platform.sh
###
[Text]: Microsoft (the word being a portmanteau of "microcomputer software") was founded by Bill Gates on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800. Steve Ballmer replaced Gates as CEO in 2000, and later envisioned a "devices and services" strategy.
[Name]:  Steve Ballmer
[Position]: CEO
[Company]: Microsoft
###
[Text]: Franck Riboud was born on 7 November 1955 in Lyon. He is the son of Antoine Riboud, the previous CEO, who transformed the former European glassmaker BSN Group into a leading player in the food industry. He is the CEO at Danone.
[Name]:  Franck Riboud
[Position]: CEO
[Company]: Danone
###
[Text]: David Melvin is working for CITIC CLSA with over 30 years’ experience in investment banking and private equity. He is currently a Senior Adviser of CITIC CLSA.
""",
    top_p=0,
    length_no_input=True,
    end_sequence="###",
    remove_end_sequence=True,
    remove_input=True)
print(generation["generated_text"])

This technique is known as few-shot learning, or prompt engineering.

Few-shot learning works very well on ChatGPT and ChatDolphin and allows you to get very advanced results. But in most cases few-shot learning is not needed and unnecessarily complex. Besides, as the generative AI models only allow for a limited input length, the few-shot examples sometimes simply don’t fit into the request.

Good news is that, when properly fine-tuned, the large language models can learn how to understand human instructions without using few-shot learning. This is the case of ChatGPT and ChatDolphin.

With these models, here is how your query would look like:

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Extract name, position, and company, from the following text.

David Melvin working for CITIC CLSA with over 30 years’ experience in investment banking and private equity. He is currently a Senior Adviser of CITIC CLSA.""")
print(generation["generated_text"])

Output:

Name: David Melvin
Position: Senior Adviser
Company: CITIC CLSA

Much simpler isn’t it? Now what if I want the result to be formatted as JSON? Here is a simple instruction:

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Extract name, position, and company, from the following text. Format the result as JSON.

David Melvin working for CITIC CLSA with over 30 years’ experience in investment banking and private equity. He is currently a Senior Adviser of CITIC CLSA.""")
print(generation["generated_text"])

Output:

{
"name": "David Melvin",
"position": "Senior Adviser",
"company": "CITIC CLSA"
}

I think you get the idea don’t you?

Note that these models are trained to generate large responses. If you need short and concise responses, you can mention it in your prompt (with something like “Make a short response.”).

Sentiment Analysis with ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""What is the sentiment in the following text? Positive, negative, or neutral? Answer with one word only.

The reactivity of your team has been amazing, thanks!""")
print(generation["generated_text"])

Output:

Positive

HTML code generation with ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Generate the HTML code for a a Headline saying "Welcome to AI"""")
print(generation["generated_text"])

Output:

<h1>Welcome to AI</h1>

Question Answering With ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Answer this question using the below context: Which plan is recommended for GPT-J? Make a short response.

Context: The main challenge with GPT-J is memory consumption. Using a GPU plan is recommended.""")
print(generation["generated_text"])

Output:

Since the main challenge with GPT-J is memory consumption, using a GPU plan is recommended to address this issue. Therefore, the recommended plan for GPT-J is the GPU plan.

Tutorial Creation With ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Create a tutorial about how to make a cake.""")
print(generation["generated_text"])

Output:

Here's a step-by-step guide to making a cake:

Ingredients:

* 2 cups all-purpose flour
* 2 teaspoons baking powder
* 1 teaspoon salt
* 1 cup unsalted butter, at room temperature
* 1 cup granulated sugar
* 2 large eggs
* 2 teaspoons vanilla extract
* 1 cup whole milk, at room temperature

Equipment:

* 9-inch round cake pan
* Rubber spatula
* Whisk
* Measuring cups and spoons
* Mixing bowls

Instructions:

1. Preheat your oven to 350°F (180°C). Grease and flour your 9-inch round cake pan.
2. In a mixing bowl, whisk together flour, baking powder, and salt. Set aside.
3. In another mixing bowl, using an electric mixer, beat together the butter and sugar until light and fluffy. Add the eggs, one at a time, beating well after each addition. Stir in the vanilla extract.
4. Gradually add the dry ingredients to the butter mixture, alternating with the milk and mixing until just combined.
5. Pour the batter into the prepared cake pan.
6. Bake the cake for 30-35 minutes, or until a toothpick inserted into the center comes out clean.
7. Remove the cake from the oven and let it cool in the pan for 5-10 minutes. Then, remove the cake from the pan and let it cool completely on a wire rack.
8. Once the cake is completely cool, you can ice and decorate it if you like. Enjoy!

Note: You can also use other types of flour, such as almond or coconut flour, and substitute other sweetener for the sugar, like honey or maple syrup. You can also add other ingredients like chocolate chips, nuts, or dried fruits to the batter for added flavor and texture.

Grammar and Spelling Correction with ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Correct spelling and grammar mistakes from the following text.

I do not wan to go""")
print(generation["generated_text"])

Output:

I do not wan to go

Machine Translation with ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Translate the following content to English.

NLP Cloud permet de deployer le NLP en production facilement.""")
print(generation["generated_text"])

Output:

NLP Cloud makes it easy to deploy NLP in production.

Tweet Generation with ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Generate a Tweet about NLP.""")
print(generation["generated_text"])

Output:

NLP is revolutionizing the way we communicate with computers. From voice assistants to chatbots, natural language processing is making interactions with technology more human-like than ever before. Exciting times ahead for this field! #NLP #AI #Technology

Intent Classification with ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""What is the main intent in the following text?

Hello

I spent some time on your documentation but I could not figure how to add a new credit card.
It is a problem because my current card is going to expire soon and I'm affraid that it will cause a service disruption.
How can I update my credit card?

Thanks in advance,

Looking forward to hearing from you,

John Doe""")
print(generation["generated_text"])

Output:

The main intent behind the text is to inquire about the process for updating a credit card in a service.

Paraphrasing with ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Paraphrase the following text.

After a war lasting 20 years, following the decision taken first by President Trump and then by President Biden to withdraw American troops, Kabul, the capital of Afghanistan, fell within a few hours to the Taliban, without resistance.""")
print(generation["generated_text"])

Output:

Following a 20-year war that was initially approved by President Trump and then continued under President Biden's leadership, American soldiers were withdrawn from Afghanistan. As a result, the Taliban was able to easily seize control of Kabul, the capital of Afghanistan, without encountering any resistance.

Summarization with ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Summarize the following text.

For all its whizz-bang caper-gone-wrong energy, and for all its subsequent emotional troughs, this week’s Succession finale might have been the most important in its entire run. Because, unless I am very much wrong, Succession – a show about people trying to forcefully mount a succession – just had its succession. And now everything has to change.
The episode ended with Logan Roy defying his children by selling Waystar Royco to idiosyncratic Swedish tech bro Lukas Matsson. It’s an unexpected twist, like if King Lear contained a weird new beat where Lear hands the British crown to Jack Dorsey for a laugh, but it sets up a bold new future for the show. What will happen in season four? Here are some theories.
Season three of Succession picked up seconds after season two ended. It was a smart move, showing the immediate swirl of confusion that followed Kendall Roy’s decision to undo his father, and something similar could happen here. This week’s episode ended with three of the Roy siblings heartbroken and angry at their father’s grand betrayal. Perhaps season four could pick up at that precise moment, and show their efforts to reorganise their rebellion against him. This is something that Succession undoubtedly does very well – for the most part, its greatest moments have been those heart-thumping scenes where Kendall scraps for support to unseat his dad – and Jesse Armstrong has more than enough dramatic clout to centre the entire season around the battle to stop the Matsson deal dead in its tracks.""")
print(generation["generated_text"])

Output:

The Succession finale had a succession, with Logan Roy selling Waystar Royco to Lukas Matsson, which sets up a bold new future for the show. The third season picked up seconds after the second season ended, and the next season could pick up at the moment where the Roy siblings are heartbroken and angry at their father's betrayal, centering the season around their rebellion against him.

Zero-shot text classification with ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""In one word, what is the main topic in the following text?

After a war lasting 20 years, following the decision taken first by President Trump and then by President Biden to withdraw American troops, Kabul, the capital of Afghanistan, fell within a few hours to the Taliban, without resistance.""")
print(generation["generated_text"])

Output:

war

Keyword and Keyphrase Extraction with ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Extract the main keywords from the following text.

Since transformer models have a token limit, you might run into some errors when inputting large documents. In that case, you could consider splitting up your document into paragraphs and mean pooling (taking the average of) the resulting vectors.""")
print(generation["generated_text"])

Output:

Token limit, large documents, transformer models, splitting, paragraphs, mean pooling, tokenizing, vectorization.

Product Description and Ad Generation With ChatDolphin

import nlpcloud
client = nlpcloud.Client("chatdolphin", "<your API token>", gpu=True)
generation = client.generation("""Generate a product description out of the following keywords: t-shirt, men, $39""")
print(generation["generated_text"])

Output:

Introducing our premium t-shirt for men, made with high-quality materials and craftsmanship. This $39 t-shirt is designed to provide comfort and style, making it the perfect addition to any man's wardrobe. With a range of colors and sizes to choose from, you're sure to find the perfect t-shirt to suit your style. Whether you're running errands or hanging out with friends, our t-shirt is the perfect choice for any occasion.

Blog Post Generation With GPT-J

import nlpcloud
client = nlpcloud.Client("gpt-j", "<your API token>", gpu=True)
generation = client.generation("""Generate a whole blog article in HTML format about the following topic: 4 Best Tips to Find a Girlfriend
The article should contain the following keywords: Paris, romance, love""")
print(generation["generated_text"])

Output:

<html>
<head>
<title>4 Best Tips to Find a Girlfriend</title>
<meta charset="UTF-8">
<meta name="description" content="Looking for love in Paris? Follow these four tips to find your perfect girlfriend.">
</head>
<body>
<h1>4 Best Tips to Find a Girlfriend in Paris</h1>
<p>Are you tired of the dating scene in Paris and ready to find a serious relationship? Finding a girlfriend in the City of Love can seem like a daunting task, but with these four tips, you can increase your chances of finding lasting love.</p>
<h2>1. Be Open-Minded</h2>
<p>One of the biggest mistakes people make when looking for a girlfriend is being too picky. Instead of focusing on the little things that might be deal breakers, be open to different types of people and personalities. You never know who you might hit it off with if you keep an open mind.</p>
<h2>2. Join a Social Club or Group</h2>
<p>Joining a social club or group that aligns with your interests can be a great way to meet new people and potentially find a girlfriend. Whether it's a book club, a sports team, or a Language exchange group, there are plenty of options to choose from in Paris. You can also sign up for online dating apps, but the chances of finding a meaningful connection are higher when you have something in common.</p>
<h2>3. Take Romantic Strolls</h2>
<p>Paris is known for its romantic atmosphere, and taking a stroll along the Seine or through the Luxembourg Gardens can be a great way to impress a potential girlfriend. Pack a picnic basket and enjoy a romantic lunch in the park, or take a boat ride down the Seine for a unique date. These memorable experiences can help you build a strong bond with someone special.</p>
<h2>4. Be Patient</h2>
<p>Finding a girlfriend in Paris takes time, just like finding love anywhere else. Don't get discouraged if things don't happen right away. Instead, focus on building genuine connections and getting to know people. The right person will come along when you least expect it, so be patient and keep an open mind.</p>
<p>By following these four tips, you can increase your chances of finding a girlfriend in Paris and experiencing the joys of lasting love. Remember to be open-minded, join social clubs or groups, take romantic strolls, and be patient. Good luck!</p>
<p>If you are looking for a girlfriend, here are some more tips to consider:<br><br>- Have a clear idea of what you want in a partner.<br>- Be confident and approachable.<br>- Show genuine interest in the person you're dating.<br>- Be respectful and treat your date with kindness and attention.</p>
<p>If you enjoyed this article, please like it on social media and share it with your friends. Your support helps us continue to provide valuable content.</p>
<p>For more tips and advice on dating and relationships, check out our blog.</p>
</body>
</html>

Conclusion

As you can see, ChatGPT and ChatDolphin can be easily used for many use cases without having to use few-shot learning!

The possibilities are countless! The idea is to be very clear and explicit in your instruction so the model correctly understands what you want.

Hope you found it useful!