Build a private dissertation module database with a local coding agent

An MSc module lead had Qwen 3.8 Flash Next in opencode, running fully offline, build a SQLite database that merges student, supervisor and project exports and prints project booklets.

Done withCustom agent· Oct 26, 2026

What they did

The poster, u/dr_lm, runs a university MSc dissertation module and has to track students, supervisors, offered projects, ranked project choices, examiners and final grades, with rules such as supervisors never marking their own students. The data arrives as CSV exports from Microsoft Forms, the student records system and Moodle, each laid out differently and with names spelled inconsistently. Because the records hold student names, emails and unpublished research ideas, the poster would not send them to a cloud model. Instead they ran Qwen 3.8 Flash Next locally on a vLLM backend inside the opencode agent, sandboxed in a Docker container with read-only access to the input files, write access to a workspace, Python, pypdf, LibreOffice and a venv. The agent designed a SQLite database, wrote an ingest step that loads every CSV, and kept a file of manual corrections so the database can be rebuilt from the sources at any time. It also wrote a script that turns the database into a Word booklet of the projects on offer.

How it went

The poster says it worked and that, for this job, it was no worse than the cloud agent (Codex) they normally use. It was noticeably faster, since generating a booklet from the database takes a few seconds on local disk. It understood the requests, inferred next steps and fixed typos and grammar carried over from the form answers on every rebuild. Two other agent harnesses on the same model and backend, Hermes Agent and pi, kept running ahead without checking in and had to be reined back; opencode did not. No hours saved or error counts are given.

Worth knowing

The point here is privacy: nothing leaves the machine, which needs a GPU with a lot of memory. A commenter argued that institutional cloud accounts are already GDPR compliant and that off-the-shelf tools exist for academic matching, and noted that flash-size local models handle well-bounded jobs better than open-ended ones.

Try it

With Custom agent· 5 parts to fill in

You are working in a sandbox with read-only access to [folder of CSV exports from my forms, records system and LMS] and write access to [workspace folder]. Build a SQLite database that tracks [students, supervisors, projects, project choices, examiners and grades], enforcing these rules: [rules, e.g. supervisors cannot mark their own students]. Write an ingest script that loads every export, matches people whose names are spelled differently, and keeps all hand corrections in a separate file so the database can be rebuilt from scratch. Then write a script that produces [a Word booklet of the offered projects]. Show me the schema and every name match you are unsure of before loading anything.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related