Inspiration

There are forms everywhere for legal documents like registration forms but they are hard to fill and edit. I have seen my friends and family and even myself sometimes struggling, mainly if it's a PDF. Most downloadable forms are these PDFs which makes it hard to edit position of text boxes, size, etc. So, I decided to come up with a solution which makes forms easier to complete by answering questions spoken out loud either with voice or text.

What it does

My project, NoForm, is an AI-assistant who fills the forms for you. First, you upload the PDF (or image) form and the app analyses it by extracting the fields and turning it into a conversation.

Next, the form asks every question out loud and you can answer by either pressing the voice button to speak back or type in the text field (sometimes the questions are multiple choice). If the form has it, there will be a place where you have to tick legal statements like "I understand..." and a signature if necessary.

Finally, there will be a chance to review your answers and change anything that doesn't look right before you preview and download your original form with your answers in the right place.

How we built it

I created NoForm and used Codex as my developer agent to build and refine it.

This app was built with Next.js, React, TypeScript and Tailwind CSS. I used GPT-5.6 to analyse uploaded forms, extract their fields and convert them into structured questions. The OpenAI speech models do the job of saying them out loud and recognising the user's response.

NoForm then places the confirmed answers back onto the original form while preserving its layout. I repeatedly tested the complete flow every time Codex finished working and gave the prompts to fix issues such as multilingual responses, audio recording, field detection and PDF placement.

Challenges we ran into

My biggest challenge was making the upload functionality work because it needed an API key. I had added it as one of my environment variables and yet the app kept complaining that there was insufficient quota (no money left to pay) even though my dashboard showed a good amount. After lots of debugging, I found out that while running locally, my local development build had an older stale key that was overriding the new, correct one.

Transcribing voice was another challenge because I was using browser recognition of speech which was not great. For example, "John Doe" would become "London". In the end, I used OpenAI's recognition which made it much more manageable and efficient.

The third challenge I had was when the completed form was downloaded from the app, it lost the original logo, layout and formatting and looked like a simple text document. However, this did not take much time to fix because I explained the issue clearly to Codex and asked it to keep the original PDF design while adding the answers. Codex worked on it and fixed it within a few minutes.

Accomplishments that we're proud of

I am most proud that I managed to turn my idea into a complete working app and not just a basic prototype. NoForm can accept PDF, PNG and JPG forms, understand the questions from the actual uploaded document, ask them out loud, take answers through voice or text in different languages, allow the user to review everything and then fill the answers back into the original form without losing its logos, layout or formatting.

I am also proud of how I used Codex to build and improve the project. I did not just give it one prompt and leave it there. I kept testing every stage, found problems in the voice flow, multilingual answers and downloaded forms, and then explained those problems clearly to Codex so it could fix and improve them. This helped me turn NoForm into a much more polished and useful product.

The biggest accomplishment for me is that I built something which solves a real problem and could genuinely help people who struggle with complicated forms, PDFs or language barriers. I am also proud that I achieved this at the age of 12 during OpenAI Build Week.

What we learned

I have learnt that when you work with AI agents, it's not just about writing one prompt, but about describing and defining the problem clearly, testing every step of the way, finding issues and giving Codex accurate instructions to fix them.

What's next for NoForm

Next, I would like to make NoForm support more languages and understand more complicated forms, including scanned and handwritten ones. I also want to improve how accurately the answers are placed onto every form because different forms can have completely different layouts. In the future, NoForm could be used in places like schools, GP surgeries and councils. I have seen that sometimes a lot of time is spent filling in forms before the appointment properly starts. With NoForm, the doctor or patient could answer the questions by speaking while the form gets completed at the same time.

Built With

  • gpt-4o-mini-tts
  • gpt-4o-transcribe
  • gpt-5.6-sol
  • nextjs
  • openai
  • pdf-lib
  • react
  • tailwindcss
  • typescript
  • vercel
Share this project:

Updates