TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: GoCard – A file-based spaced repetition system built in Go

5 pointsby DavidMiserakabout 2 months ago
Hi HN! I&#x27;m excited to share GoCard, a terminal-based spaced repetition system I built that uses plain Markdown files as its data source.<p>I&#x27;ve always been frustrated with existing spaced repetition tools that lock my knowledge into proprietary formats or require constant internet access. As a developer who lives in terminals and text editors, I wanted something that:<p>1. Stores cards as plain text files I can edit with any editor<p>2. Works seamlessly with Git for versioning and sync<p>3. Runs in a terminal without distractions<p>4. Has first-class support for code snippets and programming concepts<p>GoCard implements the SM-2 algorithm (the same one used by Anki) but instead of a database, it uses a simple directory structure where:<p>- Each card is a Markdown file with YAML frontmatter<p>- Directories represent decks and subdecks<p>- Everything is editable with standard tools<p>*Key features:*<p>- Distraction-free terminal UI built with BubbleTea<p>- Real-time file watching (edit cards in your editor while reviewing)<p>- Code syntax highlighting for 50+ languages<p>- Vim&#x2F;Emacs keybindings for efficient navigation<p>- Hierarchical deck organization via directories<p>- Cross-platform (Linux, macOS, Windows)<p>What sets GoCard apart from other SRS tools is its developer-centric approach. Create cards with your favorite editor, organize them with your file manager, version them with Git, and review them in a clean terminal interface.<p>I built this because I wanted a knowledge management system that worked with my developer workflow rather than against it. Making everything file-based means I can apply all my existing text-processing skills and tools.<p>The project is v0.1.0, implemented in Go, and available at: <a href="https:&#x2F;&#x2F;github.com&#x2F;DavidMiserak&#x2F;GoCard" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;DavidMiserak&#x2F;GoCard</a><p>I&#x27;d especially appreciate feedback on the UX design and any suggestions for making it more intuitive for terminal users. Has anyone else built similar file-based knowledge tools? What patterns worked well for you?

1 comment

mreichhoffabout 2 months ago
looks cool! Any thoughts on Anki interoperability (e.g., get a shared deck from ankiweb and convert to GoCard&#x27;s format)?
评论 #43448996 未加载