You can't cURL a Border

valzevul | 453 points

I had no idea travel was this difficult for people who aren't EU citizens.

Wow, I'm almost annoyed on the authors behalf of how much hoops there are to jump through.

>To apply for British citizenship, you need to prove you were physically in the UK on your application date but five years ago. Not approximately five years, not that week—that exact day when you press "submit" on the form minus five years. Miss it by 24 hours and your application is reject after months of waiting, and you have to pay a hefty fee to re-apply.

That's a hilarious requirement. I wonder how that ended up in there.

apexalpha | a day ago

> buy a sausage roll at Greggs

If that's the first thing he thinks of while transiting through a UK airport, he deserves a citizenship, no questions.

FearNotDaniel | a day ago

It's a great article... but a strange title?

This is about all the country-specific requirements for tax residency, visas, citizenship, etc.

But I don't know what downloading a border means. The title makes it sound like this is going to be about downloading national mapping data... If the author was looking for an evocative metaphor, I don't think this one works. Maybe it's supposed to refer to:

> It would be alright with a single source of truth, but all these facts are scattered across (semi)official websites and PDFs, and you're supposed to figure it out yourself.

But they got those all through... downloading. I.e. cURL.

crazygringo | a day ago

Few of my relatives just went to Europe as tourists, threw away their back home tickets and went illegal. After few years they legalised and now citizens. And I'm still here, because I don't want to break the law and I don't have valid legal grounds to get the working visa. It sucks to obey the law.

vbezhenar | a day ago

Huge respect to the author for the details that have gone into this. I'd spent a week hammering at a Claude max 20x plan to try and build schengen 90/180 rolling window + tax residency in a couple of countries tracker... and that was hard work. I can only imagine how much effort has gone into this, to get all the details right.

It's unclear whether the author wrote all of this themselves, or if they outsourced a bunch of it to Claude. My experience with Claude was that it was terrible at writing code to do the math, even when I explained what the calculation needed to be, what the input was, and what the expected result was. It ultimately took starting a whole new project just to do the rolling window calculation, and then have that fed back in.

My biggest question for the author, if they happen to see this, is: how much manual testing validation did you do of the outputs the app produces? IE: Did you do the inputs + transformations = output calculations yourself as well, counting days on calendars, etc, to validate that the app is actually accurate? (That was the only way I developed any faith in solution I made for myself, which is way less impressive than your app). Regardless of whether you wrote the code yourself or not, a thorough test harness feels vitally important for an app like this.

oarsinsync | a day ago

It wasn't super obvious reading the article, but the app the author made is available for anyone to download.

https://drobinin.com/apps/residency/

If I wasn't on android and decidedly sedentary at the moment, I'd love to see how it works.

caminanteblanco | a day ago

I just realized this was the same author who made the apple watch integration for their gym entry system, I loved their writing then, and I loved it here!

https://news.ycombinator.com/item?id=44910865

caminanteblanco | a day ago

This made me appriciate the amount of visa-free travel my passport allows me on a whole new level. Figuiring these things out seems possible, but so inefficient and time consuming.

FinnKuhn | a day ago

This is an impressive article, & is incidentally why every sane set of rules has administrative discretion in its enforcement

evadne | a day ago

There's some similarity between nationality and copyright: arcane, obscure, complex and mean rules that only benefit incumbents and punish everyone else.

I hope we will eventually get rid of both.

bambax | a day ago

Once you've lived in a few countries you start to see how silly their little rules are. Once you are asking cross jurisdictional questions there is nobody who can give you a correct answer, its all guesswork.

symbogra | a day ago

Why is it that when I travel to certain places I need to ensure my passport has at least n months before it expires? So what if it's due to expire next week if I'm only staying until next week. Even if I'm staying 2 weeks and it expires tomorrow, why does that matter? I guess I might not be allowed back into my home country, but that should be my concern, not the worry of the immigration of the country I am going to.

What kind of illegal immigration / criminal activity does a country prevent, or economic benefit / any other advantage does a country get by enforcing this kind of rule?

rjmunro | 21 hours ago

Ah, the classic programmer's mistake of treating complicated human interaction systems as a computer programs.

There is no State Almighty judging you to the last dot of absurdly complicated rules (well, in 99.99% cases when you don't actively look for trouble). Like, if you overstayed Schengen visa for one day because you messed up with counting entry and exit days, but used it otherwise for its intended purpose, the border officer likely won't even notice. Or for tax residence, a lot of countries I know just take what you say about your trips at face value - especially when there is no way to check it.

Just relax. If you don't know how to count your days in Morocco because they changed the time zone in an inconvenient moment, the officer evaluating your documents doesn't know that too. It's truth and best effort that counts.

reisse | a day ago

It's fascinating that cURL is becoming a genericized term:

- search it on a search engine -> google it

- fetch it from an API -> cURL it

motiejus | a day ago

If you're trying to engineer loopholes out of citizenship laws, you're going to get yourself pulled aside.

The whole point of these arbitrary rules is entirely to make this sort of shenanigans impossible but to let in people who are using the system for the purpose it was designed.

That's why the rule about 'relevant to your travel' is vague. So that you can't weasel your way through it.

People who write this sort of app think border entry is two doors, allowed and denied. But there's also the guard who stabs people who ask awkward questions and their name is 'National Security'.

philipwhiuk | a day ago

Amusingly this appears to block access from the UK. https://archive.ph/pBmlV

bitdivision | a day ago

>The app is local by default. [...] Being local also means no liability. Personal immigration history is exactly the kind of data governments might want.

That doesn't seem to be a great argument in favour of crossing borders with this information stored locally on your device.

>Keeping it off my servers means nobody can demand I hand it over.

I'm not a lawyer, but I believe that this is completely false.

[Edit] On second reading, I realise that he's just talking about him not being able to hand over the data. This is true. But the user can be forced to hand it over. So I retract that it's completely false, but it's still a very bad idea.

If I was concerned about this sort of thing when travelling, the only sensitive thing I would carry is a password in my head that grants me access to end-to-end encrypted data on some server.

fauigerzigerk | a day ago

This is the kind of app I wouldn't believe could actually exist. Human rules are just so painfully complex and unwilling to agree with the concept of consistency.

Insanely impressive that it works even just well enough that more than just the developer finds use in it.

cbondurant | a day ago

It seems that it has become quite popular that images don't expand anymore, when clicking on them. One needs to use the context menu "open in new tab" to get a properly readable image. Why?

qwertox | a day ago

> This time, I tried to learn from that: facts are stored as instants, reasoning happens in local days of the jurisdiction that cares.

I think that's how the JavaScript Temporal proposal works. Convert your instant to the timezone, make the comparisons/calculations, hope you didn't jump an hour due to summertime, convert back.

DelightOne | 20 hours ago

I don't travel internationally. This all sounds like a nightmare, and I'm glad it doesn't affect me.

csense | 20 hours ago

I wonder if this is something that could be built on top of Google location tracking. Presumably there's not enough info there by itself, but basic time/position data should be sufficient.

kitd | a day ago

Am I correct in understanding that this App does not include any built in understanding of the rules that you must comply with? It looks like you have to "create a goal" in which you encode your own understanding of the rules you must comply with and the app then checks that against your travel log

advisedwang | 21 hours ago

that was fascinating; I didn’t realize border requirements were that complicated.

clacker-o-matic | 2 days ago

Great post! Reminds me of (UK) Passport Application game: https://jameshaydon.github.io/passport/

qrobit | a day ago

> ten years of travel history, down to the day

FWIW I have been asked for this a couple of times and I always just included the transits that were stamped in my current passport. Maybe I got lucky but I got away with it...

bjackman | a day ago

What is the app shown in the screenshot in the article that displays a flight price?

ashellunts | 21 hours ago

nice app ! definitely is needed for many in this brave new world we are living in, so many things to keep track of..

realaaa | 13 hours ago

ive had to deal with a fair share of this messy time logic, and ive found this library really useful

https://juxt.github.io/tick/

if you cant express it with the tools it gives you, it generally means youre making unsafe assumptions

geokon | a day ago

It's a cool app, and makes me wish that Australian tax residency rules were actually computable.

exidy | a day ago

I cant afford having this problem

faeyanpiraat | a day ago

Who's gonna tell him?

andai | a day ago

My favourite is the Norway visa application. It says you have to bring along a confirmed flight ticket. But it also tells you that you shouldn’t pay for your tickets till you have the visa. Oh sure, dude. I’ll just tell the airline to hold it for me while I wait 60 days for you to make a decision.

renewiltord | 19 hours ago

In the US you can just book the error fare immediately and then sort out whether you can take it. You have 24 hours by law to get a refund for any airline ticket.

senordevnyc | 20 hours ago

I live in the country I was born in and whilst I do travel it's mostly holidays and then if abroad at most once a year for less than 2 weeks. I have no idea what half of the stuff the article is talking about and less about what the app solves. I can only assume it's something so far out of my frame of reference I'm completely ignorant... I don't get it.

ifh-hn | 16 hours ago

> I couldn't find any legit reasons for keeping the "six-month rule" around but it seems like it's still occasionally checked, sometimes even during boarding.

Airlines sometimes check for things during boarding. Those things are never rules outside the context of the airline.

I had an airline require once that I complete a form before boarding that, by the terms printed on the form, expired before the plane landed. That didn't matter to them.

Airlines are clueless. I don't know why they do their imaginary checks.

thaumasiotes | a day ago
[deleted]
| a day ago

The problem with those rules is that they "all make sense" somewhat (and where details might have been influenced by local idiosyncrasies) locally but if you mix and match them then it gets weird

But the trick here is: if you're relying on the details for your benefit then make 100% sure it's provable (though tbh legal proof is less - and different - than what your HN commenter might understand). Or just make it easy on yourself and don't rely on them

raverbashing | a day ago

[dead]

jgoode19 | a day ago

[dead]

sanskarix | a day ago

[flagged]

Aloyjahat | a day ago

[flagged]

magnusm | a day ago

What a great ad for a great product!

Shame we hate all advertising here though, except for the ones it turns out we do like. Humans are fickle that way, I guess.

If only there were some sort of organization that wanted to unite the nations together, that would have been the best place for an app such as this to happen from. Ah well, I guess late stage capitalism is the only way to get anything done.

I just came back from a passport using vacation too! Thankfully mine wasn't anywhere approaching complicated that would have needed this app, but I have done that before.

fragmede | a day ago

That's no travel, that's transfers between cells on a prison planet.

wartywhoa23 | a day ago