I Built an Apple Notes MVP in 5 Minutes Using V0 (2025 is DOPE)
September 16, 2024
Parker shows how to spin up an Apple Notes MVP in about five minutes using Cursor and v0, then wires it into a Next.js + Shadcn UI setup. It’s a practical look at AI-assisted scaffolding and rapid UI assembly.
Tools and setup#
- Cursor (a fork of VS Code) for the editor and AI prompts
- v0 (an AI-driven code generator) to output app code from natural language prompts
- Next.js as the app framework
- Shadcn UI for components and styling
- Optional: Cursor “projects” for multi-file workflows and “cloud sync” planning
Key Cursor setup (quick tips)
- Models: disable unused models; enable code-focused ones (example: CLAE 3.5 and newer O1s; adjust to what you have)
- Features: enable Cursor tab, composer, and make sure your codebase is indexed
- Docs: add third-party API/docs with a “new Doc” entry, and start from the docs’ relevant sections for better precision
- Long chat and AI review: turn these on for iterative refinement
How v0 is used to generate the app#
- Core idea: prompt v0 with a simple goal, e.g., “Make Apple notes,” and let it generate code in iterations
- Iteration flow your prompts can look like:
- v0 outputs a first version trying to satisfy the request
- You guide it with references (e.g., “make it look like this screenshot”)
- Do multiple passes (the video shows four versions to reach a solid result)
- The breakthrough moment: you copy the resulting code block from v0 and drop it into your editor, then integrate it into your Next.js app
What you’ll typically end up with
- A ready-to-run Apple Notes component with:
- A notes list (left rail) with pinning and live updates
- A rich text area that supports styling
- Basic delete and edit capabilities
- The “magic sauce” is adding the component to your codebase and wiring it into a page
Wiring the UI with Next.js and Shadcn UI#
- After v0 outputs the component, install and wire up Shadcn UI components
- Use Next.js as the app shell to host the page that renders the generated Apple Notes component
- Expect some libraries to show a browser-only red warning if they can’t run in the browser; plan for that in your UI
Suggested flow
- Scaffold Next.js app (if you don’t already have one)
- Install Shadcn UI per the official docs
- Paste the v0 output into a page (e.g., AppleNotes.jsx/tsx) and adjust imports
- Iterate on styling and component structure as needed
Cursor projects and multi-file workflows#
- Use Cursor “projects” to group related files (e.g., Apple Notes core, Cloud Sync logic, UI components)
- This helps you keep related code together and makes it easier for v0 to reason about the project
- Example: create a Cloud Sync project and add files that handle database interaction and syncing logic
Editor workflow and quick edits#
- Inline edits: Command K to edit in place
- Split editing: Command Shift L to move edits to the right pane
- Break into components: Command Shift I to open a pane for multi-file/component editing
- Composer projects: Use the composer flow (Command Shift I) to open a project-focused workspace
Building toward a Cloud Sync MVP#
- Create a project named something like Cloud Sync
- Add files that address syncing notes to a database or remote store
- When your AI-generated chat or prompts reference Cloud Sync, you’ll have the focused files ready
Practical takeaways#
- AI-driven scaffolding can produce a working MVP in minutes; the hard part is iterating to a polished UX
- Maintain Prompts and Documentation
- Keep a dedicated cursor rules file at the repo root to guide AI behavior
- A well-crafted rules file helps keep AI responses aligned with your architecture
- Use a project-centric workflow to keep generated code organized and extensible
- Watch for browser-only libraries (red indicators) and plan graceful fallbacks or SSR-friendly alternatives
Quick caveats#
- The red indicator in the UI signals a library that can’t run in the browser; you’ll need to adjust dependencies or lazy-load features
- AI-generated code usually needs human refinement for edge cases, but the scaffolding buys you huge time
What the final MVP looks like#
- A responsive notes app with:
- Left-hand notes list with pinning and updates
- Right-hand editor area with inline styling
- Capable of creating, editing, and deleting notes
- A path to extend with cloud syncing and extra features via additional files and components
Next steps#
- Try the same approach on a small project: pick a simple MVP idea and generate the core UI with v0
- Add a dedicated cursor rules file to your repo to stabilize AI prompts
- Explore Cursor’s directory for more prompts and patterns to speed up future setups
Links#
- Cursor: https://cursor.sh/
- v0: https://v0.dev/ (AI-driven code generation platform)
- Next.js: https://nextjs.org/
- Shadcn UI: https://ui.shadcn.com/ (installation and usage guides)
- Shadcn UI docs (patterns and components): https://ui.shadcn.com/docs
Transcript
let's make Apple notes in five minutes I literally just did this while I was watching a podcast and wanted to share it so there's two tools and you'll end up with a demo that looks something like this so you have all the notes you can pin them you can type in here you can see it update on the left you can actually edit the different text with some styling you can delete notes pretty ridiculous and all I did was a couple things I downloaded cursor so if you haven't heard of cursor it's a fork of vs code and I also used v0 v z is tuned on nextjs which if you haven't used that it's a framework it's a setup tools that makes it easier to build apps and so let's just jump in we're going to start out by yes go either download cursor I'm assuming you've already done that you can also use Homebrew so if you're used to home brew there is a cursor download for that you can just do Brew install cursor up next we're going to do some settings in cursor if you haven't used cursor definitely pay attention to this part so I clicked on this cod we'll just be going through the menus quickly you can see under models I have all of them disabled except for clae 35 and the new o1s I'm still using Cloud 35 under features you want to make sure you have cursor tab enabled you want to make sure you have have the following settings you have composer as well all of these are good and you want to make sure your code base is indexed all this applies after we do our work in v0 so the way that we're going to do this is I'm going to walk through the thread that I made because I don't need to make you watch me type everything and you can see how powerful v0 is where you literally just say make Apple notes and then it gives you command that you run in cursor and you take it from there I also have long chat enabled and AI review enabled so once you have all those settings um I guess the last bit that I almost left out was if you were to work with third party apis or any sort of libraries that you wanted to have cursor know about You' hit add new Doc and you would paste that in now typically Pro tip you want to actually go into the docs and go to the starting section of where you want it to know about so You' rather get more specific than less so let's get into v0 so v0 is the starting point and again this is all I did I typed in make the Apple notes app that was it it started giving me all this code you can see that I did four versions of this to get to this point that's it it's crazy and so I said give me Apple notes it started writing the version of it this is the first version not that great but it started with something then I took a screenshot of my own notes I said make it look like this copy the aesthetic then it updated and it got closer then I said make it better Steve Jobs is here half this blank is not working then it made it even better it started using a library if you ever see the red thing it's because it's using a library that it's not able to run in the browser and then finally on V4 I got really close I felt like it was good all I was going to do now is I hit add to code base I grab this this is the magic this is the sauce so all I did then was I opened up my editor and I went into the terminal and I typed in the commands to install Shad CN so Shad Cen is a library of components you can edit all them if you wish and I basically just would go to installation nextjs run that one command and then after that one command all I'm doing is running the command that v0 gave me so I hit that it gave me this entire Apple notes component and all these tool tips that were required all the code right there and then I just passed it in as a page so that is mindblowing if you had to do this by hand it would not take 5 minutes I know I said this was going to be 5 minutes for 4 minutes and 30 seconds um some of the bits then that I would go and start editing if I wanted to actually make this really good would be to do command a and I would do my edits with command K so in line I can edit there if I want to move it over to the right hand side I can do command shift L and it'll add it to the right pane which I think is is actually a pretty good way of of editing um multiple files then I could add other files if I said break this into components it would go and do that if I wanted to create a composer project then I would do command shift I and then it'll open up this Pane and this is where you get multiple file edits so it's similar to the pan that you just saw on the right hand side key difference being that you can actually create a project so if I said I want the project for Apple notes to be Cloud sync then I would have a project and I would add files in here and I would add any files that I think have to do with Cloud syncing so if this actually would hit a database and then anytime that I have any chat that's created through that project called cloudsync it's going to have all the files focused already so I just don't have to add them again and that is it it's v0 and it's cursor and it's knowing how to use these projects as a little farewell uh gift you want want to check out the cursor directory this has been pretty helpful and it basically gives you an additional prompt into how curer should operate so I like this one I would just copy this it's a set of rules I go back I'm going to create a new file at the root and I'd call it cursor rules and I just paste that in there and all that's doing instead of putting it in rules for AI I can have it as this file that's nice because one there's more space two you can have Version Control three if you wanted to have multiple of these in different files you could just swap them out so if that was helpful make sure you like the video and subscribe and I'll see you in the next