# Day 5: StarLens Launch, Caching with n8n and other building tips [Update #03]

## Метаданные

- **Канал:** n8n
- **YouTube:** https://www.youtube.com/watch?v=2Rp6SngsdyU
- **Дата:** 06.09.2024
- **Длительность:** 24:23
- **Просмотры:** 1,598

## Описание

Use StarLens: https://starlens.aisprint.dev/

AI generated 98% of this 👇

Week 1 of the 30-Day AI Sprint is complete! Here's what went down: We launched StarLens—a GitHub profile analyzer—narrowly missed the Product Hunt deadline. No worries, though, we’re launching Monday at 9 AM CST!

In this video, I walk you through the challenges and wins from this week, from building backend automation with n8n to adding some fun features like Pirate & Steve Buscemi filters. Let’s dive in!

Chapters: 
00:00 - Intro: Week 1 Recap
00:10 - Launching StarLens & Product Hunt Deadline
00:35 - WeWeb UI Issues & Resolution
01:55 - Plan to Focus More on AI & Automation
02:50 - Building a Backend Cache with n8n & Superbase
05:17 - Fun Filters: Pirate & Steve Buscemi Narrations
-
05:35 - Start of indepth updates
06:50 - Automating Notion Tasks & Form Trigger Setup
08:55 - Preview: AI Newsletter & What’s Next
10:15 - Automating Twitter & LinkedIn Updates
12:00 - Soft Launch of StarLens & Front-End Validation Fixes
16:15 - Error Handling Workflow with n8n
19:20 - Building Modular Workflows & AI Agents
22:40 - Wrapping Up & What to Expect Next Week

🔗 Resources:

30-Day AI Sprint Homepage: https://30dayaisprint.notion.site/
StarLens Project Page: https://bit.ly/profileanalyzer
Use StarLens: https://starlens.aisprint.dev/

---

AI Sprint Project Board: https://30dayaisprint.notion.site/fd197039989a4e868d794ddeb0ebb4b2?v=a1dcffb6668a4504a980c3bf1d4067c6&p=ac5e5d39d19543bb948d55c267290d21&pm=s
AI Newsletter Signup: https://bit.ly/aisprint-register
Follow me on Twitter: x.com/maxtkacz
Connect with me on LinkedIn: https://www.linkedin.com/in/maxtkacz/

## Содержание

### [0:00](https://www.youtube.com/watch?v=2Rp6SngsdyU) Intro: Week 1 Recap

going hey all Max here and it's the end of day five which means week one of the 30-day Sprint so what have I gotten done since

### [0:10](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=10s) Launching StarLens & Product Hunt Deadline

the last update the big headline is that we launched Starland so Starland is the new name of the GitHub profile analyzer and we launched that this morning now we were going to launch the product hunt but we missed the deadline by about 9 minutes and by we I mean I so we're going to launch that on product hunt on Monday at 9:00 a. m. CST lost some time

### [0:35](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=35s) WeWeb UI Issues & Resolution

this week to some issues in we web the we web team got online with me after hours and unblocked me there so massive shout out to slavo and in particular to Joyce for doing a lot of the leg work on that I really appreciate it guys but one learning that came from that is I think I'm going to have to mitigate how much time I spend on the uis of anything that I ship cuz again the goal here and what's most interesting to everyone here is how is the AI part working how's automation working with AI so next week when we're scoping things I'm going to definitely keep that in mind I had a few folks reach out to me and tell me I should check out cursor uh which is basically an IDE that's AI powered but back to Starland what else one of the first realizations you know I had was that every time someone's going to be invoking the results route to see an individual page they're going to be hitting our llms now NAD 's running really fast it's the llm steps that are taking a long time there's not much that I can do that about that I could maybe shave off a few seconds but either way it's something we've already calculated so the solution to that was putting a cash on it now you can do caches on the front end but since I had ended end working and I never built a cash before I took a stab at building a back-end

### [1:55](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=115s) Plan to Focus More on AI & Automation

cache powered by Ed end and superbase so later in this video I have a bit more details on setting it up but the TDR of that is again I'm maxic catch I'm not an engineer and about 28 minutes 25 minutes I launched a cash to production I felt like a superhero today just by doing that there were a few less sections in styland than I had anticipated at first but one great result I think of being Nimble is the fil that came out of it so you can now modify the llm queries and you can send some text that modifies the prompts you can have it talk to you as a pirate or Steve GMI and so I think that level of interactivity is also going to perhaps peque people's interest to clone it pretty happy with that result especially given this is the first time I'm doing a building public thing like this one

### [2:50](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=170s) Building a Backend Cache with n8n & Superbase

thing I realized I don't have an export of we web right now I'm considering what to do with that because I want the whole project to be clonable so what I did meanwhile is I quickly duplicated the back and workflow I simplified it down and I added a form trigger and a neat way to respond to that form trigger which I wrote with chat GPT so you can today set up that template without paying a single Euro without having single access to a credit card and go check that out so I highly recommend that more details in the rest of this video the one thing that took a back seat to shipping styland was the AI newsletter so next week I plan to have that go out next Friday I think it's almost a blessing in disguise because we're going to have two weeks of artifacts of me posting in the notion in the Twitter on my LinkedIn the video transcripts from these videos so I think we're going to have a lot more data to play with and that people would actually want to read and then one thing I shipped this week it wasn't necessarily a project for my board but I was manually updating the day counter on the notion page I thought that's pretty ridiculous given I work at automation company so I set up a really quick workflow to automate that and now that's 27 times where won't have to do that it literally took me 2 3 minutes to set up I think I myself need to get in a better habit of automating even the little stuff I think I even sent a tweet about needing to do it that tweet might have taken the same amount of time as just doing it so next week on some op stuff that comes up I'm going to jump on that grenade and just automate it out in the spirit of automating everything the other two places where I'm manually updating right now that kind of information is my Twitter and my LinkedIn so with those systems they lock down the apis a bit more but I'll do the leg work of figuring out how I get in there and make that easy so then you guys can more easily get into your own twitters and your own LinkedIn and start automating some of the stuff that you need to do as well and then the meetings with Oscar and Devon they got pushed next week no stress gave me actually some time to focus on the style ends and a few issues we had around that so excited to meet with them next week pick some things to build and go build them and so before we get into the more detailed updates at the end of this video that kind of goes into what I've been working on the last couple days I just want to mention a quick PSA that the 30-day AI Sprint notion page is the single source of Truth the home base for any links artifacts projects related to this so ever curious what I'm working on you can go in there it's got my public project board where you see what I'm working on I got to try and figure out

### [5:17](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=317s) Fun Filters: Pirate & Steve Buscemi Narrations

some public voting on that don't have that yet on Twitter I'm doing my more frequent updates on LinkedIn I've also got some cutdowns of my content but that notion page is the thing where you're going to get the most mey info if you're interested in replicating what I'm working on so for the rest of this video you're going to see what I worked on since the last update last night I had

### [5:35](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=335s) Start of indepth updates

quite the build session let's take a look uh we're in Wei web right now and I've pivoted the idea a little bit one way we can make this interesting for users is to give them really interesting summaries right but I think something that could make it a bit more interactive and something that's easy to do in N end is to add some of these modifiers that re-trigger the request to the Ed in workflow send along uh this information and then modify and update this response below so I've updated it to where it has a default voice there's a pirate voice and then maybe Steve bumi and Reservoir Dogs these then inject a prompt in my NN workflow so what's happening in this workflow we can see here I've added a switch node that basically is checking if this AI model parameter is called 3. 5 Sonet or Lama 3. 1 AB if it's clawed we're route to one or output zero otherwise to Output one and we have a fallback so if it's not set if it's sent as a null from the front end I don't know could happen in initial State even though I did set an initial value then it'll fall back to Claude one thing we could probably do these outputs not

### [6:50](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=410s) Automating Notion Tasks & Form Trigger Setup

named right now so let's just name these real quick so 3. 5 three and what I've done so far is I've just duplicated the AI step um and routed it to here in the respon to web hook node that's okay because um what I'm doing is when you're doing something like this where you have two possible routes it's important to check that you're basically using like a relative way to reference expression data so here we see dollar Json we don't see anything with a node name in it itself because obviously if you were checking for this node name and we run through here this node name is not going to have any data so do use relative ways to reference your data like dollar Json when you're having an approach like this in a more scalable approach we could also not have a switch node but instead be changing something in a single model for example this here could also be set as an expression if I change that we would just have to provide this value in an expression to run this model if you're not sure how to discover what these values sometimes are what I do is get four values here go like this hit expression go like this expression although I just realized we have the Ellipsis menu there's not a lot of stuff here we could probably add a quick little action that allows you to copy all the possible values so I'll add that to the product ideas board in any case so for anthropic that might not make the best Noe to do that CU there's only four options here but with something like Brock might be what I do first cuz Brock has a free plan and again has a lot of different models so we could go that route as well in any case that's sending that back uh to the front end and I've also added some loading States so what's happening is there's a variable I've created in here called show Dynamic content it's a bull true false and then basically the visibility of these sections is false by

### [8:55](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=535s) Preview: AI Newsletter & What’s Next

default and the workflow attached to this dropdown in here I a workflow it runs the fetch profile analysis and it has this change variable value to false now one thing that is not ideal here I think also for maybe some developers who might be using this project right I have a workflow set up for this one and for this one they're two separate workflows I might not be doing it properly we web but my inner engineer brain doesn't really like that it's duplication uh either way we got it working but one thing I am going to probably try and do is check out cursor and code out my next front ends because I'm hearing some great things uh from you guys about that so thanks so much for that feedback what I'm going to have to do next is I've got these various sections a few moments later projects to show love AI agent that basically knows how to browse new projects because the these are projects that they have already liked right we're taking their interests and showing them projects that have a lot of users that are popular but don't have a lot of contributors so maybe they could contribute because that's a big problem in OSS or can be sometimes right your profile memes no real idea what we'll do here yet probably going to get the scop um but a stretch goal for me is to have some kind of generative images Vision that kind of thing and then recent PR summarized by a VC this is a late night idea I had basically takes your most

### [10:15](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=615s) Automating Twitter & LinkedIn Updates

recent PR a VC needs to pitch your PR as if it were the hottest new startup so we could have some fun with that but let's time boox each one of these and see how quickly we can make them looking at the different ones I think the projects show love is the first one I'm going to start off at because it's in GitHub ecosystem already I've already got the GitHub creds to do that we're going to do this as a sub workflow cuz I got my workflow already built right here now we do have the version save that I do have the versions feature so I could flip between the different versions and roll back but what I'd like to do is have these be modular so I have a bit of a cleaner workflow also that I can update for example individual sections without risking bugs in the to the work for when we're live and potentially if we hit scale a lot of people start using this we might turn off a section if it's you know adding 50% to the load time or if it's a sub workflow we can more easily for example maybe this one's really expensive to run or effort for what we could do maybe a lot of people won't even get down to this page so that we could have a button to run that and it runs a separate workfl so it's just going to be a bit easier if we already set that up as a separate workflow because in it and we can have workflows that run other workflows we call them sub workflows so it's pretty easy to do here's my process anytime I'm building a subw workflow and I already have a parent workflow built because you're going to need some data in the subw workflow to be able to do all your different mappings for Expressions so I go into executions I get an execution that's representative of the kind of data that I'd like to use in my subware PL I click copy to editor this loads all the data from that execution in my editor and then for example I'll pick the node after which I want my sub workor for to run so let's say I want my subw workl to run in this step I will

### [12:00](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=720s) Soft Launch of StarLens & Front-End Validation Fixes

take the merge node I can use the edit feature here I see the output this is the output of the merge node I want to send all of this to the sub workflow so we'll select all we don't need to pin this we'll cancel and then I'll go I will save that we'll go to my project here we'll create a new workflow this is my find new projects can rename that later and make it a bit better and because it's a subw workflow we need to use the execute workflow trigger from the home screen it's also when called by another workflow here so click on that this doesn't have a payload right now it's not really connected yet to the other workflow so what I'll do in here is I'll paste in the payload and since I want this to be an AI tool I mentioned this in one of my more in-depth videos on AI tool agents what I need to do is go in here that will send when it invokes this tool when it calls this workflow it's going to send along everything that's sending in a top level query key so we'll do that and we're showing an error because each and an item this is the top level array this is what the payload of the node each top level editent item needs to be within quotes itself um I guess at the bottom here also and yeah so now we have a top level query item uh with everything in here or rather top level query object in here this is the exact same schema as when a different workflow will call this or the workflow that we intend uh to call this it has the same schema now so from here rather easy to build out the rest of my workflow which is first going to probably be an HTP request to the GitHub API to uh F some relevant information a few minutes later I'm now working on the AI agent and I just have gotten it to let's see I am adding some placeholders right now I've just gone it to work with some static data so what do I mean by that let's have this run actually let's connect some memory as well but basically so what this workflow is doing is it's prompt is you a helpful assistant task with taking input from the user and recommending public GitHub repost to them and then in the user prompt or the text going in can you recommend five public GitHub projects based on my interest my programming interests I'm then taking the topics input that's coming my parent workflow and just doing a join on that uh so that it comes out as a CSV in the actual rendered result that sends to the llm so my current status is that I've gotten let's see let's update this is search repos I've gotten the tool working with static data that is um I'm sending the query parameters the search criteria statically I was having a bit of trouble more on the GitHub side because it was this URL encoding stuff what I'll recommend is if you're having trouble setting up an HTTP request tool first have it work completely static and don't add placeholder definitions these are the placeholders are the things that your AI is allowed to swap out in the query parameters and other parameters that you make in the API call but now that I've got this working as we can see it's outputting um now I'm going to expose to the eye the placeholders that can manipulate so I'll add those like this in this uh here for example search query and here what I'll do is that in Cur braces and now I just have to give a description for search query I could Define the type but I haven't yet I haven't locked that down it's worked fine every time so far and then my AI agent will then know that it can manipulate search query but not for example these things here one thing I do recommend when you're writing descriptions for these sorts of things and generally when you're stuck I've been using GPT a lot so one example is for coming up with even just a query from GitHub and then also for the

### [16:15](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=975s) Error Handling Workflow with n8n

explanations for my placeholders I need to generate a lot of mock data or example data for llms lot of people are talking about using synthetic data these days I guess this would be a form of synthetic data right it's we have an llm writing a description for an AI agent which is using an llm on how to use a tool and so far the results have been Gang Busters so let's keep building a few inches later I've made some changes on the back end and so now I'm testing on the front end to make sure it's all working and a great case came up that I want to show you so I just refreshed the page it's loading um but what had happened is when I was interacting with this one here pirate voice was working but the Steve Bash one didn't seem to be doing anything and so I go into my end workflow I look at my executions this is the execution from that case where I was troubleshooting we can see a new ones coming in because um see there we is it just finished but the one I was looking at in here if we take a look this is the execution that ran if I go into the cloth step in here if I open up the text so we can see a snapshot of what happened when it ran and we see this is the additional instructions using a tary operator to basically check what type what voice type was set to so in here we see it CB Reservoir and we see when I was mocking this out I wrote just stei so that's why if I go down here additional instructions is evaluating to none and that's why we're not getting a stmi voice so I what I can do is copy this execution to editor this preloads the output data from that exact into my workflow um and then from here I can go in with the data from that run with that context go in here update this to my key name here which is or to the value for voice type that I received here be Reservoir and I can check it too great that's working now Let's test it stei here go executions and let's see if it returns in Steve Bashi Voice by the way since I've added the subw workflows and the AI agents the total load time is around 25 30 seconds right now we can cut that down a little bit with some effort but then I think what we'll have to do is we'll have some of the simple sections and then for the more complicated sections we'll load those asynchronously this is post launch and perhaps have those asynchronous ones only trigger when a use a scroll step position so we're being efficient okay so since it's Steve Bashi voice before I scroll down you know being generated by AI so I'm not sure what you're going to bet to see but yes it looks like it's

### [19:20](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=1160s) Building Modular Workflows & AI Agents

working yay so great example of how I can quickly troubleshoot something load in the data from that execution into to NN save it and since this is I'm working with my production workflow here I can just go back in refresh and yeah keep building tomorrow we did a soft launch of star lenss and I just realized on the homepage if I go to it that here in the GitHub username I don't have much front-end validation now one of the first things when I was typing on my iPhone I realized that it's upper casing uh the first character by default so we're probably on mobile going to have quite a few people uh going with an uppercase so I've got my workflow open here I'm going to open this here where we need to use that handle in the call and then I'm just going to go to lowercase I'm going to have a look in this one as well and see if I need a here yes to lowercase and now basically it's deployed to production I've got my pinned web hook data here so I could run this and test this before I hit save I could also revert as well um so I have everything I need to be making these changes quickly on launch day great example of using NN in the wild 12 seconds later so I just launched Starland so if I go on the Internet it's live now if the backend workflow running it crashes this one if there's a problem with it I'm not going to get an alert right now so what I'm going to do is go to the settings here settings make sure that I have my error workflow selected under error workflow I called my error workflow but this can be any workflow on your internet instance and then let's build that workflow real quick a real MVP one so I'll go in here into error workflow I'll add the error trigger this trigger will fire when the workflow runs so this trigger could even be in the same workflow I don't recommend it though cuz then it's harder because the workflow is calling itself they don't have unique names anyhow I'll open this up fetch test event this is an example of the data that'll be available to me from the parent flow so we see we got the URL the execution the error message and stuff I'm going to add a slack node send message going to select my existing credential going to send a message to a channel I set up a channel in slack here project Stylin I'm going to copy the channel ID and we're going to say buy ID for the channel to select it and then I'm going to set expression mode on here and let's write uh the message and we'll combine data from here so start l in and then I'll get the workflow name workflow new line and then let's just print let's say URL I'll do that in there last node executed this will be helpful because I can start seeing some patterns if I see 10 in a row fail at the same node or different nodes I'll understand there's maybe different things going on and then lastly we've got the URL and then error message okay um let's test this sweet now we can see here I can

### [22:40](https://www.youtube.com/watch?v=2Rp6SngsdyU&t=1360s) Wrapping Up & What to Expect Next Week

even open up the workflow that ran this so this is going to open up the error workflow itself I don't have to activate this error workflows do not need to be activated they'll run automatically I just need to save it and now we're going to get an alert if something goes wrong a few moments later what I'm currently working on is converting the workflow into a simplified version that runs with the Ed end form trigger so this is going to allow a lot more folks to try this out faster without having to rig up some sort of web hook thing to consume it in doing so it was outputting the web hook response since that's Jason that was looking like this so I went into chpt and I basically told it here's my Jason output from the node currently I gave it that this is the input that I'm G giving in here that is this here that I sent in so it knows the expression syntax that we're using I then piped in the current output this is what I'm getting here and it gave me a version that wasn't working because it was using some sort of syntax to iterate over I'm guessing liquid or something and then I basically replied that it should be static cuz it wasn't working and it outputed this I popped that in to my respon on to form trigger here and this is what it generated wild stuff one eternity later after all the work this week and shipping style ends I definitely think I've owed myself a beer so I'll catch you next week for another week of the 30-day AI Sprint

---
*Источник: https://ekstraktznaniy.ru/video/15617*