Explore the tone of short feedback.
Build a feedback explorer where people can review and correct suggested tone labels.
Build with TingeExplore positive, negative, and neutral sentiment with a tiny English text classifier.
Tinge looks for words associated with positive, negative, and neutral sentiment in English. It offers a small, inspectable way to prototype tone-based interfaces. It does not understand a person’s emotions or the full meaning of a sentence.
Research v0.1.0 · A statistical classifier, not a generative foundation model.
Lowercase the text and build a bag of words and adjacent word pairs.
Add learned log-likelihoods for positive, negative, and neutral sentiment.
Normalize the class scores and return the top label. Scores are not calibrated confidence.
Actual model inference, inside your browser.
No input is uploaded.
Scores are relative model outputs, not calibrated confidence.
Starting points for prototypes.
Validate the model for your use case.
Build a feedback explorer where people can review and correct suggested tone labels.
Build with TingeGroup a personal collection of short reviews and inspect where the classifier fails.
Build with TingeLearn how word-based sentiment models react to negation, mixed opinions, and unfamiliar phrases.
Build with Tinge45 English sentences authored by the coding assistant: 15 positive, 15 negative, and 15 neutral. These are illustrative phrases in the script, not customer reviews, human annotations, or a public sentiment benchmark.
The first 13 sentences in each class are used for training; the final two are held out. The six-example test is far too small to establish sentiment quality.
No third-party model weights, external datasets, or user inputs were used to train this version. Training records are kept private. We publish weights, model cards, aggregate results, and the limitations of each release.
Multinomial naïve Bayes · words and word pairs
Each release includes its model card, measured artifact size, and SHA-256 checksum. Training data and working checkpoints stay private.
Use the local workspace packages today. These packages have not been published to npm or Maven Central.
Run from the repository root, then import the model from a workspace example.
bun install
bun run sdk:buildWith JDK 17+ and Gradle 8.10+, publish the modules to your local Maven repository.
gradle test
gradle publishToMavenLocalrepositories {
mavenLocal()
mavenCentral()
}
dependencies {
implementation("dev.embermote:tinge:0.1.0")
}Kotlin/JVM tests pass. Android device validation, Swift, and native Core ML/LiteRT adapters are not available.
import { createModel } from '@embermote/tinge';
const model = createModel();
const input = "The service was excellent and helpful.";
const result = model.predict(input);
console.log(result.label);
// Scores are not calibrated confidence.4d0da8b7a23077c5bdb16c5415cb734a7c39e53e79f71ace1e624387cf34c155Not reliably. Word counts can miss the difference between “good” and “not good,” or between praise and irony. Do not infer mental state from these labels.
Inference runs locally. The website and artifact download make ordinary network requests, but the demos do not upload your input. Bundled SDK inference does not need an inference server.
Tinge stores a compact statistical representation for a narrow task. Its 12.4 KB artifact is not equivalent to a neural model of a different size, and the file size is not its total runtime memory.
This is a research baseline. Independent evaluation, task-specific acceptance criteria, real-device measurements, and release packaging remain necessary before production use.
Inspect the pieces behind this model.