Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Wayfinder: next mtg features

Open
#99 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript
Domain
full-stack

Research direction

Read services/mtg/GLOSSARY.md and review the candidate pool and prior decisions linked in the issue, starting with issues #104 and #101. Decide which 3 to 5 features to shortlist, bound each against the others, and resolve whether the play group is an entity; done means the roadmap is ready for separate spec grilling, with each old idea adopted, ruled out, or closed.

Written by the indexing model from the issue text.

Description

wayfinder:map

Destination

A prioritised roadmap of the next 3 to 5 mtg features for me and my play group: each one chosen, bounded against the others, and cut far enough that its own spec grilling can start from it. At most one big chunk (probably the scanner), otherwise medium features of 1-2 weekends each.

Notes

  • Domain: services/mtg + frontend/mtg, glossary services/mtg/GLOSSARY.md. Every session calls "grilling" and "domain-modeling".
  • Audience: me and my play group. Other users are welcome but don't set priority.
  • Prioritisation: use at the play table > use for collecting/deckbuilding; effort only breaks ties; technical appeal is a bonus.
  • Baseline: feat/tournament-play counts as merged (tournaments: Swiss/pods, guests, join codes, decklists, results, standings). Missing there: leagues, cross-event deck winrate/matchups, pod balancing by deck power, live table.
  • Candidate pool: play table & group, deckbuilding, collection, scanner, import/export, play group as a concept, leagues, plus the old idea issues #4, #6, #7, #8, #9, #10, #12, #24, #76. Each old issue ends up adopted, ruled out or closed.
  • Scanner: success = cards per minute in bulk scanning on my Mali phone (latency per card as a sub-goal); correct = exact printing (set + number). Allowed: in the browser and server-side; native app / other hardware only if research shows there is no other way. Current state: ~320 ms/frame on the fast path, name 90/100, exact printing 67/100, WebGPU broken on Mali.
  • Plan, don't build: tickets produce decisions, not implementation.

Decisions so far

  • Feature survey: what other MTG tools offer: biggest gap is a casual game log (deck winrate, Elo, rivals) without a tournament; leagues as seasons with configurable points; pod balancing by deck power done by nobody yet; #6 and #7 already done in the advisor
  • Scanner: what would a server-side matcher buy?: ~0.5-1.1 s per card vs 1-3.5 s on the phone, ~3 GB RAM index on 4 CPU cores, no GPU; the real gain is verifying every printing (accuracy), not raw speed
  • Scanner: how fast can a browser scanner get on Mali hardware?: on-device levers exist (OpenCV.js built without SIMD/threads, Tesseract 5 to 7, int8 DINOv2, two-stage workers, one cheap WebGPU retry via JSEP); ceiling ~30-40 cards/min by hand vs an estimated 20-26 today, beyond that the human swapping cards is the limit
  • Scanner: is a native app worth it?: no app for now; native gains a few cards/min at most, does nothing for exact printing, and doubles the preprocessing that must match the index; flips only if offline bulk scanning becomes a must or the browser fast path stays over ~1 s/card

Not yet specified

  • The cut of each shortlisted feature (leagues, winrate/matchups, collection ideas ...): becomes cuttable once the longlist is reviewed and it's settled whether the play group exists as an entity.
  • Whether winrate/matchups build on tournament results only or also capture casual games (life tracker).
  • Import/export (Moxfield, Archidekt, Manabrew, Cardmarket wantlists): unclear whether it's its own slot or an accessory of another feature.

Out of scope

  • Finishing and merging feat/tournament-play: it's the baseline, not a step on this map.
  • Implementation and specs of the chosen features: they come after this map.
Dominant language
TypeScript
Stars
0
Forks
1
Avg merge
10h 20m
Merged PRs (30d)
36

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from myOmikron/code

All issues in myOmikron/code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.