title: Circom Guide In this guide we'll talk about how to run Circom (Groth16) Circuits on your iOS/Android devices. We won't go in details about how to [setup and build your Circom Circuits](/tutorials/circom) or how to [make an Expo App](https://docs.expo.dev/tutorials/create-your-first-app/). Quickstart Prepping the Project Let's get started with a blank expo project, you can also use any existing expo app, adding zk-proofs requires only a couple of lines really. ```bash bun create expo --template blank-typescript ``` and then add our expo module and relevant libs. ```bash bunx expo install zk-expo expo-asset ``` We already have some sample files ready for you that you'll need to get your circuits running, create a directory /public in the project root and put these files in it. [circuit\_wasm.wasm](/) [circuit\_zkey.zkey](/) [circuit\_graph.graph](/) Next, create a file in the root called metro.config.js so that expo can pick up the wasm, zkey & graph extensions. ```js title="metro.config.js" const { getDefaultConfig } = require("expo/metro-config"); const path = require("path"); const config = getDefaultConfig(__dirname); config.resolver.assetExts = ["wasm", "zkey", "graph"]; module.exports = config; ``` Running the circuits ```tsx {2-3,7-9} title="App.tsx" import { StyleSheet, Button, View } from 'react-native'; import { useAssets } from "expo-asset"; import * as ZkExpo from "zk-expo"; export default function App() { const [assets, error] = useAssets([ require("./public/loginProof_wasm.wasm"), require("./public/loginProof_zkey.zkey"), ]); return (