research-os
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
- Research tooling
- KiWiS, which explains the research that these files hold