Privacy-first statistics, in your browser

Analyze, visualize, and understand your data.

Mellio brings your data to life. Run an analysis in the browser, or send one from R, and read the result in a nutshell. APA-style tables and figures, editable in place, are each just one click away.

Try with sample data Install the R package
Your data stays on your device · cloud sync is opt-in
Door 1 · your data
X study.xlsx
ABC
1idhoursscore
20012.063
30027.086
40034.567
Sheet148 rows
Mellio Analyzer
regression · n = 48
Door 2 · from R
Console R 4.4.1
> fit <- lm(score ~ hours,
            data = study)
> mellio_open(fit)
✔ sent to Mellio
Mellio for R
GitHub install
in a nutshell
stats · summary
Linear regression
score ~ hours · n = 48
Hours studied predicted exam score, b = 2.94, SE = 0.61, t(46) = 4.82, p < .001, R² = .34, 95% CI [1.71, 4.17].
Open in Tables Open in Figures
Table 1Exam Score on Hours
PredictorbSEtp
Intercept61.402.1029.2<.001
Hours2.940.614.82<.001
Note. R² = .34.
Figure 1Exam Score by Hours
50 60 70 80 90 100 0 2 4 6 8 10 Hours studied Exam score
01 · Result cards

Every result becomes a living card.

Send a model or test — from R, or from Mellio Analyzer — and it lands as a Result Card: the estimate, the call that produced it, and a plain-language summary you can reword and copy straight into your manuscript.

stats · summary in a nutshell
Linear regression
score ~ hours · n = 48
lm(score ~ hours, data = study)

b = 2.94, SE = 0.61, t(46) = 4.82, p < .001, R² = .34, 95% CI [1.71, 4.17]

Hours studied significantly predicted exam score, b = 2.94, SE = 0.61, t(46) = 4.82, p < .001, 95% CI [1.71, 4.17]. The model explained 34% of the variance (R² = .34).

Stat or report.

Switch between the bare statistic — formatted for quick review and copying — and a nutshell summary of what your data found. Try the toggle on the card.

It keeps its source.

The exact call that produced it stays attached to the card, so any number traces straight back to where it came from.

A table or figure, in one click.

Open the same result as an editable table or figure you can refine for your reporting style.

02 · Tables

A table, formatted to the rule.

Send a result from Stats, bring a table over from R, or paste straight from SPSS, Excel, or JASP. Mellio lays it out in APA 7 or IEEE — the rounding, italics, and rules already right — and copies into Word as a table you can still edit.

tables
Table 1Table I Regression Predicting Exam Score
PredictorbSEtp
Intercept61.402.1029.2<.001
Hours2.940.614.82<.001
Note. N = 48. R² = .34. CI = 95% confidence interval.

From a result, or from anywhere.

A Stats result lands with its source attached. Paste from SPSS, Excel, JASP, or Word and Mellio reads the structure — and R tables come straight over.

APA 7 or IEEE.

Switch styles and the caption, rules, and italics follow. Tune decimals, p-values, significance stars, and which symbols stay italic. Try the toggle on the card.

Pastes in as a real table.

Copy into Word or Google Docs as an editable table — not an image — or take it as Markdown or LaTeX for Overleaf.

03 · Figures

Edit everything you see. Except the statistics.

Send a result from Mellio Analyzer or R, then open it in Figures. Mellio builds the plot from computed estimates and intervals, so labels, colors, captions, and layout stay editable without changing the statistics. If the figure starts from a file, supported xlsx data or result-table ranges can open too.

result -> figure
Figure 1 Exam Score by Hours Studied
50 60 70 80 90 100 0 2 4 6 8 10 Exam score Hours studied fit + 95% CI · computed
Fig. 1. Exam score by hours studied.

From the same result.

A regression result can become this fitted-line figure; other analyses can open coefficient plots, mean plots, or interval figures when the result contains them. Workbook uploads are supported too when Mellio detects a figure-ready range.

Edit the presentation, not the math.

Titles, labels, ticks, colors, ordering, significance brackets, and reference lines stay editable while the computed estimates and confidence intervals remain tied to the result.

Out as a figure, with its caption.

Copy into Word or Google Docs as an image with its caption, or export a PNG with the print DPI already embedded.

04 · Analyzer

Know your data in a click.

Drop in a spreadsheet and click any variable — Mellio has already read it. Numbers get their mean, SD, median and range; categories get their level frequencies; a built scale gets its Cronbach's α. All on your device, before you run a single test.

mellio.app/#data
study.xlsx24 × 6Variables
participant_ididentifier
24 unique values · excluded from tests

Mellio recognises an ID column and keeps it out of your analyses.

conditioncategorical · 2 levels
Quiet12 · 50%
Notifications12 · 50%
24 filled · 0 missing
recall_scorenumeric
N24
Missing0
Mean67.71
SD5.2
Median67.5
Range59–77
stressscale · 6 items
.88Cronbach's α — the items hang together
Items6
Mean3.7
Avg r.55
Click any variable — Mellio's already read it. Nothing leaves your browser.

Instant, before any test.

Select a variable and the summary is already there — descriptives for numbers, frequencies for categories, reliability for scales. No formulas, no waiting.

Clean and reshape.

Retype, recode, reverse-score, derive new columns, or build a scale from its items — the quick actions for whatever you select.

Then run a test.

Pick an analysis, drop the variables in, and the result lands as a Result Card — assumption checks shown as context, all in the browser.

Every number is golden-tested against R — pinned to R's own output, to a tolerance of 10−8.

05 · Mellio for R

One line from your console.

Already fit in R? mellio_open(fit) sends any result to Mellio — t-tests to mixed models to lavaan path diagrams. Only the result travels, inside the URL itself: your data never touches a server.

Console R 4.4.1
> 

✔ result encoded — opening Mellio
You can also make tables right in R. For example:tab <- melliotab(fit,
  title = "Score predicted by hours",
  number = 1,
  note = "N = 48.")
tab <- mt_sig_stars(tab)
mt_copy(tab)
More options: ?melliotab and ?mt_sig_stars
Version 1.0.0 MIT licensed GitHub install
mellio.app
in a nutshell
stats · summary
Linear regression
score ~ hours · n = 48
Hours studied predicted exam score, b = 2.94, SE = 0.61, t(46) = 4.82, p < .001.

The objects you actually fit.

Linear, mixed, and generalized models; ANOVA and post-hoc; correlation, factor, survival, SEM, Bayesian, and time-series fits — lm, lmer, brms, lavaan, coxph, Arima and more — with a graceful fallback for the rest.

Tables, shaped in R.

Use melliotab() when you want the table to live in your R workflow first: give it a title, table number, and note in the call, then add extras like significance stars only when they fit the manuscript. Copy to Word, knit in Quarto, or open the same table in Mellio.

Smart routing.

Statistical results land in Stats, ready to narrate. Plain data frames land in Tables, ready to format.

Path diagrams included.

Send a lavaan fit and get an editable structural diagram — nodes drag, path labels edit.

R Markdown & Quarto ready.

Tables drop into R Markdown and Quarto and render on knit, in HTML or LaTeX output.

Versioned for reproducibility.

Every handoff records the package versions that produced it, so a result stays traceable — and citable — back to the exact software behind it.

Open source install.

Mellio for R supports selected models, tests, model comparisons, tables, and figures. Please review outputs before publication, especially for complex models or optional-package results.

Install from GitHub while CRAN submission is in progress:
install.packages("remotes") # if needed
remotes::install_github("NicoMel1907/mellio-r")
library(mellio)

Open-source GitHub repository

06 · Library

Findable a year later.

Every result you keep lands in a library that remembers. Folders, color labels, memos that @-mention other cards — and when reviewer two asks how Study 1 compared, the answer is two clicks, not an afternoon.

Compare, side by side.

Select any two results for a quick comparison — try it on the cards to the right.

Combine into panels.

Merge figures into a multi-panel composite, or gather results into one card.

Memos that point somewhere.

Notes can @-mention tables, figures, and stats — so context stays attached to evidence.

Nothing is precious.

Trash keeps deleted work restorable. Search and sort cover the rest.

LibraryAll items · 12Find anything…
All items12
Study 17
Pilot3
Drafts2
Linear regression
score ~ hours · n = 48
b = 2.94, p < .001, R² = .34
stats
Regression — score on hours
Predictorbp
Intercept61.40<.001
Hours2.94<.001
table
Table 1 — coefficients
figure
Figure 1 — score by hours
@Table 1 — same model
figure
Mediation — stress model
2 selected
click two figures to combine them
07 · Privacy

Private by architecture, not by promise.

Your work starts on your device.

Spreadsheets are parsed in your browser, and supported analyses run in your browser. Mellio does not sell your data, does not use ad tracking, and does not expose AI parsing in the current product.

Cloud sync is yours to switch on.

By default, Mellio is local-first: your library lives in this browser. Sign in and turn on sync when you want saved tables, figures, and results backed up to your account too - and turn it off whenever you like.

From R, the same rule holds.

Results sent with mellio_open() travel in the URL hash. Treat those URLs as analysis data: they can include model summaries, table data, plot images, selected point-level figure data, and provenance metadata.

No AI parsingNo ad trackingSync is optional
This browser
Table 1 — coefficients Figure 1 — scatter + fit Regression — summary
Your cloud library
Sync is off
flip it — this is the entire privacy model
What's ahead

Mellio is just getting started.

What you have today — analysis, tables, figures, and clean output — is the foundation, and it keeps growing: new statistical tests are landing in the Analyzer all the time. From here I'm building toward a fuller research workspace — collaborative writing, a reference manager, and AI that assists without taking over your judgment.

Some of what comes next will be paid — that's what lets me keep building it. But Mellio will always keep a meaningful free core, and keeping it within reach for the people whose work holds communities together — non-profits and public-interest research — will always be a priority. I'm putting that here on purpose, so it's a commitment I'm held to.

Has Mellio helped your work? I'd love to hear — hello@mellioapp.com.

Ready when you are

Bring your data to life.

Guided sample demo · nothing uploaded

In public beta — if something is unclear or a feature would help your research, tell me at hello@mellioapp.com.