Cosimo
| Languages: English | EspaƱol | Galego |
|---|
Cosimo is a desktop application for studying cards. A card has a prompt, such as a word, question, or sentence, and a response, such as a translation, answer, or explanation. During a study session Cosimo shows the prompt, lets you reveal the response, asks how well you remembered it, and then schedules the card for a future session.
This is useful for material that benefits from repeated active recall: vocabulary, factual knowledge, short definitions, grammar examples, command meanings, or any other item where you can decide whether your answer was right.
Cosimo is designed as a native Windows-first application with keyboard and screen-reader accessibility treated as core requirements. It is currently in beta and is manually tested on Windows with NVDA as part of the release process.
How Studying Works
Cosimo uses spaced repetition. That means cards come back when it is becoming useful to see them again: sooner when you miss them or find them difficult, and later when you remember them easily. You do not have to manage dates yourself.
A normal study session works like this:
- Choose
Startto study cards that are available now. - Read the prompt and optionally rate how confident you are before seeing the response.
- Reveal the response.
- Rate your recall: again, hard, good, or easy.
- Cosimo records the attempt and updates the next scheduled review.
You can also force a longer unscheduled session, study only flagged cards, or run an exam-style session that samples active cards without changing the schedule.
What Cosimo Provides
- editable prompt/response cards stored in plain-text
.cosimo-deckfiles - scheduling and review history stored separately in SQLite
- adding, batch adding, editing, deleting, flagging, suspending, deferring, and reversing cards
- filters and sorting on the ready-card list, including flagged, suspended, due, reverse, duplicate, and non-reversible cards
- card details, a learning dashboard, study-session summaries, saved reports, and exam reports
- optional WAV, MP3, or Opus audio during ordinary review, ready-list audio
preview, and a Windows
voice.exehelper for generating Opus or WAV card audio from OneCore or SAPI voices - release-candidate snapshot deck sync through a Cosimo sync server, with
public, unlisted, and private deck visibility; the project provides a public
sync server for release-candidate testing with Mastodon-compatible accounts,
and that public server now runs the RC line, so clients should use
0.1.11-rc.1or a later RC/stable build - automatic deck backups, optional review-database backups, database integrity checks, scrub, and space reclamation
- English, Spanish, and Galician interface languages
Cosimo is aimed at learners who want a small, controllable, portable study tool rather than a web service. Deck content stays in files you can inspect, copy, back up, and edit outside the program if needed.
Download
Get the current Windows release candidate, 0.1.11-rc.1.
Cosimo is portable: expand the zip file into the folder where you want to run
it, then start cosimo.exe from that folder. Upgrading normally means
expanding a newer zip over the old program files; user deck files and review
databases are separate from the program files.
The latest Linux amd64 sync-server package is
cosimo-sync-linux-x86_64.tar.gz. It is
server-only and contains cosimo-sync-cgi, cosimo-sync-server, deployment
documentation, and checksums.
Download for Mac
An experimental contributor-maintained macOS port for Apple Silicon Macs, created by @johann@dragonscave.space, is available as Cosimo_mac.zip. It is separate from the Windows release line and may lag behind the current Windows build.
It is unsigned and not notarised, so macOS Gatekeeper may warn before opening
it. As limitations, audio generation for decks doesn't work, since it is based
on Windows APIs, and the Mac equivalent to minimisation to system tray isn't
working yet. It has been tested with VoiceOver by the contributor, but it is
experimental and further testing is welcome. SHA-256:
eaf49dec692bda2f515df3f3e6929b0bbca44616137a4f205bf1322c140e1576.
Thanks a lot to Johann for this port.
Release candidate
Cosimo 0.1.11-rc.1 is the current release candidate. It includes faster ready-list navigation and menu opening, safer single-instance profile locking, basic Anki import with MP3 playback, a daily new-card intake limit for large or imported decks, browser-based sync registration and device authorisation, account deletion, stronger sync upload hardening and diagnostics, progress reporting for bundle and sync operations, clearer dashboard counts, and exam blank-answer review corrections.
Beta releases
Beta archives are kept as static files from beta 5 onward. Earlier archives remain available as beta 5, beta 6, beta 7, beta 8, beta 9, beta 10, and beta 11.
Release notes are kept in the changelog.
Documentation
- README: fuller project overview, runtime files, backup model, build notes, and repository layout
- User guide: how to use Cosimo
- Troubleshooting: recovery and file handling notes
- Deck attachments: legacy/example deck attachments; for
ordinary deck sharing, use
Deck -> Sync -> Remote Decksin Cosimo - Rating storage: review database and scheduling data model
- Architecture: code organisation and design notes
Accessibility
The study flow uses native controls where practical, supports keyboard-first operation, and is tested with a screen reader. Accessibility regressions are treated as blocking defects.
The current known non-blocking issues are that the ready-list control can announce the selected item twice, and that an empty ready list may be announced as "unknown" on the target Windows/NVDA stack. Navigation and study operation remain functional; the ready summary and filter count remain the reliable empty-state indicators.
The accessibility acceptance notes are in docs/accessibility-acceptance.md.
Beta History
- Beta 1: first public beta.
- Beta 2: accessibility fixes, backups, settings migration, recent decks, and review-flow improvements.
- Beta 3: batch card adding, status bar, text filtering, suspension, and ready-list context menu actions.
- Beta 4: reversible cards, learning dashboard, scheduling improvements, richer study-session statistics, and stronger review-database checks.
- Beta 5: deferral, flagging, non-reversible cards, database scrub, saved reports, sound notifications, and minimise-to-tray behaviour. Archive.
- Beta 6: flagged-card study, prompt-phase deferral, learning dashboard reports and clearer activity metrics, low-vision layout improvements, database space reclamation, stronger file and database errors, tray reliability fixes, release packaging refinements, and the public deck page. Archive.
- Beta 7: deck format v2 with editable metadata and deck-stored non-reversible markers, report-only exam mode, optional WAV review audio, revised confidence calibration, and native confirmation dialogues. Archive.
- Beta 8: Windows voice generation with OneCore and SAPI voices, deck voice metadata, GUI audio generation with progress reporting, manifest-based audio regeneration, ready-list audio preview, optional automatic-review guiding tones, duplicate-prompt prevention, duplicate-prompt repair, and stronger reverse-card ambiguity checks. Archive.
- Beta 9: timed exams, report-only quiz mode, menu reorganisation, learning-dashboard redesign, richer card diagnostics, problem-card and asymmetry filters, exam grading/review audio options, full compressed deck bundle export and backup, and protection for manually maintained audio. Archive.
- Beta 10: a more faithful FSRS-6 scheduler, quiz audio and study-direction choices, full-deck restore and automatic full-deck backups, faster filtering and bundle handling, clearer warnings for screen-reader users, stronger duplicate-prompt repair, better study/exam/quiz progress reporting, and a broad release-hardening pass. Archive.
- Beta 11: Opus audio generation and playback, sidecar-audio cleanup, first-pass deck sync with Mastodon-compatible login, public/unlisted/private visibility, owner uploads and downloads, remote deck listing, quota/status reporting, server packages for CGI or reverse-proxy deployment, and release publishing refinements for static beta archives. Archive.
Source
The project is written in Rust and uses wxdragon over wxWidgets for the GUI.
This repository uses Fossil, not Git. To clone it:
fossil clone https://modulus.isonomia.net/cosimo.cgi cosimo.fossil
mkdir cosimo
cd cosimo
fossil open ../cosimo.fossil
Reporting Bugs
Bug reports are handled with Fossil tickets on this site. Anonymous users can report bugs:
- Open the Cosimo Fossil site.
- Use the login link and log in as
anonymous. - Use the button on the login page to autofill the captcha.
- Create a new ticket.
Useful reports include the Cosimo version, operating system, what you were doing, what happened, and what you expected to happen. For accessibility issues, please also mention the screen reader and version.
Licence
Cosimo is released under the GNU General Public Licence version 3.