# Examples for Common dApp Scenarios

To tie it all together, let's look at some example prompt structures for various Solana dApp types. These examples illustrate how to apply the strategies above in practice. You can use them as a starting point and customize for your needs.

<table data-view="cards"><thead><tr><th></th><th data-type="content-ref"></th></tr></thead><tbody><tr><td>Example 1: Staking Dashboard dApp</td><td><a href="examples-for-common-dapp-scenarios/example-1-staking-dashboard-dapp">example-1-staking-dashboard-dapp</a></td></tr><tr><td>Example 2: NFT Marketplace / Platform</td><td><a href="examples-for-common-dapp-scenarios/example-2-nft-marketplace-platform">example-2-nft-marketplace-platform</a></td></tr><tr><td>Example 3: Crowdfunding (Fundraising) dApp</td><td><a href="examples-for-common-dapp-scenarios/example-3-crowdfunding-fundraising-dapp">example-3-crowdfunding-fundraising-dapp</a></td></tr></tbody></table>

A few notable prompt engineering aspects here:

* We used **bullet points/sub-bullets** to clearly enumerate the requirements for each instruction in the program. This makes it easier for the AI to address each one methodically.
* We explicitly describe conditions and logic (e.g., withdraw only if funded after deadline), which the AI should translate into code (if statements and error returns in Rust, etc.).
* For the front-end, we described user interactions in detail. Even though this is not code, it gives the AI context to generate the UI code that meets these needs.
* We mentioned possible use of events or contribution records but labeled it optional – this gives the AI some flexibility. It might or might not implement refunds based on how it interprets “optional”, but if it doesn’t, you could always prompt again to add the refund instruction.

After getting the output, you would examine things like: Are lamport transfers handled via CPI (since Anchor might need to call the system program)? Does the front-end properly fetch campaign accounts (maybe via connection.getProgramAccounts)? If the initial output lacks something (say, it didn’t implement refunds and you want that), you can prompt again: “Add a refund instruction so contributors can reclaim funds if the campaign fails, and update the front-end to include a refund button for failed campaigns.”

These examples illustrate not just static prompts but how you might **iterate** with Nyvo’s AI. You provide a thorough first prompt, get a baseline implementation, then you can refine further. The prompting patterns – clear role, detailed requirements list, Solana-specific jargon, and explicit instructions – are reusable for other dApp ideas as well.
