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.

1

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.

2

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.

  1. Select the option to create a new key.
  2. Name it something you will recognise later, for example TaxFillr laptop.
  3. Copy the key immediately. It is shown once and cannot be retrieved afterwards.
A key is a password. Anyone holding it can spend your quota. Do not paste it into a chat group or a screenshot. If you think it leaked, delete it on ollama.com and generate a new one.
3

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.

Default configuration
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.

4

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.

Terminal
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.