Setup guide
Getting your Ollama key
TaxFillr has no AI plan of its own. You bring a key, the app talks to the model from your browser, and your documents stay yours. This takes about five minutes.
What you need
Three things: an email address, a browser, and about five minutes. There is nothing to install on your computer and nothing to pay upfront.
Ollama is a platform for running large language models. TaxFillr uses its cloud API with the gemma4:31b-cloud model, which is good at pulling structured fields out of messy documents and knows enough about tax administration to be useful. You can switch to another model later without changing anything else.
Create an Ollama account
Go to ollama.com and sign up. Email or a Google account both work. Confirm your address if a verification mail arrives, otherwise key creation stays locked.
Generate an API key
Once you are signed in, open your account menu and find the section for keys. It is usually under Settings, then Keys, and it may be labelled API keys or Developer.
- Select the option to create a new key.
- Name it something you will recognise later, for example TaxFillr laptop.
- Copy the key immediately. It is shown once and cannot be retrieved afterwards.
Paste the key into TaxFillr
Open the Settings page in the app, paste the key into the API key field and press Save. The defaults for the other two fields are already correct for Ollama Cloud.
Base URL: https://ollama.com Model: gemma4:31b-cloud API key: the key you just copied
Press Test connection. A confirmation means everything is wired up. The key is written to your browser storage on this device only, so you will need to repeat this on your phone or on another machine.
Run your first document
Open Scan document and upload something simple to start with, ideally a printed receipt or a salary slip rather than a faded thermal strip. Text recognition runs first and shows its progress, then the model reads the text and fills in a form.
Check the fields, correct anything that is off, and save. The record appears in My documents and its numbers immediately feed the dashboard totals and the calculator.
Using a local Ollama server
If you already run Ollama on your own machine, you can keep everything offline except the page itself. Install a model, then start the server so that it accepts requests from the site.
ollama pull gemma3:12b set OLLAMA_ORIGINS=https://your-site.pages.dev ollama serve
Then set the base URL in Settings to http://localhost:11434 and the model to whatever you pulled. On macOS or Linux use export OLLAMA_ORIGINS=... instead of set. Without that variable the browser blocks the request as a cross origin call.
What this costs
TaxFillr charges nothing. Ollama bills for the model calls, and the amounts involved here are small: reading one document is a single short request, and a long advisor conversation is a handful more. A full year of personal receipts is a light workload, not a subscription level of usage.
Text recognition, PDF parsing and spreadsheet parsing all run on your own machine and cost nothing at all. Only the analysis step calls the model.
Troubleshooting
Ollama rejected the API key
The key is wrong, was deleted, or has a stray space at one end. Generate a fresh key on ollama.com, paste it again and make sure nothing was cut off at the start.
Model not found
The model name does not exist on your account. Check the spelling of gemma4:31b-cloud, including the colon, or pick another model from the Ollama library.
The relay is not running on this site
Nothing is answering /api/ollama. Open that address in a browser tab: a deployed relay replies with a short JSON message. If it shows the 404 page instead, the functions folder was missing from the deployment. During local development the relay never runs under next dev, so use npm run preview.
The request never left the browser
An ad blocker or privacy extension is usually stopping it. Reload with extensions disabled, or add the site to their allow list. Note that a browser can never call ollama.com directly, whatever your extensions do, because it sends no CORS headers. That is what the relay is for.
Text recognition is slow
The first image on a fresh browser downloads the recognition engine, which takes a moment. Later files are much faster. Turning off Urdu reading roughly halves the download when you do not need it.
The extracted fields are wrong
Photograph the document flat, fill the frame and avoid shadows across the total. If it is still wrong, correct the form by hand. The saved record is whatever you approve, not whatever the model guessed.