<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: tydavid5</title>
    <description>The latest articles on DEV Community by tydavid5 (@tydavid5).</description>
    <link>https://dev.to/tydavid5</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4230695%2F17a548c3-58d0-405c-a057-5b5f0beb3930.png</url>
      <title>DEV Community: tydavid5</title>
      <link>https://dev.to/tydavid5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tydavid5"/>
    <language>en</language>
    <item>
      <title>Recall Picks: a sports pick journal that actually remembers</title>
      <dc:creator>tydavid5</dc:creator>
      <pubDate>Fri, 06 Nov 2026 15:05:12 +0000</pubDate>
      <link>https://dev.to/tydavid5/recall-picks-a-sports-pick-journal-that-actually-remembers-5g4n</link>
      <guid>https://dev.to/tydavid5/recall-picks-a-sports-pick-journal-that-actually-remembers-5g4n</guid>
      <description>&lt;h1&gt;
  
  
  Recall Picks: a sports pick journal that actually remembers
&lt;/h1&gt;

&lt;p&gt;Track 1 — Markets &amp;amp; Sports Prediction, Tatum x Walrus Total Recall hackathon.&lt;br&gt;
Deadline: Tue 10 Nov 2026, 17:00 UTC.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;Blockchain apps forget everything every time you close them. Sports apps are&lt;br&gt;
worse: a tipster can claim they called every winner, because nobody kept the&lt;br&gt;
receipts. A pick logged after the game is not a pick.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Recall Picks does
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Simulate&lt;/strong&gt; — 1,000 runs per match (normal points for NFL/NBA, Poisson
expected goals for soccer, set-by-set for tennis). It reports win counts,
average score, margin, and sim % vs the devigged bookie implied %.
An edge is flagged only on the filter I actually use: sim around 70% or
higher while the bookies price it at 55% or less. Anything else is
"no edge by the filter".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log the pick before kickoff&lt;/strong&gt; — team, league, tipster, model % vs
bookie %, edge. At log time the server asks Tatum's Sui GraphQL gateway
for the live mainnet checkpoint and stores it with the pick. That is the
onchain receipt: the pick existed, at a real checkpoint, before the game.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learn who to trust&lt;/strong&gt; — after the result, the app writes an OUTCOME
memory and recomputes a credibility score per tipster and per league
(settled picks, wins, win rate, average edge, trust shrunk toward 50
for small samples). The next pick shows that trust badge, so the app
gets sharper over time instead of resetting every session.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How it uses Tatum + Walrus
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tatum Sui GraphQL&lt;/strong&gt; (&lt;code&gt;https://sui-mainnet.gateway.tatum.io/graphql&lt;/code&gt;,
server-side only, cached 60s) — one checkpoint query per pick:
&lt;code&gt;checkpoint.sequenceNumber&lt;/code&gt;, wallet balance (MIST → SUI), recent
transactions. Optional SUI price via
&lt;code&gt;GET https://api.tatum.io/v4/data/rate/symbol?symbol=SUI&amp;amp;basePair=USD&lt;/code&gt;
as a display conversion only.
Do NOT build on Sui JSON-RPC — Sui deprecated it Jul–Oct 2026 and
Tatum's host 404s on &lt;code&gt;/&lt;/code&gt;. Full evidence + curl commands: &lt;code&gt;docs/tatum.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Walrus Memory&lt;/strong&gt; (&lt;code&gt;@mysten-incubation/memwal&lt;/code&gt;, relayer
&lt;code&gt;https://relayer.memory.walrus.xyz&lt;/code&gt;, namespace &lt;code&gt;recall-picks&lt;/code&gt;) —
&lt;code&gt;rememberAndWait&lt;/code&gt; / &lt;code&gt;rememberBulkAndWait&lt;/code&gt; / &lt;code&gt;recall&lt;/code&gt; / &lt;code&gt;listMemories&lt;/code&gt;.
Memories are plain text, one fact each: PICK / OUTCOME / CREDIBILITY /
LEAGUE-note. Full SDK steps: &lt;code&gt;docs/walrus.md&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Live proof — VERIFIED 2026-11-06:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Walrus memory_count: 10, namespace recall-picks, Mainnet relayer&lt;/li&gt;
&lt;li&gt;Blob IDs (all 10, status done): 3iJsZmK6LyAWoZeDJblQKmUeBqS6DS9v7ZbfQEWKTbk, ehmgbF_6703AC7XwNyyd3f3zzx3ynTmb6aXsCSTAjHQ, MRHx-t19DqzvVBA7mG3v97nAiM7D7d_R6qJ17ATLeJA, Hy9bFGeVW5o0vyDDGuNU4a6qcIetJEnhmeAZfGrLPEg, oIdOmwPz7pKf5I762Zb7Edh0KFJZ3YmSNUkKxbk2-Hc, 1vkF7KNDmoENXghdhYat60yKdo_uYhNBWCfqdeCrp-w, FwNatUb4WdxLX3HlPLTDDRJxXWimTAwRBLJS8TS02Og, h2ziWMplncG87SiiX78nPQa0tuf8KyBLrBRfrrfwLf8, hK0QmX_XedC1qMfbJX4qJ-RQA-izVnjRuwWGpxtGuOE, 5gSU3hm3u0EltX3Jktuqi_DjGOx7xOTaKnSTdDxIH4Q&lt;/li&gt;
&lt;li&gt;Live Tatum checkpoint at verification: 342311921, SUI $0.871 (re-verified live on the Vercel demo, 2026-11-06)&lt;/li&gt;
&lt;li&gt;Recall query that returned the memories: GET /api/memory?action=recall&amp;amp;q=Arsenal credibility — returned the Arsenal PICK, OUTCOME and CREDIBILITY texts with matching blob IDs. Full ledger: data/seed-ledger.json&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it learned over time
&lt;/h2&gt;

&lt;p&gt;Seeded with 10 memories: 3 pick + outcome pairs, 3 credibility summaries,&lt;br&gt;
1 league note. The concrete learning so far, all from one settled pick each:&lt;br&gt;
Five (NFL) went from neutral 50 to trust 66 after his pick won; Ada (Premier&lt;br&gt;
League) dropped from 50 to 39 after hers lost on a 1-1 draw; Ken (NBA) rose&lt;br&gt;
from 50 to 65 after his pick won. The shrinkage toward 50 keeps a single&lt;br&gt;
result from looking like a track record — the trust badge moves a little,&lt;br&gt;
not all the way, and it will keep moving as more picks settle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Honest limits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;No football data lives on Sui, and Tatum has no odds API. Bookmaker odds
and the simulation model are offchain. Sui proves &lt;em&gt;when&lt;/em&gt; and &lt;em&gt;that&lt;/em&gt; a pick
was logged, not whether the team will win.&lt;/li&gt;
&lt;li&gt;A pregame simulation is a model, not a guarantee — and not a live
probability once the game has started.&lt;/li&gt;
&lt;li&gt;Walrus Memory is plain text + namespace, append-only; credibility is
recomputed in-app from recalled picks + outcomes in time order.&lt;/li&gt;
&lt;li&gt;In mock mode (no keys) every chain number is a clearly-labelled sample.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/tydavid5/recall-picks" rel="noopener noreferrer"&gt;https://github.com/tydavid5/recall-picks&lt;/a&gt;&lt;br&gt;
Demo: live at &lt;a href="https://recall-picks.vercel.app/" rel="noopener noreferrer"&gt;https://recall-picks.vercel.app/&lt;/a&gt; (or run &lt;code&gt;npm start&lt;/code&gt; locally, see README) — the server's &lt;code&gt;/api/health&lt;/code&gt;, &lt;code&gt;/api/memory&lt;/code&gt; and &lt;code&gt;/api/credibility&lt;/code&gt; endpoints are the live proof.&lt;/p&gt;

</description>
      <category>hackathon</category>
      <category>sports</category>
      <category>sui</category>
      <category>walrus</category>
    </item>
  </channel>
</rss>
