I’m a native Spanish speaker. Here’s my understanding.
A basic rule of thumb would be to use «ser» for things that touch the core of your being, otherwise use «estar». That’s why usually permanent stuff is described with «ser» and contingent stuff is described with «estar». Let’s look at a few examples:
-
Estoy en la playa: I’m at the beach. You’re at the beach right now. As much as you’d want it to be, it’s not an inherent trait of yours and even if it is, there’s really no exception I can think of: you don’t use ser to describe where you are.
-
Soy de Madrid: I’m from Madrid. Now here you use ser because you’re describing your origins, where you come from. You might or might not care about it, but it’s still a piece of information about yourself as an individual. Plus, you can’t change it like you can change being at the playa.
-
Estoy aburrida: I’m bored. I’m bored right now. Even if you’ve been in a state of boredom for a couple of years, you’d say estoy aburrida, because there’s this general assumption that you could populate other states of mind. If you’ve lived bored your whole life, you might say vivo aburrida or he vivido aburrida toda mi vida, but never soy aburrida.
-
Soy aburrida: I’m a boring person. And this is why. When you use soy+a state, it implies it’s not a state of mind but a personal caracteristic –you are that state in a way, you’re describing yourself as a person who has that characteristic, the information you’re giving is egosyntonic (it’s consistent with your own self-image).
-
Estoy comiendo: We’re having lunch. This one is pretty straightforward. Here, estar is acting as an auxiliary verb. It literally means “the thing I’m doing now is eating”. You’d never say «soy comiendo». With some poetic licence that would translate as “I live, I reafirm my existence in the world, when I eat”, which is a weird thing to say anyway.
-
Soy Marta: I’m Marta. That’s another straightforward example. Your name is the way you refer to your own identity, of course you’re going to use ser!
-
Soy del Adleti: I support the Adleti team. Yep, we’d use ser here, too. (I know, yeah, we’re obsessed with soccer)
-
Estoy casado: I’m married. You’d think we’d use ser here, but no, you’re describing your marital status and of course it’s less important than your soccer team.
-
Estoy saliendo con Pedro: I’m dating Pedro. Well if being married is not a permanent state, dating someone is as fickle as my attention span.
-
Soy su madre: I’m her/his mother: setting aside custody disputes, there’s no changing who your mother is. Ser.
-
Estoy fea: I look ugly. Okay, we’ve all woken up one morning after having too much vino, looked at ourselves in the mirror and called the police because there’s a monster home. No? No? I’m alone… Anyway, it’s not permanent, or at least we try to convey that with our language.
-
Soy fea: I’m ugly (as a permanent trait). But you know when you’re talking with your depressed friend who’s just gone through a break up and she says, looking at the sky “I’m just so ugly…”. She’d probably use ser in that scenario, because she’d be describing a trait she believes is inherent to her.
-
Estoy jodido: I’m screwed
-
Estoy de pie: I’m standing up
As you can see, you can follow some general rules, but you’ll still have to hear it a lot to get it 100% of the time right. I was born into Spanish, but I imagine it’d be quite hard otherwise.
-
The past tenses in Spanish
If we disregard compound sentences and the subjunctive, there’s 4 past tenses in Spanish (and a 5th one no one ever uses except maybe in novels).
-Imperfect (Estaba): it’s imperfect because it’s vague, it doesn’t really indicate whether the action is finished or ongoing and it’s not too specific as to the time it happened. You use it to talk about past habits, when you’re telling a story (“I was (estaba) playing the ukelele when a tiger came…”), for past details (it was (estaba) raining, I (estaba) was angry and the world had decided to…), to just generally convey information in the past as an explanation (I was (estaba) tired)…
-Simple past perfect (Estuve): It’s always a finished action, estuve conveys there was a start, a state and an end to that state all in the past, and also that it happened at a specific point in time, even when you don’t explicitly say when. Btw, that tiger which appeared when you were in the middle of playing the ukelele did it in the simple past perfect, and left your ukelele playing unfinished and imperfect. Blame the tiger.
-Past perfect (He estado). This pretty much is the same as the English to have been. It’s also always a finished action, normally closer in time than the simple past perfect version. However, sometimes we use it because we want to bring something from the past to the present, like when you’re talking about an experience you’ve been through (in the past, maybe the distant past) which you remember vividly or from which you learned something (the point is that it’s still relevant today).
-Pluperfect (Había estado). This is the past of the past. The best way to understand it is in a story. Imagine you’re telling a story in past tense («Laura was looking through the window, thinking about everything that had happened the past year…»). To refer to a point in the past that happened before Laura was looking through the window, in English you’d use the past perfect. In Spanish the past perfect always goes back from the present, so since Laura is already in the past, we need a different verb form: the pluperfect, which goes back already starting from a past point in time. Anyway don’t worry too much about it for now.
Sorry if this ended up being too long. Hope it helps!