Skip to content
Back to catalog
Formspree

Job applications with Formspree

Collect job applications with a React form that submits to Formspree, deployed on Appwrite Sites

Formspree is a form backend. You point a form at a Formspree form, and Formspree receives and stores the submissions, so a static site can collect data without a server of its own. Its React library, @formspree/react, submits a form from a React component and reports the submission state.

How does the integration work?

Appwrite Sites has a Job applications form with Formspree template: a React, Vite, and Tailwind CSS job application form that sends every submission to Formspree. The form calls useForm from @formspree/react with the form ID in the VITE_FORMSPREE_FORM_ID environment variable, disables the submit button while sending, and shows a confirmation message when Formspree accepts the submission.

Appwrite builds the template from the appwrite/templates-for-sites repository and serves it as a static site:

SettingValue
FrameworkReact
Install commandnpm install
Build commandnpm run build
Output directory./dist
RenderingStatic, with index.html as the fallback file

How to implement

To collect job applications with Formspree and Appwrite Sites, there are several steps you must complete:

Step 1: Create a form on Formspree

Sign up for Formspree and create a new form in the dashboard. Open the form's Integration tab and copy the hashid at the end of the URL shown under Your form's endpoint is. This is the form ID the template needs, for example xrgkpqld.

Step 2: Create a site from the template

For this step, you must create an account on Appwrite Cloud or self-host Appwrite if you haven't already. In your Appwrite project, go to Sites and click Create site. Search the templates for Job applications form with Formspree and select it.

Enter a Site name and a Site ID, then choose Connect your repository if you want to edit the form later, or Connect later to deploy it as it is. Under the template's variables, set VITE_FORMSPREE_FORM_ID to the form ID you copied. The variable is required, and Vite reads it at build time, so the deployed form already points at your Formspree form.

Pick a subdomain under Domain and click Deploy.

Step 3: Test the form

Open the deployed site, fill in the application, and click Submit Application. After Formspree accepts it, the page shows a thank-you message, and the submission appears in your form on the Formspree dashboard.

If you change the form ID later, update VITE_FORMSPREE_FORM_ID in the site's Settings > Environment variables and redeploy the site, because variable changes only apply to new deployments.

Step 4: Customize the fields

The form lives in src/App.jsx. Each input's name attribute, such as email, previous-company, or start-date, becomes a field in the Formspree submission. Add, remove, or rename inputs there, and edit the options of the position select to list your open roles. Push the change to the production branch to redeploy.

Read more about Formspree and Appwrite Sites

If you would like to learn more about Formspree and Appwrite Sites, we have some resources that you should visit:

Technology Partner Program

Building on Appwrite?

Teams and developers who ship integrations, tools, or services on Appwrite can join our partner program for verified catalog placement, co-marketing, training, and engineering support.