Settings
What you can adjust. The rest is set on the server or in the code, and shown here so you can see how your minutes are made.
What you can change
Saved in this browser only. Nothing is sent anywhere. Clearing your browser data resets them.
The starting choice on the upload page. You can change it per meeting.
Saved with each meeting, so a bad room is known before the transcript reads badly.
Someone who ran the meeting and can be asked afterwards about anything unclear.
Sent to the speech engine so it expects both mid sentence. At least one has to stay on.
Tidied has the Roman Urdu spelling settled. As heard is what the engine returned, for when you are checking its work.
So you can find the moment in the recording and listen to it yourself.
The score behind a matched voice, between 0 and 1.
Where your meetings are kept
Which store this copy is using now.
A temporary store, used because the database keys are not set. It empties when the server restarts, and every page says so.
Recordings you can send
What the upload page accepts, and where the audio goes when it arrives.
Only formats the speech engines can actually read are allowed through, so a file is refused straight away rather than failing later.
Roughly three hours of decent audio, which is well past any real meeting.
The browser sends a type with every file, and this is the list it is checked against.
The recording goes from your browser straight into this storage bucket, never through this server, so a weak connection can resume.
What a meeting costs
The three quality tiers, what each costs per hour of audio, and the ceiling nothing crosses without you saying so.
A tier that costs more than this per hour of audio is refused in code rather than quietly billed.
The lowest cost run: fast models everywhere the job allows one.
The default. A stronger model writes the minutes, a fast one does the tidying.
The strongest minutes writer available. It sits over the ceiling, so it needs a deliberate yes at the call site every time.
Which model does which job
A job is asked for by name, never a vendor, so an outage or a better model is a config change and not a rewrite. First in each line is the primary.
Turns the audio into text, with a label for each voice.
Re-writes the whole transcript, so it deliberately runs on a cheap model.
Reads the whole transcript and writes a page, so a stronger model is affordable here.
Searches the archive and answers in a sentence.
A model weaker than this is refused for that job in every tier.
Every model this system knows how to price and call.
Recognising a voice
How sure the system has to be before it puts a name on a line. These lean towards asking, because a confident wrong name puts words in a person's mouth.
At or above this closeness the name is filled in for you, ready to correct.
Between this and the line above, you are asked "is this them?" rather than told.
When the best two people are this close, nothing is filled in whatever the score, which is the case of two siblings in one firm.
Anything briefer than this is not clean enough to recognise a voice from.
A new sample replaces the weakest one, so the memory of a person stays small and current.
A voice is not stored until that person has agreed. They can still be named on a single meeting without it.
Tidying the mixed language lines
The dictionary pass that settles Roman Urdu spelling before anything is summarised, and the guard that stops it changing what was meant.
The agreed spelling for the most common Roman Urdu words, so the same word is written the same way every time.
How many transcript lines are tidied in one go. Bigger batches cost less and are more likely to lose track.
A tidy up that changes a line by more than this is treated as a rewrite and refused, because fixing spelling must never change the meaning.
Checks on the finished minutes
What is verified before minutes are shown to you, rather than trusted to the model that wrote them.
When somebody asks for a comment to be recorded, this much of their distinctive wording must appear in the minutes before it counts as done.
Correct this much of the transcript and the minutes drawn from it are marked as no longer matching, so you are told to redraft.
A missing answer must be declared with a reason. An undeclared blank fails the check and goes back to the model.
What the system learns
Your corrections become standing rules, slowly and with caps, so one bad correction does not spread to every later meeting.
The same correction has to happen this many times independently before anything is suggested.
Names, company terms and acronyms kept for your organisation. Past this cap, the weakest is retired to make room.
Standing instructions about how your minutes should read, learned from your edits.
A spelling only joins the dictionary everyone uses after this many separate organisations have corrected it the same way. Nothing else ever crosses between companies.
Everything learned is shown to a person to accept or reject. Nothing writes itself into your settings.
The Word file
How the minutes are laid out on the page. The look lives in a Word template, so changing it never touches code.
A normal Word file with the blanks marked. Replace it with your own letterhead and every future document uses it.
The file is rendered from the stored minutes every time, so a correction shows up in the next download with no re-render step to forget.
Server keys
Set these in the hosting dashboard, never in a file in the repository. Only the names are shown here. The values are never read into this page, so they cannot leak into it.
Not set on this server. This part is switched off until it is, and nothing pretends otherwise.
SUPABASE_URLSUPABASE_SERVICE_ROLE_KEYNot set on this server. This part is switched off until it is, and nothing pretends otherwise.
SUPABASE_URLSUPABASE_ANON_KEYNot set on this server. This part is switched off until it is, and nothing pretends otherwise.
DESIMEMO_DEFAULT_ORG_IDNot set on this server. This part is switched off until it is, and nothing pretends otherwise.
GEMINI_API_KEYNot set on this server. This part is switched off until it is, and nothing pretends otherwise.
SONIOX_API_KEYNot set on this server. This part is switched off until it is, and nothing pretends otherwise.
ANTHROPIC_API_KEYWhy so much of this is read only. These numbers decide what your minutes say and what a meeting costs, so they are changed in the code with a test behind them. This page is here so you can see all of them without asking anybody.