# Building dApps

Learn how to build complete decentralized applications (dApps) with React frontends that interact with your smart contracts.

## Sample dApps

This section provides full-stack examples using React and Ethers.js:

* [**Counter dApp**](/kite-chain/4-building-dapps/counter-dapp.md) - Simple counter interface with wallet connection
* [**Voting dApp**](/kite-chain/4-building-dapps/voting-dapp.md) - Decentralized voting system with real-time results
* [**Token Minter**](/kite-chain/4-building-dapps/token-minter.md) - Create and manage custom tokens

## What You'll Learn

* Setting up React applications for Web3
* Connecting to MetaMask and other wallets
* Interacting with smart contracts using Ethers.js
* Handling transactions and user feedback
* Building responsive Web3 UIs

## Tech Stack

All examples use modern Web3 development tools:

* **React** - Frontend framework
* **Ethers.js** - Ethereum library for contract interaction
* **MetaMask** - Wallet integration
* **Kite Testnet** - Deploy and test your dApps

## Live Examples

Try our deployed examples:

* Counter dApp: <https://kite-counter-dapp.vercel.app/>

All source code is available on GitHub for you to fork and modify.

## Development Workflow

1. **Deploy Smart Contracts** - Use contracts from the [Developing](/kite-chain/3-developing.md) section
2. **Build Frontend** - Create React components that connect to your contracts
3. **Test Locally** - Run your dApp with a local development server
4. **Deploy** - Host your frontend on Vercel, Netlify, or similar platforms

## Prerequisites

Before building dApps:

* Complete the [Smart Contract Development](/kite-chain/3-developing.md) tutorials
* Have basic React knowledge
* Understand async/await JavaScript patterns

## Next Steps

After building dApps:

* Explore [Advanced Features](broken://pages/jdUSRZAQUgjzaC5bajch) like Account Abstraction and Multisig
* Review [Security Best Practices](broken://pages/kqLANBtbVSLARUVDQkGe)
* Deploy to production and check [Node Operations](broken://pages/uDLrfBrqget7WfPY96kt)

***

*Need to deploy contracts first? Check out* [*Developing Smart Contracts*](/kite-chain/3-developing.md)*!*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gokite.ai/kite-chain/4-building-dapps.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
