Sourcerer
An open-source offline AI bargain-hunting assistant. It uses a local multimodal model to identify items and computes maximum bids through pure functions, requiring neither an internet connection nor an API key.
Timeline (last 90 days)
Sourcerer is an open-source project with an offline-first design that requires no internet connection, no API keys, and zero cost per scan.
Sourcerer uses a locally running Gemma 3 4B model for item recognition and pure TypeScript functions for pricing calculations.
Sourcerer's advisor agent runs on llama3.2:3b, which has tool calling capability and answers the same amount question in about 2 seconds.
Sourcerer's monetary conclusions are assembled by feeMath using the same decideVerdict() pure function as the scanning interface, and asking the same question five times yields character-for-character identical answers.
Sourcerer estimates sold prices by multiplying asking-price data by a publicly named coefficient, ASKING_TO_SOLD_FACTOR = 0.86.
Sourcerer's batch repricing task runs on Temporal, with two activities per item: refresh comparable data, apply new price.
In a durability test that used SIGKILL to kill the worker process mid-scan, of 12 items the first worker refreshed 3, and after restart the second worker refreshed 9, with 0 duplicate refreshes and 24 activity executions (expected value 24).
Sourcerer takes 30–40 seconds to recognize from a photo, 8.3–8.8 seconds from input text, the first scan after a restart waits about 75 extra seconds to load weights, and the local 1B model generates a list draft in about 2 seconds.
All Facts (8)
Sourcerer is an open-source project with an offline-first design that requires no internet connection, no API keys, and zero cost per scan.
50%UnverifiedSourcerer uses a locally running Gemma 3 4B model for item recognition and pure TypeScript functions for pricing calculations.
50%UnverifiedSourcerer's advisor agent runs on llama3.2:3b, which has tool calling capability and answers the same amount question in about 2 seconds.
50%UnverifiedSourcerer's monetary conclusions are assembled by feeMath using the same decideVerdict() pure function as the scanning interface, and asking the same question five times yields character-for-character identical answers.
50%UnverifiedSourcerer estimates sold prices by multiplying asking-price data by a publicly named coefficient, ASKING_TO_SOLD_FACTOR = 0.86.
50%UnverifiedSourcerer's batch repricing task runs on Temporal, with two activities per item: refresh comparable data, apply new price.
50%UnverifiedIn a durability test that used SIGKILL to kill the worker process mid-scan, of 12 items the first worker refreshed 3, and after restart the second worker refreshed 9, with 0 duplicate refreshes and 24 activity executions (expected value 24).
50%UnverifiedSourcerer takes 30–40 seconds to recognize from a photo, 8.3–8.8 seconds from input text, the first scan after a restart waits about 75 extra seconds to load weights, and the local 1B model generates a list draft in about 2 seconds.
50%