Lovable and Supabase Troubleshooting Tips

Description

#lovable #cursor #supabase #nocode #lowcode #lovable

In this video, I share my journey troubleshooting issues with Lovable and Supabase. It's a mix of learning from mistakes and exploring new methodologies, all while trying to keep things as simple as possible. I'll walk you through the specific problems I encountered with Lovable, and how my previous experience provided a foundation to solve them. Along the way, I'll also demonstrate some specific issues with Supabase that you might face and how to overcome them.

We'll dive into the little wins that can make a massive difference in your workflow, and I'll show you how to debug effectively when things aren't working as expected. This is not just about fixing a problem; it's about understanding the tools we use, finding joy in the process, and learning to trust the systems we build.

Let’s get started on this path of discovery together!

## Links
👉🏻NewsLetter https://signup.dailyai.studio/
👉🏻Training https://training.dailyai.studio/


## Chapters
[00:00] Introduction
[00:20] Start of the Troubleshooting Journey
[01:00] Console Log Debugging in Lovable
[02:30] Using Google Chrome Debugging Tools
[03:50] Prioritizing Errors
[05:30] Troubleshooting Table Connections
[06:40] Fixing Credentials Issues
[10:30] Understanding UUIDs and Relationships
[12:40] Supabase RLS Overview
[15:00] Using GitHub for Version Control
[16:30] Troubleshooting Workflow with GitHub
[18:00] Resetting Credentials and What to Expect
[19:50] Conclusion and Next Steps

Summary

Troubleshooting Lovable and Supabase: Developer Tips for No-Code Solutions

In this informative tutorial, an experienced developer shares valuable troubleshooting techniques for working with Lovable and Supabase in no-code and low-code environments. The video walks through common challenges faced when these platforms don't work as expected and provides practical solutions to overcome them.

The presenter demonstrates essential debugging methods, starting with using Google Chrome's developer tools to identify issues. By examining the console log and network tab, viewers learn how to spot errors and prioritize fixing them in the correct order. The tutorial emphasizes the importance of understanding UUIDs and their role in connecting user data across Supabase tables through row-level security (RLS) policies.

For those struggling with database connections, the video offers insights into table relationships and credential management in Supabase. The presenter explains how to reset API keys when needed and reconnect your application, while highlighting the importance of keeping credentials secure by using private GitHub repositories.

The tutorial also covers version control workflows using GitHub, showing how to download code locally, make changes, and push updates back to your repository. Tools like GitHub Desktop, Cursor, and Cloud are recommended to help non-developers navigate these more technical aspects when troubleshooting becomes necessary.

Throughout the video, the presenter maintains an encouraging tone, acknowledging that encountering issues is normal in development and providing a balanced perspective on embracing new technologies while maintaining deployable, stable applications. The troubleshooting journey is presented as a learning process that bridges the gap between no-code tools and traditional development.

Whether you're new to Lovable and Supabase or an experienced user facing technical challenges, this comprehensive guide provides the debugging strategies needed to overcome obstacles and continue building effectively with these powerful platforms.

Transcript

0:00 okay we're going to try this for the 0:01 fourth time the first time I completely 0:05 failed and I want to then in the second 0:08 time reflect 0:09 on on how I as a developer can 0:12 complicate things so we're going to try 0:14 something new but then in shooting that 0:17 video it failed because it the hard 0:19 drive got filled up 0:21 classic now with that said I hit a bunch 0:23 of issues with lovable which is part of 0:25 my like I want to use lovable I want to 0:28 use some patterns I know that can help 0:30 make it Deployable but I also want to 0:32 enjoy the experience of letting this 0:35 system Drive mcps are getting a lot of 0:38 Buzz uh all these awesome things are 0:40 getting a lot of buzz but how do we 0:41 still keep it simple so what I'm going 0:43 to show here is when I got stuck with 0:46 lovable I had some skill and experience 0:48 how we get through it that I want to 0:49 share with people and then I want to 0:52 show some things about super base as 0:55 well to help you get through some 0:56 particular issues and finally we'll come 0:59 in and just talk about how to you know 1:01 deal with problems that just aren't 1:02 being that aren't easy to fix and moving 1:04 forward so let's look at lovable for a 1:07 moment now when things are not working 1:09 I'm going to give you a real example and 1:11 this whole history is just full of them 1:13 it it's hard to know where to go to fix 1:15 it like you go here you type this isn't 1:16 working and and it just says yeah now 1:18 it's working and it's not so in this 1:20 case I was here and it's showing this 1:23 particular screen now if you look here 1:26 and it's good it's actually still not 1:27 working it shows content that isn't in 1:30 the database unless it is now so let's 1:32 go look at the database and so what I 1:34 said was you know that's not the right 1:36 data and I went into the database I went 1:38 into the tables sorry table 1:41 editor and I went into here and I put 1:43 test test test and look it it's not 1:45 showing that and so what I had to do and 1:49 it was working now it's not but whatever 1:52 is I had to get it to dump some stuff in 1:54 the console and in doing so I realized 1:58 it wasn't really able to read super base 2:00 but it wasn't dealing with the error so 2:03 we'll do it here but I don't want to 2:05 make this video about solving the 2:06 problem again but what I'll do is I'll 2:08 say well actually we don't even need to 2:10 do that so let's go over that so as a 2:13 developer I have an understanding 2:15 of Google Chrome don't 2:18 don't don't use Safari it's not horrible 2:21 it's just use Google Chrome because 2:23 you're going to get more help on the 2:24 internet but if I go to tools and 2:26 developer resources I can see two things 2:29 here that will help me debug this and 2:31 help guide it one is the console log and 2:35 if I click this it goes away the 2:36 busyness goes away and I'm going to 2:38 close this because I really don't need 2:39 that and if I reload this page we see a 2:41 lot of stuff going on here and we see 2:44 stuff that is not showing up in this 2:46 that might help it so here's one right 2:47 here that is broken that's probably what 2:49 it's dealing with where it's not really 2:51 getting my information from the database 2:55 and I'll cover that in a moment but 2:56 basically I then check you'll see that 2:58 this moved me over to the network so 3:00 those are the two main ones to really 3:02 keep to really help get through some of 3:03 this and if you click preserve log and 3:06 you don't need all this I wish I could 3:08 get rid of it and if you click fetch X 3:11 xhr you'll get into this situation where 3:13 you can kind of see more of what will 3:15 matter to troubleshoot and you'll get a 3:17 still a lot of noise here but I don't 3:20 know the answer to that except like what 3:22 you really want to see are things that 3:23 are not 200s anything above a 200 3:26 usually represents some type of error so 3:28 at this point I could be like okay look 3:30 it it's doing this and then it's doing 3:33 this and when you have an error 3:35 typically here's one up here too when 3:38 you have an error it's typically better 3:40 to focus on the first one because the 3:41 first one could cause the second one so 3:44 just keep that in mind as you're trying 3:45 to troubleshoot you see a lot of things 3:47 going wrong just take it one thing at a 3:49 time start with the first error try to 3:51 fix that so now let's give it that 3:53 information and see what happens and and 3:55 I'm not going to I'm not going to do 3:57 this with you live CU I did that in the 3:59 last video and it was just boring but 4:01 you'll see I'm going to go here for a 4:03 moment and copy something so there's a 4:05 column name here 4:07 and basically I'm going to copy that cuz 4:09 I'm too lazy to type it or I st I'm bad 4:11 at spelling the in in in my trouble 4:15 shooting it was using the wrong table 4:18 names 4:19 now they're going to introduce mCP in 4:22 timer they're probably already using it 4:23 that's why I'm trying to use lovable or 4:25 bolt because they kind of have all this 4:27 stuff in place already to help me build 4:29 quickly 4:30 and so they can read that database they 4:32 can read those tables they can 4:34 understand the schema right now it 4:35 didn't though and above here it was 4:37 having trouble too so I'm going to give 4:40 it some help give it a reminder of what 4:42 the table is what the schema is schema 4:44 is what we call that now another thing 4:48 is because of my last video I showed 4:51 some credentials I had to reset the 4:52 credentials and so that's a that's a 4:55 thing I have to do both in superbase and 4:56 lovable and that really drove it nuts as 4:58 well 5:00 and part of that is just it it's really 5:03 important now there's some internet 5:04 stuff about people leaking credentials 5:06 and stuff 5:07 so when you're building things in 5:09 lovable if you push the code to GitHub 5:11 which we're going to do in a moment just 5:12 make the repo private if you can if all 5:15 you can afford is a public repo then 5:17 that is tricky I would say at some point 5:20 you need to spend that little bit of 5:22 like five bucks or what I forget the 5:23 number to to have those private ones so 5:26 that's the first thing is get into here 5:28 get into the console so again more tools 5:32 more tools developer resources get into 5:35 the console see what's going on ask it 5:37 to debug into the console log so then 5:40 you can give it some information so the 5:42 other day it was dumping something in 5:44 here that helped me understand it didn't 5:46 really know my user id here it is and 5:49 then it finally dumped the current user 5:50 ID in there and I was like oh you're 5:52 using an ID of one but you should be 5:55 using a uuid so it helped me to help in 5:57 I'm I'm not going to look over there I'm 5:59 not going to debug live with you but you 6:01 get the point right have it work with it 6:04 work with it at the most easy Point get 6:06 it to you open to the console and the 6:08 network give it what you see there to 6:10 make sure and they probably see it too 6:11 but just want to help it along all right 6:14 so the next thing is the uuid moment I 6:17 just mentioned so when you're dealing 6:19 with superbase a lot of stuff is going 6:21 to be tied to your user ID now when 6:23 you're in super base they have a public 6:25 schema and they have lots of other 6:26 schemas which is cool and these are kind 6:28 of areas inside of postgress that have 6:30 tables in logic that you don't want to 6:32 really mess with but in here you have 6:34 your users and a user will have a an ID 6:38 and so that ID will go back to your 6:39 public schema the only one you really 6:41 care about and Link information back to 6:44 that so in this case I have mail 6:45 preferences linked to my 6:48 uuid and and I can actually go look at 6:50 that which is kind of cool so my point 6:53 is this it connects things with those so 6:55 that's an important thing and if you're 6:57 working with lovable and it's using the 7:00 number one as an ID then you know it's 7:02 not using the right things to connect 7:04 records so most of your tables will have 7:06 that are related to a user will have a 7:08 user ID and on that point another thing 7:11 we get into is oth 7:13 policies so row level security or RLS is 7:18 a way that we can say hey this user 7:21 who's authenticated can't see can only 7:23 see these rows and users can it and this 7:27 thing will help you like this AI 7:29 integration is great they have good docs 7:32 they have screenshots you can take and 7:33 give it to chat 7:34 jpt I'm just trying to I think part of 7:37 the problem there's a middle ground 7:39 between those who have never developed 7:41 and those who are season developers and 7:43 and and and we're getting there and it's 7:45 it's knowing what questions to ask to 7:47 help the tool get the job done so this 7:50 video you're going to learn some of 7:51 these questions and they seem annoying 7:53 or frust or or too technical so you know 7:56 it's a juggling act but if you can know 7:59 what questions to ask even if that means 8:00 giving screenshots of chat BT or Claud 8:03 and then bringing it back in just keep 8:05 going back and forth in in in these are 8:07 the places you can look to help out so 8:10 with that said you know these Road level 8:12 permissions are there and let's see if 8:14 we can look at this one let's go edit 8:16 the policy and so we can see you know 8:18 user can view their own meal goals 8:21 that's a nice way to read it on public 8:23 meal preferences to public is just the 8:26 schema using the oth ID of you as a user 8:29 and your us ID so we see it's connecting 8:31 things together so my point here is at 8:34 one point this was just spitting out an 8:36 ID not a uu ID and I'm like that's not 8:39 really my user id what are you what are 8:41 you doing and and it realized it was 8:43 just kind of Faking it and again I don't 8:46 think this is out of the box lovable is 8:48 pretty amazing but then I brought my own 8:51 database schema in and I kind of messed 8:53 things up so I'm trying to find the 8:54 balance of just letting it do its thing 8:56 but also bringing my things in I might 8:58 even start over cuz my scheme is not 8:59 amazing so I'm going to just find that 9:01 balance in the next video which is part 9:03 three of the building process as I 9:05 rethink things so that is something to 9:09 consider there is is the uid uuid 9:11 pattern what that means and how that you 9:13 know connects the dots and and if you're 9:15 not getting data back from superbase it 9:17 could be 9:18 because the The UU IDs are are not 9:21 really being used or they're not set 9:23 right and and then you want to remember 9:25 that role level permission stuff the 9:27 other thing with super base and this is 9:29 amazing it's driving your authentication 9:31 so as you go into the system and you do 9:34 the authentication you can manage users 9:37 here and and get them going you can't 9:39 delete a user which was no you can you 9:41 go down here and delete the user you 9:43 couldn't change their password which was 9:45 kind of frustrating like you could send 9:47 a recovery but whatever so you know just 9:51 that's how the authentication part is is 9:53 there for you in in super base and we'll 9:56 come back to something in a moment oh 9:58 yeah credentials we'll come back to that 9:59 in a moment how did I even skip down 10:01 there all right sorry again simplify the 10:04 problem all right so basically I was 10:06 having trouble in lovable this page is a 10:09 simple page the page renders and it 10:12 shows text doesn't get more easy than 10:14 that in that text comes from a database 10:17 so I wouldn't bother with the when I 10:19 click this it doesn't save it question I 10:21 would bother with the when I come here 10:23 it doesn't see it problem and it doesn't 10:26 see it because again you and I both know 10:29 that that that data in that table 10:31 doesn't say anything but test test test 10:32 I'll even reload this so where is it 10:35 getting that and why isn't it why is it 10:37 showing that so I would stay here keep 10:39 the problem simple just focus on fixing 10:43 that moment and then the other stuff 10:44 might just work after and if you can fix 10:47 a get where the page loads it's a lot 10:49 easier than filling in a form and then 10:50 fitting fixing the submit part of it if 10:53 you can fix this you might actually be 10:54 fixing the other one too just because if 10:57 it's a permission issue which we'll find 10:59 out but I bet you it is again but again 11:01 I had that fixed 11:02 now when you get really stuck we have 11:05 GitHub so what does that mean so we're 11:08 going to show how you can kind of see 11:10 what's going on so I'm going to go to 11:12 lovable going to close this for a moment 11:14 I'm going to click on GitHub and I'm 11:15 going to connect I'm connect it to this 11:18 I'm going to click on that and we have a 11:20 repo now what does that mean we have 11:23 this repo here that I can go to and it's 11:25 private because there's a lock up here 11:28 no one can see this this is where you're 11:30 fine if it pushes up your credentials 11:32 Anonymous or whatever by accident it's 11:34 fine Anonymous credentials are okay 11:37 usually we have a EnV or with superbase 11:40 there's this kind of other pattern where 11:42 it seems to be storing credentials in a 11:43 way I don't understand JWT as much as I 11:46 wish I did but basically we're okay in a 11:49 private repo to have some things happen 11:51 here you don't want to we'll go into 11:54 more detail of other stuff later but 11:55 right here you could fix something you 11:57 could see what was its last change right 12:00 so if I really really was working along 12:03 here and I'm like you know what it was 12:04 working here what did it do I can see 12:07 these changes I could even take 12:10 screenshots I could even give this back 12:12 I could go fix it and that's what we're 12:13 going to do right now we're not going to 12:14 fix it I'm going to show you how that 12:15 works so then if you really get stuck or 12:18 you're really having trouble you can 12:19 just download that now you can actually 12:22 let me see if I have this installed if 12:25 you you know this is the funny moment 12:26 between you don't have to be a developer 12:29 to benefit from this stuff but it's one 12:32 of the secret tools that developers have 12:35 is that they they they they can download 12:37 and work with Git and it's not that hard 12:40 it is just a little bit less intuitive 12:42 let me see if I can do this one moment 12:44 GitHub has a desktop app GitHub desktop 12:47 so let's try using this tool that is 12:50 friendlier to use and I say that 12:52 friendlier is relative I do actually 12:54 like the command line so we could make a 12:56 new repo but I don't want to do that I 12:58 want to use one that exist so how do we 13:00 tell it to go get a repo that exist on 13:03 GitHub that is a good question so let me 13:06 see I want to go here oh yeah I wonder 13:09 if they have this opening GitHub de 13:12 there you go cool cool so we're going to 13:14 open it there for a moment and here we 13:17 go all right so we're going to download 13:20 it to let it do its thing I'm going to 13:22 leave it there even though I've never 13:23 done anything there before okay so back 13:26 to this so we can see if we were to fix 13:31 something 13:32 here it would show up there so and I I 13:36 I'll fix something for the heck of it 13:37 and we'll just say actually they have 13:39 that new feature let's just do it that 13:41 way let's just say that and save it so 13:45 we might not have to do anything in in 13:48 in in to push it or publish it I'm going 13:50 to just try doing this where I say 13:52 history and then we just give it a 13:54 little sense of like you know let's 13:57 refresh it fetch so we should think see 13:59 that now we don't so let's now just say 14:03 okay fine let's publish it maybe and I 14:07 don't want to publish it though so 14:09 that's interesting why did it not show 14:11 up there I do not know a look at that 14:13 just took a moment okay so it just took 14:16 a moment there we go 14:18 so now the thing is that's a lot of work 14:21 it must it must have pushed something 14:22 else too but we can see that it's a just 14:25 now published so now we can go edit this 14:29 as well so now I want to not do 14:31 something but I want to show you 14:32 something so if we were to go to that 14:36 code and this is where it's going to get 14:38 tricky we how do we go to that code we 14:43 typically we know where it put it 14:45 because it told us where to put it and 14:47 so how would we open this right so we 14:50 could 14:51 view like how do I know how to get there 14:54 and and this is why I'm not used to 14:56 these tools but I'm going to show you we 14:58 know it put put it into my documents 15:01 folder so what I would typically do is 15:04 oh here's show and finder great great so 15:07 here it is on my system see documents 15:09 GitHub friendly meal craft in being a 15:14 Mac it's not you sometimes have to get 15:16 programs to help you do things the 15:18 easier easier way but if I go here and I 15:21 go to documents GitHub friendly meals 15:25 now what is this thing this is just a 15:27 terminal and actually you don't even 15:28 need need that I'm going to just try and 15:30 reduce reduce so a lot of people are 15:32 using cursor and if you open up cursor 15:35 in this case so forget the terminal for 15:37 a 15:38 moment if you open up cursor you could 15:40 say hey open 15:42 project and now let's point it to that 15:45 documents GitHub that and then what you 15:50 can do is edit it here now if I was to 15:52 edit it here now what was that button 15:55 called process preferences so if I go 15:59 search for process such a weird word one 16:02 of these would eventually lead into 16:05 fixing that button or changing it and 16:08 obviously I don't want to do this 16:10 because this isn't the goal it's to 16:12 enjoy like this thing but if you do get 16:13 really stuck what you can do at this 16:16 point is have cursor work on this and 16:19 then push the results up or you can have 16:21 Claud code work on it so you could open 16:24 up a terminal and say you know cloud and 16:27 have it work on it and then when you 16:29 push those changes up they will show up 16:32 there as well and so that's something to 16:35 keep in mind and it's not easy like if 16:37 we were just to change something just 16:38 for the heck of it right I'm just going 16:40 to change something I'll just put some 16:42 dots there right we've now changed 16:44 something so how do I get it back up 16:46 there I would go back to this GitHub 16:47 tool and I would just say you know yeah 16:50 testing commit changes and eventually if 16:54 we push it blah blah blah blah blah blah 16:56 push it will now be something that 16:59 lovable sees see how it shows it there 17:01 so you can kind of get this back and 17:02 forth going with lovable all right so 17:05 that was a long way of saying hey if you 17:06 get stuck GitHub it pull it down and 17:09 then and it's called G you'll see a lot 17:11 of people saying called get or get it's 17:14 git it's it's basically lineus named it 17:18 after I guess the word for stupid people 17:20 I don't know why or something so anyways 17:24 so cursor wind surf Cloud you might have 17:26 to dig a Little Deeper but these tools 17:28 are going to make and bridge the gap 17:31 between you as a 17:35 non-developer and remaining a 17:36 non-developer but doing things that 17:38 sometimes you need to do when that gets 17:40 stuck and it might never happen or it 17:43 might happen like I think it does happen 17:45 a lot and I think it's only going to 17:46 happen less and less though that's the 17:47 good news all right so the next thing is 17:50 resetting creds so sometimes your creds 17:52 leak and you have to go reset them you 17:54 have to go 17:55 into project settings datab base API and 17:59 just go reset them here it's a pain but 18:02 you let's see read the announcements 18:04 reveal reveal secret 18:08 Secrets generate new right so you have 18:13 to reset them I'm hoping this is the 18:15 right place let me double 18:17 check yeah that's the right place this 18:19 is where I had to do before and it res 18:21 set all of these because I not this one 18:24 this one and this one they're in your 18:26 code when you show it on the front end 18:27 it's this one you don't want to reveal 18:29 to people which will happen when you 18:31 push up code to GitHub and it's in the 18:33 code and it's public so you know if you 18:36 do that I don't know the best way to 18:38 reset this guy I might do it right now 18:40 where I go manage super base and I 18:41 disconnect because I'm just tired of it 18:44 not knowing and I might just make a new 18:45 database and start over so lovable can 18:47 own it so I just haven't decided yet but 18:50 that's where you would go manage these 18:51 things like that and connect so will 18:55 that help I don't know but my point is 18:56 if you have to reset your creds go there 18:59 but then remember things are going to 19:00 break super base is going to break and 19:01 you have to reconnect it to sorry 19:03 lovable is going to break and you're 19:04 going to have to reconnect it now again 19:06 don't get discouraged there's a lot 19:08 going on on the web now and just in 19:10 day-to-day where a lot of you know 19:12 people are putting people down for Vibe 19:14 code or whatever as a longtime 19:17 developer it's fun and it's going places 19:21 and sure we're going to make mistakes 19:22 along the way but whatever I mean it's 19:24 just part of it you'll always have 19:26 conflict you'll always have trolls 19:27 you'll always have people who just don't 19:29 want the change but what is that saying 19:31 like at first they made fun of you then 19:33 they laughed and then they whatever like 19:35 the progress of acceptance is is 19:36 probably happening right now on Twitter 19:38 but you know just take your time don't 19:40 get discouraged you will mess up but 19:42 learn what questions to ask as well 19:44 build up a Google doc use that Doc in 19:46 all your prompting so that you can 19:48 slowly remember to not forget to ask 19:52 about something like hey by the way make 19:54 sure you keep in mind Road level 19:55 security make that part of your Google 19:57 doc that becomes part of maybe you're 19:59 prompt every time you start prompting 20:00 these things and that would just help 20:02 keep the bigger picture there for you 20:03 and the AI to keep moving things along 20:06 so yeah that's about it the next video I 20:08 will go into the building part but that 20:11 one was a good one but again it crashed 20:13 and failed and I got stuck which led to 20:15 this video and but I'm going to come 20:18 back the other side I think with some 20:20 some next steps that will change my 20:23 Approach even more as I just try to just 20:25 let go and simplify as I struggle as a 20:27 developer to let go what I expect versus 20:30 what now is possible without all those 20:31 but at the same time produce something 20:33 that's 20:34 Deployable and and it doesn't break 20:37 every time we make a change in lovable 20:39 that's another big thing so that will be 20:42 the next video but okay hope this helps