<?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: Chisom Mmadubuike</title>
    <description>The latest articles on DEV Community by Chisom Mmadubuike (@chisom_mmadubuike_2353a1b).</description>
    <link>https://dev.to/chisom_mmadubuike_2353a1b</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%2F4158070%2F192c8ff7-280d-4c5a-b878-68047cdfb56c.png</url>
      <title>DEV Community: Chisom Mmadubuike</title>
      <link>https://dev.to/chisom_mmadubuike_2353a1b</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chisom_mmadubuike_2353a1b"/>
    <language>en</language>
    <item>
      <title>I built my friend Chiboy Taryns — a TabPFN cashflow early-warning</title>
      <dc:creator>Chisom Mmadubuike</dc:creator>
      <pubDate>Sat, 03 Oct 2026 16:04:11 +0000</pubDate>
      <link>https://dev.to/chisom_mmadubuike_2353a1b/i-built-my-friend-chiboy-taryns-a-tabpfn-cashflow-early-warning-5b6k</link>
      <guid>https://dev.to/chisom_mmadubuike_2353a1b/i-built-my-friend-chiboy-taryns-a-tabpfn-cashflow-early-warning-5b6k</guid>
      <description>&lt;p&gt;I built Taryns for my friend Chiboy.&lt;/p&gt;

&lt;p&gt;Chiboy freelances. Every Sunday he opens a spreadsheet, scrolls invoices, and guesses whether next week will be fine. Sometimes a client is late. Sometimes a retainer looks “in” when it’s still pending. He finds out when the week already feels thin.&lt;/p&gt;

&lt;p&gt;Taryns turns his invoice CSV into an early warning:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Load invoices (&lt;code&gt;date, client, amount, status, category, notes&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Aggregate into weekly cashflow&lt;/li&gt;
&lt;li&gt;Run TabPFN to forecast next-week inflow, flag weird weeks, and estimate thin-week risk&lt;/li&gt;
&lt;li&gt;Write a short &lt;strong&gt;Sunday brief&lt;/strong&gt; he can act on — chase who, why this week looks off&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It’s not another budgeting dashboard. It’s a gift: his spreadsheet finally talks back before he’s blindsided.&lt;/p&gt;

&lt;p&gt;Live demo: &lt;a href="https://taryns.vercel.app" rel="noopener noreferrer"&gt;https://taryns.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Demo video; &lt;a href="https://youtu.be/Qp9AECmmbDY?si=M20HNXLxGN0xa-sJ" rel="noopener noreferrer"&gt;https://youtu.be/Qp9AECmmbDY?si=M20HNXLxGN0xa-sJ&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open it, keep the name as &lt;strong&gt;Chiboy&lt;/strong&gt;, hit "Run sample forecast".&lt;/p&gt;

&lt;p&gt;What TabPFN showed on his demo history:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next week forecast: ~$50&lt;/li&gt;
&lt;li&gt;Recent 4-week average: ~$925&lt;/li&gt;
&lt;li&gt;Thin-week risk: ~78%&lt;/li&gt;
&lt;li&gt;Weird week caught: 2025-12-15 — $0 collected while $2,100 from Oakline was still pending&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I handed it to him live. He said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Wait… so it basically caught that I would've thought December was fine, but that Oakline money wasn't actually in yet? Yeah, send me this every Sunday. That's the part I always miss."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/webski101/Taryns" rel="noopener noreferrer"&gt;https://github.com/webski101/Taryns&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Core pieces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;src/tabpfn_engine.py&lt;/code&gt; — TabPFN forecast + residual anomaly detection&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;src/data.py&lt;/code&gt; — CSV cleaning and weekly aggregation&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;src/brief.py&lt;/code&gt; — Sunday brief from TabPFN outputs&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;app.py&lt;/code&gt; — Streamlit app for full CSV upload locally&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;web/&lt;/code&gt; — Vercel demo of the Chiboy TabPFN run&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How I Built It;&lt;/p&gt;

&lt;p&gt;Open-source AI at the core is &lt;strong&gt;TabPFN&lt;/strong&gt; (Prior Labs) — a tabular foundation model.&lt;/p&gt;

&lt;p&gt;Why TabPFN and not a chat model for the hard part: Chiboy’s problem is a CSV. Dates, amounts, pending flags, client mix. TabPFN is built to forecast / classify / spot anomalies from historical tabular rows.&lt;/p&gt;

&lt;p&gt;How it’s wired:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean the invoice sheet and roll it up by week&lt;/li&gt;
&lt;li&gt;Local TabPFN v2 regressor predicts next-week inflow&lt;/li&gt;
&lt;li&gt;Compare recent weeks to what TabPFN expected → weird-week flags&lt;/li&gt;
&lt;li&gt;Thin-week risk from a TabPFN classifier signal on historical “thin” weeks&lt;/li&gt;
&lt;li&gt;A short brief layer explains those numbers in plain language (Ollama/Gemma when available; otherwise a deterministic brief from the same TabPFN outputs)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Remove TabPFN and Taryns dies. There’s no product left, just a spreadsheet viewer.&lt;/p&gt;

&lt;p&gt;Stack: Python, Streamlit for the full local app, Next/static demo on Vercel for sharing the Chiboy run quickly.&lt;/p&gt;

&lt;p&gt;Why Does Open Innovation Matter?&lt;/p&gt;

&lt;p&gt;Freelance money data shouldn’t need a closed chatbot.&lt;/p&gt;

&lt;p&gt;Open made this possible in ways a closed API wouldn’t:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Local TabPFN — the prediction runs without a paid API; free to rerun every Sunday&lt;/li&gt;
&lt;li&gt;Data stays closer to him — invoice history doesn’t have to be the fuel for someone else’s chat product&lt;/li&gt;
&lt;li&gt;Swappable explanation layer — the brief can use local open weights via Ollama; the forecast stays TabPFN either way&lt;/li&gt;
&lt;li&gt;Inspectable pipeline — clean → weekly features → TabPFN → brief. No black-box “AI insights” glued on&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Closed tools are great at sounding helpful. Open tabular prediction is better when the job is: learn from this sheet and warn me before I’m blindsided.&lt;/p&gt;

&lt;p&gt;Not financial advice — an early-warning gift for one person.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of TabPFN&lt;/strong&gt; — TabPFN is load-bearing: next-week inflow forecast + weird-week anomaly detection from historical invoice CSV data&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
      <category>tabpfn</category>
    </item>
  </channel>
</rss>
