How Aftergleam ranks papers

How Aftergleam fetches papers, learns from your reading, composes the daily digest and explains its choices.

Describes version 1.5.0.

Fetching

arXiv announces new papers once each weekday evening, at 20:00 US Eastern, from Sunday to Thursday. The app fetches once after each announcement and not in between, so refreshing twice does not ask arXiv twice. Requests to the arXiv API are kept at least three seconds apart, as arXiv asks. The other servers have no fixed schedule, so the app asks them for the last few days, through the bioRxiv API, the OSF API and the Crossref REST API.

By default this happens at 05:00, on Wi-Fi while the phone charges, and the digest is built straight after. Opening the app in the morning then only reads a database.

Keywords you add are looked for separately, in papers from the last 60 days on arXiv and, through Crossref, on the other servers, whatever their subject. A keyword with its bell switched on is checked every six hours between 08:00 and 21:00, and a new match sends a notification.

The model

Each paper is represented by the words and two-word phrases in its title and abstract, weighted by TF-IDF. A logistic regression learns from your reactions, with older papers from the phone as negative examples, and is retrained on the phone whenever your reactions change. There is no neural network and nothing to download.

TF-IDF was chosen after testing it against a neural alternative. In a leave-one-out test on a real library of 38 papers, TF-IDF placed 21 of 24 held-out computer vision papers in the top ten of 301 candidates. A small sentence-embedding model, MiniLM, placed 19. At that sample size the difference is not significant, so the simpler model was kept: it needs no download and no native code, and its explanations can quote real words.

A later comparison found that combining TF-IDF with a sentence embedding ranks better, by 3 to 12 per cent in nDCG@25, depending on how many papers a reader has liked. It would add 25 to 35 MB and native code to the app, and has not been shipped.

Signals

Each interaction with a paper has a fixed weight between 0 and 1:

What you didCounts as
Tapped the heart, for more like this0.95
Reached the third page of its PDF0.9
Shared it0.85
Kept its PDF open for 20 seconds0.7
Saved it for later0.6
Stayed on its abstract for 15 seconds0.4
Opened it0.25
Tapped the cross, for less like this0

A paper’s training label is set by its strongest signal; further signals move it part of the way towards 1 but never past it. Less like this overrides everything else. The subjects you follow enter as short example texts with a weight of 0.7.

Papers you scroll past are not used as training examples. They only reduce how many places their subject receives in later digests. Keywords do not train the model either; it learns from how you react to the papers that mention them.

Composing the digest

While evidence is scarce, predictions are shrunk towards a neutral prior: with signals from 6 papers the model carries about a fifth of the weight, with 100 papers about four fifths.

Places in the digest are allocated between your subjects by Thompson sampling on how often you engage with each. Evidence decays with a half-life of 30 days, so a change of research focus shows within weeks, and a subject with little evidence still receives occasional places because its uncertainty is wide.

Within a subject, papers are sampled in proportion to their scores, using Gumbel noise, rather than taken strictly from the top, and papers very similar to one already chosen are penalised. Refreshing therefore produces a different selection even when no new papers have arrived.

Acceptance at a conference or journal multiplies a paper’s score by up to 1.35 at the default setting, so a well-published paper on a topic you dislike still ranks low. The venue comes from what authors write in arXiv’s comments and journal fields, or from bioRxiv’s and medRxiv’s note that a paper has been published. Papers on the Hugging Face daily list get a smaller boost of the same kind.

Papers that mention one of your keywords come first and take at most half of the ordinary places; the best matches by score follow. After the first three cards, every fourth card is an exploratory pick, labelled as such: first a paper from a neighbouring field (math.OC, outside your usual), then papers that ranked just below the cut (testing whether this is for you). Reactions to these help locate the boundary of your interests. Digest size, weight on venue, exploration and variety can be changed in the app’s settings.

Explanations

For each card, the app finds the most similar paper among those you liked, saved, downloaded, shared or read, and lists the terms the two share, strongest first; matches sparse, autoencoder, diffusion is an example. If no kept paper reaches a cosine similarity of 0.06, the card shows its category instead. A paper that mentions one of your keywords says so instead, as in mentions U-Net.

Explanations are not derived from the model’s weights. Weights fitted on a few dozen papers are unstable, and an earlier version that printed them produced reasons such as matches optimal, thereby, known.

Resurfacing

If you passed over a paper three to twelve months ago and it has since been accepted at a conference or journal, it can reappear, at most once per digest: You passed on this in March. It was accepted to NeurIPS 2026. Workshop acceptances are excluded. Once a week, on Wi-Fi while the phone charges, the app requests updated metadata for these papers from arXiv.

Citation counts are not used. Open databases such as OpenAlex record almost none for preprints this recent, and querying Semantic Scholar or a similar service paper by paper would reveal your reading to a third party.

Sources and subjects

Only the servers your subjects need are contacted; a mathematician’s phone never contacts the Law Archive.

ServerFields
arXivPhysics, mathematics, computer science, statistics, engineering, economics, quantitative biology
bioRxivBiology
medRxivMedicine and health
PsyArXivPsychology
SocArXivSocial science
EdArXivEducation
Law ArchiveLaw
ChemRxivChemistry, fetched through Crossref
All 114 subjects, in 14 fields
Computer science from arXiv
Machine learning; Language models; Computer vision; Generative models; Robotics; Security and privacy; Systems and networks; Theory and algorithms; Human-computer interaction; Software engineering; Search and recommendation; Databases and data; Graphics and geometry; Networks and society; AI, agents and planning; Neural and evolutionary computing; Hardware and architecture; Information and coding theory; Logic and verification
Physics from arXiv
Astrophysics; High energy physics; Condensed matter; Quantum physics; Gravitation and relativity; Fluids and soft matter; Optics and photonics; Chemistry and chemical physics; Biological physics; Plasma and fusion; Earth and atmosphere; Atomic and molecular physics; Nuclear physics; Mathematical physics; Applied and computational physics; Instrumentation and detectors; Physics, society and history; Nonlinear and complex systems
Mathematics from arXiv
Analysis and PDEs; Algebra and geometry; Probability; Optimisation; Numerical methods; Combinatorics and number theory; Geometry and topology; Logic and foundations; Functional analysis and operators; Dynamical systems; Groups and representations; Mathematical statistics
Biology and medicine from arXiv
Genomics; Neuroscience; Molecular biology; Populations and evolution; Cell and subcellular biology; Tissues, organs and physiology; Molecular networks; Quantitative methods in biology; Medical imaging
Statistics from arXiv
Methods and inference; Applied statistics; Computational statistics
Engineering from arXiv
Signal processing; Speech and audio; Computational engineering; Control systems
Biology from bioRxiv
Cell and molecular biology; Neuroscience and behaviour; Cancer, immunology and disease; Microbiology; Genomics and bioinformatics; Ecology and evolution; Plant biology; Biophysics and bioengineering; Physiology and pharmacology
Medicine from medRxiv
Epidemiology and public health; Infectious disease; Neurology and mental health; Cardiovascular and metabolic; Oncology and haematology; Health informatics and imaging; Genetic and genomic medicine; Health systems and policy; Rehabilitation and physiotherapy; Surgery and perioperative care; Women’s and children’s health; Emergency, intensive and palliative care; Other clinical specialties
Economics and finance from arXiv
Economics; Finance; Economic theory; Mathematical finance
Psychology from PsyArXiv
Cognitive psychology; Clinical and mental health; Social and personality; Developmental psychology; Methods and meta-science
Social science from SocArXiv
Sociology; Policy and public affairs; Science and technology studies; Social methods and statistics
Education from EdArXiv
Teaching and curriculum; Assessment and education research; Higher and adult education; Subject teaching
Law from Law Archive
Public and constitutional law; Criminal and civil law; Business and economic law; International and comparative law; Technology, health and society
Chemistry from ChemRxiv
Organic chemistry and synthesis; Physical and computational chemistry; Materials and nanochemistry; Analytical chemistry; Biological and medicinal chemistry

Limitations

  • Aftergleam is for Android. There is no iPhone or desktop version.
  • It reads preprint servers, not journals, although a card shows when a preprint has since been accepted at a conference or journal.
  • Library import matches entries against arXiv only, so papers that are only on the other servers are not found.
  • ChemRxiv papers open in the browser, because ChemRxiv does not let apps download them.
  • Papers from PsyArXiv, SocArXiv, EdArXiv and the Law Archive are shown without authors, because requesting author names from OSF, which hosts them, made fetching too slow.
  • Popular is weighted heavily towards machine learning, as is the Hugging Face list it draws on. For many fields it stays empty.
  • The first digests are general. Until you have reacted to a few papers, ranking relies on your subjects, recency and venue.

About the measurements

The measurements above come from the developer’s own library and from a simulation that runs the app’s ranker for forty mornings with six simulated readers. They are evidence that the approach works, not proof that it works equally well in every field. The design notes, with every measurement and the change it led to, are published with the source code, along with the Python harness used to produce them.

Thank you to arXiv for use of its open access interoperability.