I Let Cursor Be My CTO
September 25, 2024
Parker walks through the Day-in-the-Life of building Map, an AI-powered all-in-one platform, and shares practical takeaways from shipping, learning to code, and stitching together a Google Calendar integration. Lots of concrete architecture tips, learning strategies, and a peek under the hood of a solo startup build.
Day in the Life and Map concept#
- Map is an all-in-one platform centered on your “future self” AI model.
- It combines calendar, notes, tasks, and project management, all tied to your goals and daily actions.
- The experience is designed to feel natural and not like a separate “coaching” tool—more like an extension of you.
Why build your own backend instead of relying on every SaaS service#
- Cost awareness: early serverless bills with low adoption can bankrupt momentum.
- Shift from frontend-first to owning the stack: provisioning servers (e.g., VPS, Docker) is approachable and scalable with the right patterns.
- The lesson: don’t chase every flashy service—learn the core tooling and keep surface area manageable for longevity.
Tech choices and rationale#
- Stack basics: Next.js + TypeScript; client-heavy front end with a service layer.
- Backend approach: self-hosted/managed VPS (Digital Ocean) and Docker, with a pay-as-you-go mindset.
- Services-to-learn vs. using: use robust, well-documented tools (Supabase for auth/Postgres, etc.) but stay mindful of version drift and surface-area risk.
- Deployment pattern: containers (Docker) + a lightweight deployment tool (referenced as a tool like “CommAll” in the video) to run apps anywhere, cheaply.
Google Calendar adapter: architecture and data flow#
- Goal: a unified adapter that covers all Google Calendar resources, with a clean client, token handling, and a robust sync path.
- Resources covered (example): ACL (Access Control List), events, channels (watchers/updates), colors, calendar lists, calendars, freeBusy, settings.
- Flow highlights:
- First sign-up: determine token presence, prompt for calendar setup, then start syncing.
- Token management: store/refresh tokens securely; handle auth lifecycle.
- Remote RPC: use Supabase to run a syncCalendar RPC that pulls large data sets quickly ( serialized in TypeScript on the server, then persisted).
- Watchers: to stay in sync with changes in Google Calendar (and reflect them in Map immediately).
- Data strategy: pull and store up to 36 months of calendar data on day one for two reasons:
- Backfill the user’s historical context.
- Create a dataset to train the future-self model (privacy-by-design, encryption, anonymization).
Code and patterns:
- Adapter pattern: a GoogleCalendarAdapter interfaces with a common CalendarAdapter, so you can swap/extend to other services with minimal disruption.
- Token and provider abstractions: a provider/token manager handles OAuth tokens and retries.
- Resource-specific methods: each resource has its own method for fetch/serialize/observe, organized by resource type.
Sample pattern (illustrative, not exhaustive):
// Adapter interface for calendar services
export interface CalendarAdapter {
authorize(): Promise<void>;
refreshToken(): Promise<void>;
listEvents(params: ListEventsParams): Promise<CalendarEvent[]>;
createEvent(event: CalendarEventInput): Promise<CalendarEvent>;
// ... other resource operations (ACL, colors, calendars, freeBusy, settings, etc.)
}
// Example adapter implementation
class GoogleCalendarAdapter implements CalendarAdapter {
// authorization, token management, and per-resource methods
async authorize() { /* ... */ }
async refreshToken() { /* ... */ }
async listEvents(params: ListEventsParams): Promise<CalendarEvent[]> { /* ... */ }
async createEvent(event: CalendarEventInput): Promise<CalendarEvent> { /* ... */ }
}- Server actions and RPCs: serialize data on the server, then sync via RPC calls to persist to the database (Supabase).
- Sync performance: the architecture is designed to scale with more data and additional calendar sources while keeping a single, coherent interface.
Data, privacy, and compliance#
- All health and calendar data are treated with strong privacy controls (HP-compliant, encrypted, anonymized).
- The idea is to train a future-self model on a large, but privacy-preserving, data footprint to tailor daily guidance without exposing raw data.
Multi-layer calendar and activity-centric UX#
- Bare calendar basics are complemented with:
- Activity layers: differentiate types of time (work, workouts, family time, etc.) for better decision-making.
- Separate calendars for activities (e.g., workouts) and data streams (whoop health data, sleep, heart rate).
- A “video game” feel: strive for an engaging, motivating calendar rather than a sterile log of events.
- Tasks and notes live in the same space, enabling context-rich planning and execution.
AI-assisted learning and productivity workflow#
- Use AI as a tutor, not a replacement:
- Ask clarifying questions, request pros/cons, see alternative approaches.
- Read the outputs critically—LLMs can hallucinate or misinterpret numbers; verify with your own review.
- Learning techniques the creator uses:
- v0/Cursor as a targeted, framework-specific AI assistant for code explanations, examples, and concrete guidance.
- Treat prompts as an ongoing dialogue, refining queries to fit your project context.
- Use “explain like I’m your friend” prompts to surface rationale and internal decisions.
- Practical prompts and uses:
- Explain Redux vs. context in your project’s terms and show concrete code examples.
- Break down complex goals into next actions with specific verbs (e.g., “Create a migration to move settings into a new calendarSettings object”).
- Compare alternative architectures or approaches (pros/cons) given your current stack and constraints.
Tips for improving your own learning flow:
- Add context through comments: document why a file or function exists to help the LLM reason correctly and avoid redoing context.
- Use network inspection during development to understand API calls, responses, and timing.
- Treat LLMs as mentors at different levels; push for deeper explanations, not just code snippets.
Core development workflow and patterns#
- Keep UI logic and data logic separated; for example, separate calendar visibility state from calendar data state.
- Use a reusable, typed API layer for queries and mutations with retry and logging (built around Supabase in Parker’s setup).
- Server Actions for complex operations: move heavy logic to server-side, keep client lean.
- Watchers for real-time sync: ensure changes in Google Calendar propagate to Map in near real-time.
- Comments as a productivity booster: use a standardized approach to annotate files with rationale and usage notes.
Daily productivity accelerators Parker uses#
- Raycast floating window to capture a quick “end-of-session memory” entry, reducing time-to-productivity next day.
- End-of-session memory: note the last thing done to quickly pick up where you left off.
Final thoughts and next steps#
- This is a real-world, hands-on build in progress, not a polished demo. The focus is on actionable patterns, tradeoffs, and learning strategies.
- If you have questions or want deeper dives into specific parts (adapter patterns, server actions, or AI tutor prompts), drop a comment.
- Like and subscribe if you want ongoing updates on Map, the tech choices, and the evolving AI-powered workflow.
Links#
- Morphic (open-source project) — a project referenced for how perplexity-like features can be implemented.
- Getting Things Done by David Allen — productivity framework referenced for next-action design.
- Google Calendar API resources (ACL, events, channels, colors, calendars, freeBusy, settings) — conceptual anchors for the calendar adapter.
- Peter Levels — referenced as a benchmark in indie-startup tooling and growth.
- Cursor (IDE / coding assistant) — tool highlighted for learning and debugging.
- McKay Wrigley — advocate for adding comments as a workflow booster; related prompts and approaches.
- Supabase — backend service used for auth, Postgres, and RPCs in the architecture.
- Whoop data integration (health data) — an example of live data ingestion for the health layer.
- Raycast — productivity surface used to capture daily actions and memory.
Note: If you want, I can tailor the show notes with more direct quotes from the transcript or reformat a specific section to align with Parker’s preferred cadence.
Transcript
first half of this video is Day in the Life startup stuff second half is a bunch of AI tips feel free to jump around in the chapters all right today we're doing a little Day in the Life thing if you're new here I'm Parker X and I've been working on startups for a decade dropped out of college to help my friend build a food delivery startup we ended up exing that company in 2021 I did a bunch of product management product design also was kind of like a quasi engineering manager when we sold the company I said I'm going to start my own one for the first time it didn't work it was in the music space really challenging did that for like a year and a half but learned a ton so on this channel I share all those stories and I also share the last two years of my life which was learning out of code because when the second one didn't work out that I was working on I had a tough decision do I either go and join a big tech company and make Day in the Life videos about that and be a corpo slave forever or do I learn how to code something that I had struggled with literally since I was 18 I'm 31 now and it took me until I was 29 to like go all in it was different this time cuz we had chat GPT we had all these tools so on this channel I teach you all the stuff that I'm learning how I'm learning it how to get full stack how to build everything that you want and more and without further Ado let's just get right into it we have a lot to cover with what I'm building it's called map and it's an all-in-one platform that's basically a future version of yourself it's an AI model that's trained on everything that you want to get done all of your goals but it has a bunch of tools that are built into it so think your Mac doc think of the calendar the notes the task the project management all this stuff that you use on a day-to-day basis powered by your future self really hard project to build and the last 8 weeks and something you can take away from this the lesson is is not everything that you pursue you'll end up using production but it's still valuable because you learned about it so about 8 weeks ago I needed to build something that allowed me to deploy my app to all the users on our wait list and I was going to use verell I was going to use all this server lless stuff but I got my first bill with just pretty much no users and did the math on and I was like I'm going to bankrupt myself and so that led me down this path because I've been traditionally in nextjs typescript Shad Cen react Dev it's mostly front-end backend is a service tile stuff it led me to actually having to go and learn how to provision my own server and use digital ocean and vpss and I'm getting rained on and some of the Linux stuff and it actually isn't that hard and I think that that's something that uh Pier levels talks about and even dhh if you don't know him he's from base camp I made a video about him but they talk about this phenomena that's going on in the tech industry where a lot of these Services just exist because they SC you into thinking you need them and so you go and you pay this monthly service for something that you could just go and learn and there's literally Specialists for these specific roles so I can link a Blog article that shows you everything about it but in short you can take a nextjs app you can put it in a Docker container which is not scary it doesn't take much time at all and it allows you to run that anywhere and all it took was changing one line of code on the next config file and then putting it on this thing and running this tool called Comm all and it just goes so it's just like for sell except for $5 a month you can literally have the same exact functionality and it'll scale up to infinite users I mean it's crazy like literally Peter levels he got Elon Musk to retweet his product and it went from like $5 a month to like $300 a month but if that same thing had happened with one of these features or one of these SAS Services out there he would have been paying 35,000 so there's a big difference and that's just something I wanted to bring together and then also on just Tech in general there's so many flashy Frameworks like I was going to use this thing called hono and I went out and I was like I need to work with Google Calendar and Outlook and whoop and Aura and straa and all these things I'm going to use this flashy framework that I saw a YouTube video about but you don't realize that that YouTuber got paid to make the video so then you go and you try to build the thing and there's no documentation there's no examples and you can't have a lot of surface area to learn from so find stuff that's like tried and true that's used everywhere don't be afraid to learn because it's worth it and you'll have longevity in what you're learning now I will say there's definitely a balance because I almost got to the point where I wanted to just like rip every service out and raw dog everything because I just wanted to learn it but I'm still using super base which is kind of like a backend as a service postgress also it uses um like it does my off for social sign on but there's also a double-edge sword there because they can launch a new update or nextjs can do something new and then your off is going to be broken if you update but today we're going to be working on basically stitching together this adapter pattern that I made so with Google Calendar in particular because we have this awesome calendar that's going to take on Google Calendar we have wrapped every single resource that their API provides so that is ACL which is Access Control list that is resource uh sorry there's six or seven different resources there's ACL there's events so think of on your calar you have events you have channels which is the the ability to subscribe to a Channel or unsubscribe to a channel it's like watching it to see if anything changes so if you got a flight that's booked then you'd get that email and that would show up on your calendar we need to listen for that stuff you also have colors so think of the colors on the calendar a lot of people color coordinate stuff we need to pull those in we have calendar list and calendars they're slightly different but they all have their own kind of function signatures that we need to write they have their own Json that comes in and then there's free busy to see if they're free or if they're not busy and there's settings so we've built this kind of offramp for Google Calendar because there's billions of users that use it they have it tuned in exactly like they like and I don't want to make it this hard stop I think other companies you know hey.com has a a calendar and you have to kind of like have this like oneway door where like if you're going to come in and pay $30 like you can't expect two-way bidirectional syncing I think that's kind of kind of a bad way of approaching it I want to be able to have everything synced and I want to make sure that everything's good and people can bring in their settings so today we've built out that adapter pattern which I can show you in a second what it looks like it has a Google Calendar client that authorizes every single call it deals with the retrieval of the tokens and the storing of the tokens it on first sign up it decides do you have the tokens do you not have the tokens do you have any calendar signed up and then it'll send you to a setup page where we then use a remote uh remote procedure call with superbase that basically says hey these are all the things that we need this is what the data looks like let's go get all of it let's serialize it in typescript and then well yeah you first serialize it in typescript using a server action called sync calendar and then it calls out to this RPC called sync calendar which is PS SQL and that in I think like 10 seconds takes 36 months of data everything literally everything that you've ever had in your calendar securely brought over and stored in super base which is amazing because not only do you get day one everything that you had in Google Calendar but we can train on that so future version of Parker wants to understand how past version of Parker spent his time the only way to do that the only way to have a good understanding of what this footprint of the user is is by having a ton of data that's why you always see stuff in AI where it's like data is the mode data is the mode data is the mode that's because it it's really important so we're going to be able to have this model that's trained on that 36 months of data we're going to do the same exact thing for Health Data again all this is going to be HP compliant all Anonymous you're going to be encrypted all that good stuff like there's no security issues and that allows us to provide a really awesome experience where you know you can basically have this ideal self that you're communicating with every day and I think that that's something you've never been able to do before like to me that's mind-blowing I think that people throughout their day they have ups and downs like they're not just you know David goggin all the time like I'm a crazy disciplined person um but you know they might be a little sad or they might lose motivation it's fleeting so by having map the idea is that it's not this AI coach I think that's super cringe I think the positioning of that sucks I don't think people want this thing like buzzing in their pocket if they think it's like uh you know a leash like a like somebody else so a lot of what I'm working on is how do you make this feel like your future self how do you make the application and the experience itself and the messaging and the packaging all feel really natural and that's going to come down to getting all that information like I said so let's jump into some code first need another coffee it might see like I'm super caffeinated but I was also up to like 3 last night getting all the backend stuff to work with the front end also it just dawned on me that I Yap a lot about certain things that you might have questions about and in my last video I got a bunch of really good questions really good feedback about how to make the videos better so two things that I ask one if you have any questions about what I'm yapping about they don't have to be like always positive like if you want to hate on me too I'm I'm down for that I'm open to feedback but ask any questions I always answer them I try to be super helpful if it's a related I have like literally just Apple notes just filled with prompts because I'm a oneman shop and I have to do backend front end design marketing all this stuff so I've been like turbocharged by using all this AI stuff literally since like the day that not even 35 came out I started using gpt2 which is really bad but I've been using these things forever so if you have any questions about this please comment below and then of course you know the classic YouTube thing like it because I checked those stats and I was just telling my fiance like at 1:00 a.m. last night I went and I had like 40 likes and then I checked again and I had like 90 and I'm like 40 people like actually click this button like that's more people than I know like that's insane so yeah it's it's crazy to me now we're going to switch cameras and we're going to go into the computer like uh in Zoolander we're going into the computer I know people like desk reviews so this is the Hub I pulled out some of the old keyboards I used to be a magic keyboard guy but I'm pretty tall like 63 65 blonde hair blue eyes no but then I got this this is a moonlander I'm not going to pull it out there's a reason it's in here it's collecting dust it's too hard to use but this Kinesis this is it cuz you can have it split if you're tall if you have Broad shoulders you don't want to look like a shrimp and you'll hurt your back literally if you're working like 16 hour days like I have been like you cannot have a different keyboard that's the best um then I just have a wide camera I have this Logitech 920 this is like a decent entrylevel webcam it actually has software where we can edit we got the Canon add which we're going to jump into in a sec we've got the microphone to up the quality and then it can go up and down but I never use that and then some lights it's got like a little piece of paper on it here's a quick demo of the product so you actually know what it's doing so the homepage was a one-day view of what you have going on today some tasks the goals for the quarter progress bars pretty ugly and then it had this AI gen thing where you could basically just put in what your goal was so in this case it was a fitness goal so I write it I want to run a marathon by August 30th but it was really dumb but it kind of nailed the initial idea and then after that I realize okay that's cool that I can generate that stuff but we need to make it multi- agentic which meant that it could take in the information and if you didn't have enough information about the goal it would ask you more questions and I took this from a project called morphic so if you're curious how perplexity works when I type in how do I make Cuban coffee it's giving me sources it's giving me an answer it's giving me this summary it's really good at summaries by the way and then it gives me this image here it has to decide which image to serve it has to have a function behind the scenes for this there's a lot of stuff has to allow me to share rewrite if I want to so it's an additional call then it has this related section and what I was doing there was I basically copied that pattern so if I typed in morphic there's this awesome open source project you should follow the founder or the the guy who made it muela on Twitter but you can see he open sourced it so you can go download this code and you could just hit why is NVIDIA growing rapidly and it's using the aisk and a bunch of stuff under the hood in order to do this so you have in my video I kind of explained it but in the second version you have the query that comes in from the user so it' be hey I want to run a marathon it's going to say well do we have enough about that and that's what the task manager is it's a separate file and then it would do an inquire so that's the next kind of Step these are all separate files right and then it would give you the proposal so the proposal would be basically what you saw in perplexity where it's like this this kind of like plan for you and then it would give you a preview of the plan across what it looks like on your calendar what it looks like for the to-dos that you need to to done but again kind of dumb and so then I said all right well if it's for health stuff because that's a little B more objective let's bring in some data and so that's when I said all right let's write a bunch of API rappers for whoop because I wear a whoop and that's what this was so then you have all this data that's streaming in it was not done with web hooks so that's the next step but this should give you a better idea of the health picture because it's like I was talking about earlier with context context matters and so I had the Sleep composition for the day sleep duration some style issues heart rate across your workouts and then individual workouts as well as individual sleeps so again a lot of stuff going on with live data and making it look good and then behind the scenes there's this little like Journal that was getting created so llms are really good at reading human text like stuff that sounds like someone wrote it because it was trained on the internet uh you'll notice it's like worse at numbers when it comes to like working in Excel and stuff so it's getting better obviously but that's what this was and then after that I also realized well it needs you know that kind of flow so if I wanted to complete that marathon in the next 90 days well what specific information are you seeking to complete you know this is kind of a test to see like what would you need to know it's kind of annoying too so I really like this but obviously learned a lot and then it would create that training plan and it would spit out a Jason blob basically so this would be what you would use then to create the calendar events create the to-dos and all that like hey do you need to get shoes then I realized you actually need to have all your events from your original calendar like I was talking about earlier so then I added this sync map calendar and then when you do that it would take a few seconds and then it' say okay cool you've synced and then all of them were on the calendar so this is all pretty simple um but it gets into my next topic about how to learn how to learn right so if you're having trouble a certain concept this is a good transition I've had trouble learning how to get drag and drop to work like Google Calendar where you can just go like this and you can go across and you can go left you can go right you can uh drag from the bottom you can uh drag from the bottom on uh actual events and so in the case of this this part here it like looks all fine and dandy but then getting it from this step to the next step takes a lot so that's where Pro tip you'll want to use something like v0 now I use cursor as my ID and we'll get into that in a second I made a couple videos about it and you'll really want to take notes on some of the stuff that I learned about it cuz I've used it for over a year basically since it came out but if you're trying to learn A New Concept something I found really helpful I was literally doing this yesterday because I've gotten Dragon drop to work right but I don't understand it that well and you want to be competent you want to know it like the back of your hand so something I've asked the uh v0 here and why I choose v0 is because it's framework specific like it's trained on exactly what I want it's not outdated it's put out by the company that does nextjs but I say hey like I'm still having trouble like can you explain exactly like why I would use react HS versus server action so it gives me a bunch of examples and then I get into the specifics of my project then I say all right well can you actually help me kind of understand like Dragon drop like we'd probably use Dragon drop for hooks right and then it explains it gives me examples and it actually starts to build one so then when I have a confusing topic that I don't I mean there's a bug here obviously I could say there's a bug but when I have a confusing Concept in my head I go to these llms as tutors I ask them a lot of questions and the biggest part literally the biggest part of all this is like actually read the stuff that your llms give you do not be the idiot or uh me like a year ago who just ignores it and like just takes it as gospel like you have to read it please please read your outputs especially if it's wrong it can be wrong sometimes um so that that's really really helpful when it comes down to learning stuff um and I'll get back to the demo in a moment but the way that you can also kind of gut check these LMS is if you're not sure about it if you're not sure about the way that they're doing it you could say what are the other ways we could write this code and what are the pros and cons of those approaches now that's super helpful because it might just be taking the context of how you've been doing it and if you're like I'd consider myself like a midlevel engineer right like I've only been doing this full-time for two years the 10 years before that was like barely coding and in those two years I've probably worked double time so probably four years of coding so mid-level but I don't know a lot of this stuff like there's better ways to do things so if it's just trained and has context of all the stuff that I'm feeding it it's probably not aware that I want to do something in a different way so this one's really helpful for me because case in point when I was working last night I was doing stuff with contexts and that's part of why I was up so late was I did stuff without context and then I kind of understood it like I get that it's not like it's basically just like a wormhole for prop drilling which is different from Redux it's not actually manag State and so I asked a bunch of questions and it GES me pros and cons and then I said hey like another tip for getting these things to help you learn is could you explain this like why we're making this decision from using one context to having two contexts like could you explain that decision to me like your friend and that gave me this where it's like you know I asked it if I'm right and then it said this is what we're going to do and I said explain it to me like I'm your friend and then it says you know hey there we're working on optimizing our Calendar's application State Management and contact structure currently we have a single calendar contact it gives do this whole thing and we're planning to do is split it out this is how this file will look this is how that file will look by doing the separation we're going to get X Y and Z and you know it gives me a way better understanding and it's really like it really starts to act like that actual PA programmer that's like next to you and you're having a conversation with and you're bouncing ideas off of and I think that's where I get the most value like if there's like levels to this which there are like level one would be like I'm using this llm and I'm spamming it and like I feel like everyone's on like level one or two and then as you go up the ladder you start to treat it differently because you don't want it to atrophy your muscles on usage like you still want to know how to do the thing and be competent but you want it to press you and you learning how to use these tools is actually its own skill set um so you know then you can go deeper and you learn about Redux whatever but those are some of the tips and then back to this demo I realized like you know okay that's a little confusing so then it leads me down another path and then I started adding this stuff in so you know what's the difference between this and Google Calendar well it actually creates calendars specific to activities it has activity layers and this is heavily influenced by a blog post um that I saw i' had been thinking this I didn't know how to call it what he called it what this guy Julian calls it which is a multi-layered calendar I called it that but I didn't what I did not call it was an activity layer and so it's it's kind of this concept where it's like look like your time is valuable throughout the day like everyone has the same amount of hours if you work from 9:00 to 5: but they're not all events like there's something distinctly different between a zoom call which is like you sharing your time it's manager schedule and actually getting down to the Brass tax of some serious work and so that's different from the time that you spend in the gym that's different from the time that you spend with your spouse or with your family and all these things need to look different otherwise you're not going to want to use a calendar because it just feels like work and so that's that's a big thing that I found here is you know in one of the pieces of tension that I think about a lot as I'm building this product out is like how do you make this thing feel like a video game like how do you make it so when you look at this calendar no one wants like it's literally a meme like a full calendar so that's what I'm thinking about now and you know you start with these Primitives because you don't want to like reinvent the Wheel from scratch day one like I needed to bring in things like separate calendars for workouts and then bring in that data from whooping en Rich it and have the graphs and all of that and you can see these are live right like oh from you know 12:45 to 1:15 like what the hell was Parker doing at at at that time oops I just realized I wasn't showing it my bad but you know that's one of the tensions is like you bring in this data and then how do you make this look more interesting you have the live data on here um and then if I fast forward a little bit you can see the next iteration of that was actually bringing in the tasks and the things that you need to do next these are heavily influenced by the book uh by David Allen which is called getting things done um but again like do you want another to-do app well well it turns out I kind of do like I want to have it all in one spot so I'm thinking about that and like how do you make these next actions typed so in in typescript world you know obviously like there's like guards around it and it has like a structure to how the data should look I think about that with like the things you have to do where your next action is actually like a verb it starts with a verb and it's specific so as I'm building out the task part part of this it's making sure that you know those are actual things that you need to do it's not like and they're not huge so it's not like hey build website like you can use an llm and have it read it and be like yo this is not like we need to break this down because you'll actually get like straight up like depressed if you just write these on liners like on a piece of paper and it's like uh get like a new car or something and it's like yeah what do I have to do in there like okay I probably need to figure out like what like how much am I willing to spend like what what kind of car do I need what color car do I need do I go use do I go lease do I need to research that like there's all these things right and so that's that's what I think about a lot with the tasks um and then next section of it was actually notes so making it assist assistive um having the ability to so that like this future version of your s can actually save artifacts so originally I was calling it coaches I hate coach as a word um and then I thought about doing like separate llms with separate models but that's so freaking cringe and then yeah so that's that's like the the gist of what I've been after and I just wanted to like pause for a second because I know that was a lot of yapping but I think it's important for you to know like I'm not just like this random YouTuber guy uh I it's it's not it at all in fact like I'm trying to reduce this down to like 40 minutes a day but I want to give you as much value as possible so please like just stick with me here ask questions in the comments let me know what I should improve on for future videos um so now we're in the code and one of the things that I do that I found really helpful as a one person team that's just like you know you just sawell the product you understand there's a lot to it right like I'm trying to to replace Google Calendar the billions of users there trying to onboard them I'm trying to build a better Notes app which everyone Under the Sun has done but I believe it's stupid that it has to be its own thing I think a standalone Island app like a point solution does not work in the AI world and it has to give you context um and have context with other things in your life it's also test management it's also all this stuff um health related so one one thing in order to be able to accomplish that and be able to make progress every day is reducing the time to productivity on my actual workflow so what I have here is this raycast floating window and every day when I finish session I write cache because our memory is similar to a computer's memory and a lot of the way that we think is similar right like we use the way that we think about our brains with the way that computers work and when I get done with a work session I just write like what's the last thing that I did so that I can reduce that time to productivity so I can get up and running really quick and so the last thing that I did at like 3 in the morning last night was I refactored these contexts to separate the UI logic so calendar visibility and calar data and that is just like bam like hey dude like all right like you don't have to sit here for 15 minutes and like kind of jog your memory like sometimes I'll put it in the file names as well and that's pretty helpful but yeah so then I'll just jump in and I'll start looking around and start digging through the files and see what's up and also I'll put a couple of other things that I need to do next um and I'll go through and I'll see okay well yeah this is what I did I went in I split these out and that's great and also one thing that I did that I found very helpful was adding a lot of comments and I had done this before in like a kind of nonstandardized way but one of the developers McKay is his name on Twitter you should follow him too his name is McKay Wrigley and he got really big over like early AI stuff like cuz he made a bunch of llm projects but he said you know the number one workflow change is recently get adding comments everywhere and a lot of people might cringe but get over it get over yourself like oh you should like know how to you should you should know how to do it all yourself and like code reads itself okay I don't care about that like we're trying to get productive here and this is an easy way to do it is he has this prompt and what it does is it explains the why behind files and it gives more cont to the LM so that it doesn't have to spend time as like thinking and processing it can just think of the solutions because it's just like it it's got a certain amount of of thought energy of like CPU if you will to put to work on Solutions and giving you back a query so if you can give it more context it doesn't have to like think about processing it like understanding it that's awesome and so what I did was I basically just took that and then I went through and I used composer which I have a video on that but it's like command shift ey and like five or 10 files at a time is really the max that I would do it but I dropped that prompt into an AI folder called add comments and I just let it rip and I did that to all the files and I'll tell you it not only not only like one did it make me go through my files like all of them and find redundancies find dead code stupid patterns that I hadn't looked at in a while but it also like there's someu that look sue me I've copi and pasted in there or worse just didn't even read what the llm did and then it made me go back and like dig into the details on it and that was sick so highly recommend doing that um and then the next thing that I'm doing like I said is I'm I'm kind of like linking together all the stuff between the contacts and Google Calendar because I refactored the way that I'm doing thing cuz what you you saw in that demo does not have Watchers so in order to have full compatibility if something comes in like you book a ticket to the Creed conert then you know you want that to show up and map the second that it happens if you make a change on Google Calendar you going an invite for Zoom whatever full compatibility requires Watchers so what I've done is I basically have this pattern where I'm going in let's make this a little bigger I'm going into my uh let's see lib Integrations lib for slash Integrations slash let's just go to google counter okay so in here every integration that I'm doing this is originally a separate API but it was Overkill is I have Google Calendar and then for each resource I could put this all in a class but for me I want to see everything in a file directory and it's all preference but for me I want to do the adapter pattern and I have a class that does the off on all them and in here you know I can show this because there's no invar in there but you know it handles like the authorization and the refresh of the tokens and all that stuff and then that calls a token manager which deals with that we have different providers it's all typed it's all nice and then for each one of the methods that Google Calendar has so like if I looked at any API and I'm going to be working with a ton of them um if you have any questions about the Google calar APM your boy you know you have all these resources so you have the ACL you have the like that's access controllers all these different things so we have a folder that matches each one of them if there's a better pattern for this yell at me I don't care but this is what I like and then for each one of those I have a different method so simple method again they're all commented out because when I provide this to an llm if I needed to make a change then you know it's going to understand what's going on I have these helpers so that's also part of the client so in the Google calar client we have the retry there's logging bunch of nice stuff in there um but that's the pattern that I've been using and so the next step like I was trying to get out earlier was like okay now that we have all this let's work through the components so let's get what we saw earlier in the demo to work great let's make it fast we need to have some interactivity so we're going to be using hooks for that and then we're going to be using server action for any of like the complex stuff that is not just like strict queries and mutations CU I have all those like I'm using superbase like I mentioned in the start of the video where all these you know are queries they're the reads right like we need to get stuff okay cool let's get stuff now they're all in here and then these queries have uh rapper function on them which deals with retries in the case that something's up it has logging but every single one of my queries has that helper it's all typed it's all nice it's great all the arcs are there and these are the reusable things right so like I'm not going to make any complex business Logic on top of these These are kind of like just raw and then notes same thing same thing with the mutations so you all these mutations and then in the next World you use server actions which are basically just like get requests and the server actions are up in here and so this is now what I'm doing or it's like okay what server actions are required to make this to make basic basically like a notion calendar like you know where you can like drag and drop stuff and one of the things that I've also found helpful when I was first engineering this is like this is just a web app right and it's wrapped in electron and so what I can do is I can go into Network and let me just like turn some stuff on and I can see like what's going on I can see all the stuff I can see oh it gets user preferences cron oh it's a web hook there's that a web socket I can turn on that I can refresh the page um and I can just kind of see like what's going on and like dig into that and then click and see like what's the response if there is one if there's you know you can basically just like reverse what they're doing so get synchronized calendars get colors get contact all these gets um and so that's what I'll then you know kind of use and put in my knowledge Bank of like okay well this is how it work this is what I need to do and we go from there so I know that was a lot of stuff in in one video but look I'm going to be making these videos I hope it was very helpful that's what I'm trying to do is basically pack as much value into the video as possible on the stuff that I'm learning because you know six months ago me wish I knew this stuff now I'm not sure what I'm going to title a video probably like Day in the Life whatever but it's much more than that I don't want to just post like a vlog with like a ukulele playing and like uh you know like here's my new keyboard I did show you a keyboard but it I'm trying to make it way better than that so if you're Dev if you're in startup World make sure you follow along with this journey like the video it makes me happy makes me smile uh even if you hate me especially if you hate me definitely like the video and subscribe and I'll see you in the next one