Wiki › Project

research-os

Project · app · 2026

Research OS is a self-hosted platform, in development, for managing research documents and heavy files. It is meant as a central hub for storing, categorising and moving PDFs, LaTeX sources, datasets and model weights between his own machines and remote servers.

Architecture

  • A Flask API in Python, with Flask-Security for accounts and JSON Web Tokens for API access.
  • PostgreSQL through SQLAlchemy, with Alembic migrations.
  • Large files stored on local disk or any S3-compatible object store, through boto3.
  • Separate route modules for:
    • authentication and documents;
    • tags;
    • chunked uploads, for large files;
    • transfers between machines;
    • a pluggable language-model service, with OpenAI or Gemini as the provider.
  • Docker Compose runs the API and database together.

Process

The repository follows a written software-engineering process. Planning, requirements, architecture, database schema, API contract and tech-stack documents come before the code, in both English and Thai. A task tracker walks through the phases from planning to maintenance. Most of its boxes are still unticked, so treat it as a project in progress.

See also

In the knowledge graph

research-os and the 14 things it is linked to. Open any dot for its page, or explore it in the full graph.

When
2023202420252026
Mar 2026 · 3 commits

As data

Everything on this page is read from triples in the knowledge graph. These are the 25 it states about research-os, and 3 more its ontology implies; the console runs SPARQL over the whole graph, here in your browser.

Download
@prefix id: <https://ask.chaipat.cc/id/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix cj: <https://ask.chaipat.cc/ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

id:ResearchOS
    a cj:Project ;
    rdfs:label "research-os" ;
    cj:context id:ChaipatCC ;
    cj:description "Research OS: a self-hosted platform for managing research documents and heavy files (PDF, LaTeX, datasets, model weights) and moving them between machines." ;
    cj:repository "https://github.com/AppleBoiy/researchos"^^xsd:anyURI ;
    cj:firstCommit "2026-03-16"^^xsd:date ;
    cj:lastCommit "2026-03-16"^^xsd:date ;
    cj:commitCount 3 ;
    cj:kind "app" ;
    cj:theme id:ThemeResearchTools , id:ThemeDevOps ;
    cj:uses id:Python ,
            id:Docker ,
            id:PostgreSQL ,
            id:SQLAlchemy ,
            id:Alembic ,
            id:Boto3 ,
            id:Flask ;
    cj:tier 2 ;
    cj:integrates id:OpenAI ;
    cj:handles id:PDFFormat ;
    cj:mentions id:KIWIS ;
    cj:article "https://ask.chaipat.cc/wiki/ResearchOS"^^xsd:anyURI ;
    cj:activeIn id:Y2026 ;
    cj:activity _:b141 .