<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Sober Group Forums: Recovery Support and Community Discussion - Home</title>
		<link>https://forums.sobergroup.com/</link>
		<description><![CDATA[Welcome to the "Sober Group Discussion Forum", a vibrant and inclusive online community devoted to the collection, curation, archiving, and preservation of information related to the innovative work of Sober Group in the ever-changing digital landscape.]]></description>
		<language>en</language>
		<lastBuildDate>Fri, 10 Apr 2026 08:34:39 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>https://forums.sobergroup.com/images/misc/rss.png</url>
			<title>Sober Group Forums: Recovery Support and Community Discussion - Home</title>
			<link>https://forums.sobergroup.com/</link>
		</image>
		<item>
			<title>Selecting a Date Range in CSS</title>
			<link>https://forums.sobergroup.com/forum/services/website-development/17696-selecting-a-date-range-in-css</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description><![CDATA[A clever approach for selecting multiple dates on a calendar where the :nth-child()'s “n of selector” syntax does all the heavy lifting... even in...]]></description>
			<content:encoded><![CDATA[A clever approach for selecting multiple dates on a calendar where the :nth-child()'s “n of selector” syntax does all the heavy lifting... even in the JavaScript.<br />
<br />
<hr /><br />
<a href="https://css-tricks.com/selecting-a-date-range-in-css/" target="_blank">Selecting a Date Range in CSS</a> originally published on <a href="https://css-tricks.com" target="_blank">CSS-Tricks</a>, which is part of the <a href="https://try.digitalocean.com/css-tricks/?utm_medium=rss&amp;utm_source=css-tricks.com&amp;utm_campaign=family_&amp;utm_content=" target="_blank">DigitalOcean</a> family. You should <a href="https://css-tricks.com/newsletters/" target="_blank">get the newsletter</a>.<br />
<br />
<br />
<br />
<a href="https://css-tricks.com/selecting-a-date-range-in-css/" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/website-development">Website Development</category>
			<dc:creator>MyrinNew</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/website-development/17696-selecting-a-date-range-in-css</guid>
		</item>
		<item>
			<title>How to Build an Online Marketplace with Next.js, Express, and Stripe Connect</title>
			<link>https://forums.sobergroup.com/forum/services/website-development/17695-how-to-build-an-online-marketplace-with-next-js-express-and-stripe-connect</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description>Have you ever wondered how platforms like Etsy, Uber, or Teachable handle payments for thousands of sellers? The answer is a multi-vendor...</description>
			<content:encoded><![CDATA[<br />
                     Have you ever wondered how platforms like Etsy, Uber, or Teachable handle payments for thousands of sellers? The answer is a multi-vendor marketplace: an application where merchants can sign up, list  <br />
                <br />
<br />
<a href="https://www.freecodecamp.org/news/build-online-marketplace-with-next-js-express-stripe-connect/" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/website-development">Website Development</category>
			<dc:creator>MyrinNew</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/website-development/17695-how-to-build-an-online-marketplace-with-next-js-express-and-stripe-connect</guid>
		</item>
		<item>
			<title>How to Build Reliable AI Systems.</title>
			<link>https://forums.sobergroup.com/forum/services/website-development/17694-how-to-build-reliable-ai-systems</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description><![CDATA[We've all been there: You open ChatGPT, drop a prompt. &quot;Extract all emails from this sheet and categorize by sentiment.&quot; It gives you something...]]></description>
			<content:encoded><![CDATA[<br />
                     We've all been there: You open ChatGPT, drop a prompt. &quot;Extract all emails from this sheet and categorize by sentiment.&quot; It gives you something close. You correct it, it apologizes, and gives you a ne <br />
                <br />
<br />
<a href="https://www.freecodecamp.org/news/how-to-build-reliable-ai-systems/" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/website-development">Website Development</category>
			<dc:creator>MyrinNew</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/website-development/17694-how-to-build-reliable-ai-systems</guid>
		</item>
		<item>
			<title>CUDA Programming for NVIDIA H100s</title>
			<link>https://forums.sobergroup.com/forum/services/website-development/17693-cuda-programming-for-nvidia-h100s</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description>Learn CUDA programming for NVIDIA Hopper GPUs. We just posted a course on the freeCodeCamp.org YouTube channel that will teach you to build efficient...</description>
			<content:encoded><![CDATA[<br />
                     Learn CUDA programming for NVIDIA Hopper GPUs. We just posted a course on the freeCodeCamp.org YouTube channel that will teach you to build efficient WGMMA pipelines and leverage Cutlass optimizations <br />
                <br />
<br />
<a href="https://www.freecodecamp.org/news/cuda-programming-for-nvidia-h100s/" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/website-development">Website Development</category>
			<dc:creator>MyrinNew</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/website-development/17693-cuda-programming-for-nvidia-h100s</guid>
		</item>
		<item>
			<title>OpenVid: The Open-Source Studio to Create Cinematic Demos in Your Browser</title>
			<link>https://forums.sobergroup.com/forum/services/website-development/17692-openvid-the-open-source-studio-to-create-cinematic-demos-in-your-browser</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description>Creating professional product demos shouldn’t require a steep learning curve or heavy desktop software. Meet OpenVid, an open-source video editor...</description>
			<content:encoded><![CDATA[Creating professional product demos shouldn’t require a steep learning curve or heavy desktop software. Meet OpenVid, an open-source video editor built specifically for developers and makers who need high-quality demos in seconds.<br />
<br />
<br />
👉 Try it now: <a href="https://openvid.dev" target="_blank">https://openvid.dev</a><br />
<br />
<br />
Everything happens directly in your browser. No installs, no complex timeline, just pure, cinematic results.<br />
<br />
<br />
<br />
<br />
<a href="https://dev.to/cristianolivera1/openvid-the-open-source-studio-to-create-cinematic-demos-in-your-browser-6dj" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/website-development">Website Development</category>
			<dc:creator>MyrinNew</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/website-development/17692-openvid-the-open-source-studio-to-create-cinematic-demos-in-your-browser</guid>
		</item>
		<item>
			<title>A simple React hook for running local LLMs via WebGPU</title>
			<link>https://forums.sobergroup.com/forum/services/website-development/17691-a-simple-react-hook-for-running-local-llms-via-webgpu</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description>Running AI inference natively in the browser is the holy grail for reducing API costs and keeping enterprise data private. But if you’ve actually...</description>
			<content:encoded><![CDATA[Running AI inference natively in the browser is the holy grail for reducing API costs and keeping enterprise data private. But if you’ve actually tried to build it, you know the reality is a massive headache.<br />
<br />
<br />
You have to manually configure WebLLM or Transformers.js, set up dedicated Web Workers so your main React thread doesn't freeze, handle browser caching for massive model files, and write custom state management just to track the loading progress. It is hours of complex, low-level boilerplate before you can even generate a single token.<br />
<br />
<br />
I got tired of configuring the same WebGPU architecture over and over, so I wrapped the entire engine into a single, drop-in React hook: <a href="https://www.npmjs.com/package/react-brai" target="_blank">react-brai</a>.<br />
<br />
<br />
Initialize the engine. The hook automatically handles Leader/Follower negotiation based on multiple active tabs.<br />
<br />
<br />
<br />
<br />
<br />
<br />
import { useLocalAI } from 'react-brai';<br />
<br />
export default function Chat() {<br />
  const { loadModel, chat, isReady, tps } = useLocalAI();<br />
<br />
  useEffect(() =&gt; { <br />
      loadModel('Llama-3.2-1B-Instruct-q4f16_1-MLC'); <br />
  }, []);<br />
<br />
  return div&gt;Speed: {tps} T/sdiv&gt;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Now just use the loaded model liek this,<br />
<br />
<br />
<br />
<br />
<br />
<br />
const response = await chat([<br />
  { role: &quot;system&quot;, content: &quot;Output JSON: { sentiment: 'pos' | 'neg' }&quot; },<br />
  { role: &quot;user&quot;, content: &quot;I love this library!&quot; }<br />
]);<br />
const data = JSON.parse(response);<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
It abstracts away the web worker delegation, the model caching, and the memory constraints. You just call the hook, pick a quantized SLM (like Llama-3B), and start generating text or extracting JSON.<br />
<br />
<br />
<b>The Browser Cache</b><br />
<br />
Let me be brutally honest, This is not for lightweight, general-purpose landing pages. react-brai requires the user to download a ~1.5GB to 3GB model into their local browser cache on the first load.<br />
<br />
<br />
But for high-profile, niche use cases, that initial heavy download is an incredibly cheap price to pay.<br />
<br />
<br />
<b>Where this actually makes sense</b><ul><li>Heavy B2B Dashboards: The user logs in daily. They eat the download cost once, and forever after, their inference is instant and offline.</li>
<li>Enterprise Data Privacy: When strict rules prevent you from sending customer data to OpenAI, local WebGPU inference is your only secure option.</li>
<li>Automated JSON Extraction: Constantly formatting and extracting JSON from large datasets without burning through API tokens.</li>
</ul><br />
<br />
Try it out<br />
<br />
I’ve published the package on NPM and set up a live playground. I’d love for fellow React devs to test the implementation and let me know how the memory management handles on your hardware.<br />
<br />
<br />
NPM: <a href="https://www.npmjs.com/package/react-brai" target="_blank">https://www.npmjs.com/package/react-brai</a><br />
<br />
<br />
Live WebGPU Playground: <a href="https://react-brai.vercel.app" target="_blank">https://react-brai.vercel.app</a><br />
<br />
<br />
<br />
<br />
<a href="https://dev.to/rahul_80cfa43302b/a-simple-react-hook-for-running-local-llms-via-webgpu-5234" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/website-development">Website Development</category>
			<dc:creator>MyrinNew</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/website-development/17691-a-simple-react-hook-for-running-local-llms-via-webgpu</guid>
		</item>
		<item>
			<title>Experience Engine: AI Memory That Shrinks As Your Agent Learns</title>
			<link>https://forums.sobergroup.com/forum/services/website-development/17690-experience-engine-ai-memory-that-shrinks-as-your-agent-learns</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description>Every AI coding session, my agent made the same mistakes. 
 
 
DbContext as singleton — state corruption, 15 minutes debugging. Again. ILogger...</description>
			<content:encoded><![CDATA[Every AI coding session, my agent made the same mistakes.<br />
<br />
<br />
DbContext as singleton — state corruption, 15 minutes debugging. <b>Again.</b> ILogger instead of IMLog — lost tenant context. <b>Again.</b> Wrong project reference path — build fails. <b>Again.</b><br />
<br />
<br />
I had 500 memory notes. My agent was still a junior with a bigger notebook.<br />
<br />
<br />
So I built something different.<br />
<br />
<br />
<b>The Problem With AI Memory</b><br /><br />Every AI memory tool — Mem0, Letta, Zep — stores <b>facts</b>. More sessions = more entries = more tokens = more cost. They're giving your agent a bigger notebook.<br />
<br />
<br />
But here's the thing: <b>a notebook doesn't make you experienced.</b><br />
<br />
<br />
A junior developer with 500 notes is still a junior. A mid-level developer with 15 principles understands <i>why</i> things work. The difference isn't how much you remember — it's whether you can <b>generalize</b>.<br />
<br />
<br />
<br />
<br />
<br />
<br />
Junior (500 notes):<br />
  &quot;DbContext singleton caused bug&quot;<br />
  &quot;HttpClient singleton caused leak&quot;  <br />
  &quot;SmtpClient singleton caused corruption&quot;<br />
  → Encounters RedisConnection singleton → NO MATCH → makes the mistake<br />
<br />
Mid-level (1 principle):<br />
  &quot;Stateful objects must be scoped, never singleton&quot;<br />
  → Encounters RedisConnection singleton → MATCHES → avoids the mistake<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
That's what Experience Engine does. It doesn't store more facts. It <b>evolves facts into principles</b>, then deletes the facts.<br />
<br />
<br />
<b>How It Works</b><br /><br />When you code with any AI agent (Claude Code, Gemini CLI, Codex CLI), Experience Engine runs silently in the background:<br />
<br />
<br />
<b>Before every Edit/Write/Bash:</b><br />
<br />
A hook queries the experience store: &quot;Have I seen this mistake before?&quot; If yes, it injects a warning directly into the agent's context:<br />
<br />
<br />
<br />
<br />
<br />
<br />
⚠️ [Experience - High Confidence (0.85)]: Stateful objects must be <br />
scoped, never singleton. Last time SingleInstance caused state <br />
corruption in DbContext.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The agent reads this warning and avoids the mistake. No human intervention needed.<br />
<br />
<br />
<b>After every session:</b><br />
<br />
An extractor scans the session transcript for mistake patterns:<ul><li>Retry loops (same tool call 3+ times)</li>
<li>User corrections (&quot;no, not that&quot;, &quot;wrong&quot;, &quot;undo&quot;)</li>
<li>Test fail → fix cycles</li>
<li>Git reverts</li>
</ul><br />
<br />
Each detected mistake gets extracted into a structured Q&amp;A entry and stored in a vector database.<br />
<br />
<br />
<b>Weekly (automatic):</b><br />
<br />
The evolution engine runs:<br />
<br />
<ol class="decimal"><li><b>Promote</b>: entries confirmed 3+ times move from cache → behavioral rules</li>
<li><b>Abstract</b>: clusters of 3+ similar entries → one general principle</li>
<li><b>Demote</b>: entries ignored 3+ times get deprioritized</li>
<li><b>Archive</b>: entries unused for 90 days get cleaned up</li>
</ol><br />
<br />
The result: <b>memory shrinks as capability grows.</b><br />
<br />
<b>The 4-Tier Architecture</b><br /><br /><br />
<br />
<br />
T0 Principles  (~400 tokens)  — generalized rules, always loaded<br />
    &quot;Stateful objects must be scoped, never singleton&quot;<br />
<br />
T1 Behavioral  (~600 tokens)  — specific reflexes, always loaded<br />
    &quot;WHEN DbContext + DI → MUST check lifetime FIRST&quot;<br />
<br />
T2 QA Cache    (semantic)     — detailed Q&amp;A, retrieved on match<br />
    Q: &quot;Why not singleton?&quot; → A: &quot;State corruption across requests&quot;<br />
<br />
T3 Raw         (staging)      — unprocessed mistakes, TTL 30 days<br />
<br />
Lifecycle: T3 → extract → T2 → promote (3x confirmed) → T1 <br />
           → generalize (cluster 3+) → T0<br />
           Memory SHRINKS as capability GROWS<br />
<br />
<br />
<br />
<br />
<br />
<b>What Makes This Different</b><br /><br /><div class="b-bbcode__table--wrapper text_table_"><table class="b-bbcode__table text_table"><tr valign="top" class="text_table_tr"></tr>
<tr valign="top" class="text_table_tr"><td class="text_table_td"><b>Over time</b></td>
<td class="text_table_td">Entries grow forever</td>
<td class="text_table_td">Entries grow forever</td>
<td class="text_table_td">Entries grow forever</td>
<td class="text_table_td"><b>Entries shrink into principles</b></td>
</tr>
<tr valign="top" class="text_table_tr"><td class="text_table_td"><b>Novel cases</b></td>
<td class="text_table_td">Only exact matches</td>
<td class="text_table_td">Only exact matches</td>
<td class="text_table_td">Only exact matches</td>
<td class="text_table_td"><b>Principles generalize</b></td>
</tr>
<tr valign="top" class="text_table_tr"><td class="text_table_td"><b>Mistake learning</b></td>
<td class="text_table_td">No</td>
<td class="text_table_td">No</td>
<td class="text_table_td">No</td>
<td class="text_table_td"><b>5 detection patterns</b></td>
</tr>
<tr valign="top" class="text_table_tr"><td class="text_table_td"><b>Dependencies</b></td>
<td class="text_table_td">Python + SDK</td>
<td class="text_table_td">PostgreSQL</td>
<td class="text_table_td">PostgreSQL</td>
<td class="text_table_td"><b>Zero (Node.js built-in)</b></td>
</tr>
<tr valign="top" class="text_table_tr"><td class="text_table_td"><b>Local-first</b></td>
<td class="text_table_td">Optional</td>
<td class="text_table_td">Optional</td>
<td class="text_table_td">Partial</td>
<td class="text_table_td"><b>Default</b></td>
</tr>
<tr valign="top" class="text_table_tr"><td class="text_table_td"><b>Data ownership</b></td>
<td class="text_table_td">Cloud vendor</td>
<td class="text_table_td">SaaS terms</td>
<td class="text_table_td">Cloud vendor</td>
<td class="text_table_td"><b>You own everything</b></td>
</tr>
</table></div>
<br />
<b>Experience Graph</b><br /><br />Experiences aren't isolated entries — they're linked with typed edges:<br />
<br />
<br />
<br />
<br />
<br />
<br />
DbContext singleton ──generalizes──→ &quot;Stateful objects: always scoped&quot;<br />
                    ──relates-to───→ HttpClient singleton  <br />
                    ──supersedes───→ [old] &quot;Use transient for DbContext&quot;<br />
                    ──contradicts──→ [demoted] &quot;Singleton is fine for DbContext&quot;<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
When one experience matches your current action, the engine follows edges to surface related experiences too. This is how it catches RedisConnection singleton — not because it's seen Redis before, but because it's <b>connected</b> to the principle about stateful objects.<br />
<br />
<br />
<b>Temporal Reasoning</b><br /><br />Knowledge evolves. What was true in January might be wrong in March:<br />
<br />
<br />
<br />
<br />
<br />
<br />
January:  &quot;Use singleton for HttpClient&quot; (confirmed 5x)<br />
March:    &quot;Use IHttpClientFactory instead&quot; (contradicts January)<br />
          → January entry superseded, not deleted<br />
          → March entry ranks higher (recent confirmation)<br />
          → GET /api/timeline?topic=httpclient shows the evolution<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The engine tracks confirmedAt[] arrays — not just &quot;what was learned&quot; but &quot;when it was last confirmed.&quot; Stale knowledge gets penalized. Recent confirmations get boosted.<br />
<br />
<br />
<b>REST API</b><br /><br />Everything is accessible via HTTP — not just CLI hooks:<br />
<br />
<br />
<br />
<br />
<br />
<br />
# Start the server<br />
node server.js<br />
# Experience Engine API running on <a href="http://localhost:8082" target="_blank">http://localhost:8082</a><br />
<br />
# Check health<br />
curl localhost:8082/health<br />
<br />
# Query experience before a tool call<br />
curl -X POST localhost:8082/api/intercept \<br />
  -H &quot;Content-Type: application/json&quot; \<br />
  -d '{&quot;toolName&quot;:&quot;Write&quot;,&quot;toolInput&quot;:{&quot;file_path&quot;:&quot;s  rc/Startup.cs&quot;}}'<br />
<br />
# Response:<br />
{<br />
  &quot;suggestions&quot;: &quot;⚠️ [High Confidence (0.85)]: Stateful objects must be scoped&quot;,<br />
  &quot;hasSuggestions&quot;: true<br />
}<br />
<br />
# Trigger evolution<br />
curl -X POST localhost:8082/api/evolve<br />
# {&quot;promoted&quot;:2,&quot;abstracted&quot;:1,&quot;demoted&quot;:0,&quot;archived  &quot;:3,&quot;success&quot;:true}<br />
<br />
# View stats<br />
curl localhost:8082/api/stats?since=30d<br />
<br />
# Knowledge timeline<br />
curl &quot;localhost:8082/api/timeline?topic=dependency+injection&quot;<br />
<br />
# Experience graph<br />
curl &quot;localhost:8082/api/graph?id=abc-123&quot;<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
10 endpoints total. Zero dependencies — uses Node.js built-in http module. CORS enabled for browser extensions.<br />
<br />
<br />
<b>Python SDK</b><br /><br /><br />
<br />
<br />
<br />
from muonroi_experience import Client<br />
<br />
client = Client(&quot;http://localhost:8082&quot;)<br />
<br />
# Query experience<br />
result = client.intercept(&quot;Write&quot;, {&quot;file_path&quot;: &quot;app.py&quot;})<br />
if result[&quot;hasSuggestions&quot;]:<br />
    print(result[&quot;suggestions&quot;])<br />
<br />
# Extract lessons<br />
client.extract(&quot;Agent tried singleton for DbContext, caused corruption...&quot;)<br />
<br />
# Trigger evolution  <br />
evolution = client.evolve()<br />
print(f&quot;Promoted: {evolution['promoted']}, Abstracted: {evolution['abstracted']}&quot;)<br />
<br />
# Check stats<br />
stats = client.stats(since=&quot;7d&quot;)<br />
print(f&quot;Mistakes avoided: {stats['suggestions']}&quot;)<br />
<br />
# View knowledge timeline<br />
timeline = client.timeline(&quot;dependency injection&quot;)<br />
for entry in timeline[&quot;timeline&quot;]:<br />
    status = &quot;[superseded]&quot; if entry[&quot;superseded&quot;] else &quot;&quot;<br />
    print(f&quot;  {status} {entry['solution']}&quot;)<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Zero dependencies — uses Python stdlib urllib. Python 3.8+.<br />
<br />
<br />
<b>Multi-User Support</b><br /><br />Multiple developers on the same machine get isolated stores:<br />
<br />
<br />
<br />
<br />
<br />
<br />
EXP_USER=alice node server.js    # Alice's experiences<br />
EXP_USER=bob node server.js      # Bob's (completely isolated)<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Share principles without sharing personal data:<br />
<br />
<br />
<br />
<br />
<br />
<br />
# Alice shares a principle she evolved<br />
curl -X POST localhost:8082/api/principles/share \<br />
  -d '{&quot;principleId&quot;: &quot;abc-123&quot;}'<br />
# Returns portable JSON — no personal data included<br />
<br />
# Bob imports it<br />
curl -X POST localhost:8082/api/principles/import \<br />
  -d '{&quot;principle&quot;:&quot;Stateful objects must be scoped&quot;,&quot;solution&quot;:&quot;...&quot;,&quot;confidence&quot;:0.85}'<br />
# Bob's evolution engine manages it independently from here<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Quick Start (5 minutes)</b><br /><br /><br />
<br />
<br />
<br />
git clone <a href="https://github.com/muonroi/experience-engine.git" target="_blank">https://github.com/muonroi/experience-engine.git</a><br />
cd experience-engine<br />
bash .experience/setup.sh --local   # Docker Qdrant + Ollama (100% free)<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The setup wizard handles everything. After setup, your agent starts learning automatically through hooks.<br />
<br />
<br />
<b>Supported providers</b><br /><br />You're not locked to Ollama. The engine supports:<br />
<br />
<br />
<b>Embedding:</b> Ollama, OpenAI, Gemini, VoyageAI, SiliconFlow, or any OpenAI-compatible API<br />
<br />
<br />
<b>Brain (extraction):</b> Ollama, OpenAI, Gemini, Claude, DeepSeek, SiliconFlow, or any OpenAI-compatible API<br />
<br />
<br />
Mix and match — e.g., SiliconFlow for cheap embeddings + Ollama for free extraction.<br />
<br />
<br />
<b>Anti-Noise Scoring</b><br /><br />Not all experiences are equal. Results are ranked by:<ul><li><b>Hit frequency</b> — confirmed experiences rank higher</li>
<li><b>Recency</b> — recently confirmed &gt; stale (60+ days penalty)</li>
<li><b>Confidence aging</b> — new entries start lower, climb with confirmation</li>
<li><b>Ignore tracking</b> — suggestions ignored 3x get demoted</li>
<li><b>Domain match</b> — editing .ts file → TypeScript experiences rank higher</li>
<li><b>Temporal boost</b> — confirmed in last 7 days → score boost</li>
<li><b>Superseded penalty</b> — replaced knowledge ranks lower</li>
</ul><br />
<br />
This means your agent gets the <b>most relevant, most trusted</b> experience for the current context — not just the most similar vector match.<br />
<br />
<br />
<b>The Philosophy</b><br /><br />Every AI memory company stores your data on their cloud and charges you to access it. Mem0 stores your memories. Letta stores your agent state. You pay monthly to access your own knowledge.<br />
<br />
<br />
Experience Engine is different:<ul><li><b>Your data never leaves your machine</b> (unless you choose cloud sync)</li>
<li><b>Zero vendor lock-in</b> — standard formats, portable profiles</li>
<li><b>Zero dependencies</b> — Node.js built-in modules only</li>
<li><b>The engine is open source</b> — you pay for convenience, never for capability</li>
</ul><br />
<div style="margin-left:40px"><br />
<i>&quot;Enterprise AI replaces you. Personal AI empowers you. Same technology. Different owner.&quot;</i><br />
<br />
</div><br />
<b>What's Next</b><br /><br />The engine is live and working. I'm dogfooding it on my own projects right now. After 2 weeks:<ul><li>47 suggestions fired</li>
<li>12 mistakes avoided</li>
<li>5 principles evolved from ~50 raw entries</li>
<li>Memory footprint <b>decreased</b> (entries compressed into principles)</li>
</ul><br />
<br />
Next up: dashboard for visualizing the &quot;Saves&quot; feed (mistakes the agent <i>didn't</i> make), and a browser extension that injects experience into ChatGPT/Claude/Gemini web interfaces.<br />
<br />
<br />
<b>Links</b><br /><br /><ul><li><b>GitHub</b>: <a href="https://github.com/muonroi/experience-engine" target="_blank">github.com/muonroi/experience-engine</a></li>
<li><b>License</b>: MIT</li>
<li><b>Tests</b>: 49 passing (JS) + 20 passing (Python SDK)</li>
<li><b>Dependencies</b>: Zero</li>
</ul><br />
<br />
If you're running local LLMs with Ollama, I'd love to hear how the engine works with your setup. And if you have ideas for new mistake detection patterns — PRs welcome.<br />
<br />
<br />
<br />
<br />
<br />
<i>Experience Engine is MIT licensed and free forever. The core engine will never be paywalled.</i><br />
<br />
<br />
<br />
<br />
<a href="https://dev.to/muonroi/experience-engine-ai-memory-that-shrinks-as-your-agent-learns-2jee" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/website-development">Website Development</category>
			<dc:creator>MyrinNew</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/website-development/17690-experience-engine-ai-memory-that-shrinks-as-your-agent-learns</guid>
		</item>
		<item>
			<title>NEXT LEVEL LAB — DevOps API Testing (AWS + Auth + CI/CD mindset)</title>
			<link>https://forums.sobergroup.com/forum/services/website-development/17689-next-level-lab-—-devops-api-testing-aws-auth-ci-cd-mindset</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description>🎯 Scenario 
 
You deployed a backend API (FastAPI / Node / Java — doesn’t matter) on: 
 
 AWS ECS / EKS / EC2 
 Behind Load Balancer 
 
 
Example API:</description>
			<content:encoded><![CDATA[<b>🎯 Scenario</b><br /><br />You deployed a backend API (FastAPI / Node / Java — doesn’t matter) on:<ul><li>AWS ECS / EKS / EC2</li>
<li>Behind Load Balancer</li>
</ul><br />
<br />
Example API:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<a href="http://your-api-alb.amazonaws.com" target="_blank">http://your-api-alb.amazonaws.com</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
You must:<ul><li>Verify it works</li>
<li>Validate authentication</li>
<li>Test protected endpoints</li>
<li>Catch failures BEFORE deployment</li>
</ul><br />
<br />
<br />
<br />
<br />
<b>🧠 PART 1 — WHERE API IS LOCATED (REAL WORLD)</b><br /><br />In real DevOps:<br />
<br />
<br />
<b>🔹 AWS ECS / ALB</b><br /><br /><br />
<br />
<br />
<br />
<a href="http://my-api-123.us-east-1.elb.amazonaws.com" target="_blank">http://my-api-123.us-east-1.elb.amazonaws.com</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>🔹 Kubernetes (Ingress)</b><br /><br /><br />
<br />
<br />
<br />
<a href="http://api.mycompany.com" target="_blank">http://api.mycompany.com</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>🔹 API Gateway</b><br /><br /><br />
<br />
<br />
<br />
<a href="https://abc123.execute-api.us-east-1.amazonaws.com/prod" target="_blank">https://abc123.execute-api.us-east-1.amazonaws.com/prod</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
👉 This URL = your <b>entry point</b><br />
<br />
<br />
<br />
<br />
<br />
<b>🧠 PART 2 — API STRUCTURE (REAL APP)</b><br /><br />Typical endpoints:<br />
<br />
<br />
<div class="b-bbcode__table--wrapper text_table_"><table class="b-bbcode__table text_table"><tr valign="top" class="text_table_tr"></tr>
<tr valign="top" class="text_table_tr"><td class="text_table_td">/health</td>
<td class="text_table_td">Health check</td>
</tr>
<tr valign="top" class="text_table_tr"><td class="text_table_td">/login</td>
<td class="text_table_td">Auth</td>
</tr>
<tr valign="top" class="text_table_tr"><td class="text_table_td">/users</td>
<td class="text_table_td">Data</td>
</tr>
<tr valign="top" class="text_table_tr"><td class="text_table_td">/orders</td>
<td class="text_table_td">Business logic</td>
</tr>
</table></div>
<br />
<br />
<br />
<br />
<br />
<b>🚀 PART 3 — BUILD REAL POSTMAN COLLECTION</b><br /><br /><br />
<br />
<br />
<b>📁 ENVIRONMENT</b><br /><br /><br />
<br />
<br />
<br />
{<br />
  &quot;base_url&quot;: &quot;http://your-api-alb.amazonaws.com&quot;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>✅ TEST 1 — HEALTH CHECK (CRITICAL)</b><br /><br /><b>Request:</b><br /><br /><br />
<br />
<br />
<br />
GET {{base_url}}/health<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Tests:</b><br /><br /><br />
<br />
<br />
<br />
pm.test(&quot;Service is UP&quot;, function () {<br />
    pm.response.to.have.status(200);<br />
});<br />
<br />
pm.test(&quot;Response contains status OK&quot;, function () {<br />
    const json = pm.response.json();<br />
    pm.expect(json.status).to.eql(&quot;ok&quot;);<br />
});<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
👉 DevOps meaning:<ul><li>Used in <b>Load Balancer health checks</b></li>
<li>Used in <b>Kubernetes readiness/liveness probes</b></li>
</ul><br />
<br />
<br />
<br />
<br />
<b>✅ TEST 2 — LOGIN (AUTHENTICATION)</b><br /><br /><b>Request:</b><br /><br /><br />
<br />
<br />
<br />
POST {{base_url}}/login<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Body:</b><br /><br /><br />
<br />
<br />
<br />
{<br />
  &quot;username&quot;: &quot;admin&quot;,<br />
  &quot;password&quot;: &quot;password123&quot;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Tests:</b><br /><br /><br />
<br />
<br />
<br />
const json = pm.response.json();<br />
<br />
pm.test(&quot;Login success&quot;, function () {<br />
    pm.response.to.have.status(200);<br />
});<br />
<br />
pm.test(&quot;Token received&quot;, function () {<br />
    pm.expect(json.token).to.exist;<br />
});<br />
<br />
// Save token globally<br />
pm.environment.set(&quot;auth_token&quot;, json.token);<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
👉 DevOps meaning:<ul><li>Verifies authentication service</li>
<li>Detects broken IAM / auth integration</li>
</ul><br />
<br />
<br />
<br />
<br />
<b>✅ TEST 3 — PROTECTED API (VERY IMPORTANT)</b><br /><br /><b>Request:</b><br /><br /><br />
<br />
<br />
<br />
GET {{base_url}}/users<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Headers:</b><br /><br /><br />
<br />
<br />
<br />
Authorization: Bearer {{auth_token}}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Tests:</b><br /><br /><br />
<br />
<br />
<br />
pm.test(&quot;Authorized access&quot;, function () {<br />
    pm.response.to.have.status(200);<br />
});<br />
<br />
pm.test(&quot;Users returned&quot;, function () {<br />
    const json = pm.response.json();<br />
    pm.expect(json.length).to.be.above(0);<br />
});<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
👉 DevOps checks:<ul><li>Token works</li>
<li>Backend connected to DB</li>
<li>No 500 errors</li>
</ul><br />
<br />
<br />
<br />
<br />
<b>❌ TEST 4 — SECURITY TEST (NO TOKEN)</b><br /><br /><b>Request:</b><br /><br /><br />
<br />
<br />
<br />
GET {{base_url}}/users<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
(no headers)<br />
<br />
<br />
<br />
<br />
<br />
<b>Tests:</b><br /><br /><br />
<br />
<br />
<br />
pm.test(&quot;Unauthorized access blocked&quot;, function () {<br />
    pm.response.to.have.status(401);<br />
});<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
👉 DevOps meaning:<ul><li>Security validation</li>
<li>Prevents open APIs</li>
</ul><br />
<br />
<br />
<br />
<br />
<b>⚡ TEST 5 — PERFORMANCE CHECK</b><br /><br /><br />
<br />
<br />
<br />
pm.test(&quot;Response time &quot;, function () {<br />
    pm.expect(pm.response.responseTime).to.be.below(30  0);<br />
});<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
👉 DevOps meaning:<ul><li>Detect slow deployments</li>
<li>Catch DB/network issues</li>
</ul><br />
<br />
<br />
<br />
<br />
<b>💣 TEST 6 — FAILURE SIMULATION</b><br /><br /><b>Request:</b><br /><br /><br />
<br />
<br />
<br />
GET {{base_url}}/crash<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Tests:</b><br /><br /><br />
<br />
<br />
<br />
pm.test(&quot;Server should not crash&quot;, function () {<br />
    pm.expect(pm.response.code).to.not.eql(500);<br />
});<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
👉 DevOps:<ul><li>Catch backend crashes early</li>
</ul><br />
<br />
<br />
<br />
<br />
<b>🚀 PART 4 — AUTOMATION (REAL PIPELINE)</b><br /><br /><br />
<br />
<br />
<b>Export:</b><br /><br /><ul><li>collection.json</li>
<li>environment.json</li>
</ul><br />
<br />
<br />
<br />
<br />
<b>Run with Newman:</b><br /><br /><br />
<br />
<br />
<br />
newman run collection.json -e environment.json<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>🔥 CI/CD PIPELINE EXAMPLE (REAL)</b><br /><br /><br />
<br />
<br />
<br />
name: API Tests<br />
<br />
on: [push]<br />
<br />
jobs:<br />
  test-api:<br />
    runs-on: ubuntu-latest<br />
<br />
    steps:<br />
      - uses: actions/checkout@v4<br />
<br />
      - name: Install Newman<br />
        run: npm install -g newman<br />
<br />
      - name: Run API Tests<br />
        run: newman run collection.json -e environment.json<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>💣 REAL FAILURE SCENARIO</b><br /><br />If:<ul><li>/health fails → service DOWN</li>
<li>/login fails → auth broken</li>
<li>/users fails → DB broken</li>
</ul><br />
<br />
👉 Pipeline = ❌ FAIL<br />
<br />
👉 Deployment = ❌ STOP<br />
<br />
<br />
<br />
<br />
<br />
<b>🧠 PART 5 — HOW DEVOPS DEBUGS</b><br /><br />If test fails:<br />
<br />
<br />
<b>Step 1:</b><br /><br /><br />
<br />
<br />
<br />
curl <a href="http://api-url/health" target="_blank">http://api-url/health</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Step 2:</b><br /><br />Check logs:<ul><li>ECS → CloudWatch</li>
<li>Kubernetes → kubectl logs</li>
<li>EC2 → /var/log</li>
</ul><br />
<br />
<b>Step 3:</b><br /><br />Check:<ul><li>Security groups</li>
<li>DB connection</li>
<li>Env variables</li>
</ul><br />
<br />
<br />
<br />
<br />
<b>🧠 PART 6 — REAL INTERVIEW ANSWER</b><br /><br />👉 Question:<br />
<br />
<b>&quot;How do you validate API in DevOps?&quot;</b><br />
<br />
<br />
Answer:<br />
<br />
<div style="margin-left:40px"><br />
I validate API using Postman collections with automated tests for health checks, authentication, authorization, and response validation. Then I run them using Newman in CI/CD pipelines to ensure deployments do not break backend services.<br />
<br />
</div><br />
<br />
<br />
<br />
You now understand:<br />
<br />
<br />
✔ Where API lives (ALB, EKS, API Gateway)<br />
<br />
✔ How to find endpoints<br />
<br />
✔ What DevOps tests (NOT QA level)<br />
<br />
✔ Auth + security testing<br />
<br />
✔ Performance checks<br />
<br />
✔ CI/CD automation<br />
<br />
✔ Failure handling<br />
<br />
<br />
<br />
<br />
<a href="https://dev.to/jumptotech/next-level-lab-devops-api-testing-aws-auth-cicd-mindset-1a57" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/website-development">Website Development</category>
			<dc:creator>MyrinNew</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/website-development/17689-next-level-lab-—-devops-api-testing-aws-auth-ci-cd-mindset</guid>
		</item>
		<item>
			<title>February 2026 Baseline monthly digest</title>
			<link>https://forums.sobergroup.com/forum/services/website-development/17688-february-2026-baseline-monthly-digest</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description>Read about various happenings with Baseline during February 2026. 
 
More... (https://web.dev/blog/baseline-digest-feb-2026?hl=en)</description>
			<content:encoded><![CDATA[Read about various happenings with Baseline during February 2026.<br />
<br />
<a href="https://web.dev/blog/baseline-digest-feb-2026?hl=en" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/website-development">Website Development</category>
			<dc:creator>MyrinNew</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/website-development/17688-february-2026-baseline-monthly-digest</guid>
		</item>
		<item>
			<title>Your Owned Content Is Losing To A Stranger’s Reddit Comment via @sejournal, @DuaneForrester</title>
			<link>https://forums.sobergroup.com/forum/services/marketing/17687-your-owned-content-is-losing-to-a-stranger’s-reddit-comment-via-sejournal-duaneforrester</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description>AI recommendations increasingly rely on Reddit and community signals, reshaping how brands earn visibility, trust, and influence in the AI-driven...</description>
			<content:encoded><![CDATA[AI recommendations increasingly rely on Reddit and community signals, reshaping how brands earn visibility, trust, and influence in the AI-driven discovery layer.<br />
<br />
The post <a href="https://www.searchenginejournal.com/your-owned-content-is-losing-to-a-strangers-reddit-comment/571167/" target="_blank">Your Owned Content Is Losing To A Stranger’s Reddit Comment</a> appeared first on <a href="https://www.searchenginejournal.com" target="_blank">Search Engine Journal</a>.<br />
<br />
<br />
<br />
<a href="https://www.searchenginejournal.com/your-owned-content-is-losing-to-a-strangers-reddit-comment/571167/" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/marketing">Marketing</category>
			<dc:creator>Tech Squirrel</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/marketing/17687-your-owned-content-is-losing-to-a-stranger’s-reddit-comment-via-sejournal-duaneforrester</guid>
		</item>
		<item>
			<title>Don’t Go Chasing AI Yet: A Framework for Prioritizing SEO vs. AI Search via @sejournal, @hethr_campbell</title>
			<link>https://forums.sobergroup.com/forum/services/marketing/17686-don’t-go-chasing-ai-yet-a-framework-for-prioritizing-seo-vs-ai-search-via-sejournal-hethr_campbell</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description>Discover the essential questions to consider before investing in AI visibility over traditional SEO in our informative webinar. 
 
The post Don’t Go...</description>
			<content:encoded><![CDATA[Discover the essential questions to consider before investing in AI visibility over traditional SEO in our informative webinar.<br />
<br />
The post <a href="https://www.searchenginejournal.com/dont-go-chasing-ai-yet-a-framework-for-prioritizing-seo-vs-ai-search/571603/" target="_blank">Don’t Go Chasing AI Yet: A Framework for Prioritizing SEO vs. AI Search</a> appeared first on <a href="https://www.searchenginejournal.com" target="_blank">Search Engine Journal</a>.<br />
<br />
<br />
<br />
<a href="https://www.searchenginejournal.com/dont-go-chasing-ai-yet-a-framework-for-prioritizing-seo-vs-ai-search/571603/" target="_blank">More...</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/services/marketing">Marketing</category>
			<dc:creator>Tech Squirrel</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/services/marketing/17686-don’t-go-chasing-ai-yet-a-framework-for-prioritizing-seo-vs-ai-search-via-sejournal-hethr_campbell</guid>
		</item>
		<item>
			<title>NYT Strands hints and answers for Friday, April 10 (game #768)</title>
			<link>https://forums.sobergroup.com/forum/saas/docs/17685-nyt-strands-hints-and-answers-for-friday-april-10-game-768</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description><![CDATA[Looking for NYT Strands answers and hints? Here's all you need to know to solve today's game, including the spangram.  
                             ...]]></description>
			<content:encoded><![CDATA[<br />
                             Looking for NYT Strands answers and hints? Here's all you need to know to solve today's game, including the spangram. <br />
                                                                                                            <br />
<br />
<a href="https://www.techradar.com/computing/websites-apps/nyt-strands-today-answers-hints-10-april-2026" target="_blank">Read more of this post..</a><br />
<br />
If you would like help Sober Group to assist you with advertising, marketing, website development, call center, sponsorships or placement in our free classifieds, <a href="https://sobergroup.com/services" target="_blank">visit our Services page at https://sobergroup.com/services</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/saas/docs">Docs</category>
			<dc:creator>Tech Squirrel</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/saas/docs/17685-nyt-strands-hints-and-answers-for-friday-april-10-game-768</guid>
		</item>
		<item>
			<title><![CDATA[The Pitt season 2 finale will have at least 'one real surprise' in store for fans, confirms star — as Dr. Robby's shift takes a turn for the worse]]></title>
			<link>https://forums.sobergroup.com/forum/saas/docs/17684-the-pitt-season-2-finale-will-have-at-least-one-real-surprise-in-store-for-fans-confirms-star-—-as-dr-robby-s-shift-takes-a-turn-for-the-worse</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description><![CDATA[The countdown to The Pitt season 2 finale has officially begun, with one star teasing at least 'one real surprise' in store when it lands on HBO Max....]]></description>
			<content:encoded><![CDATA[<br />
                             The countdown to The Pitt season 2 finale has officially begun, with one star teasing at least 'one real surprise' in store when it lands on HBO Max. <br />
                                                                                                            <br />
<br />
<a href="https://www.techradar.com/streaming/hbo-max/the-pitt-season-2-finale-will-have-at-least-one-real-surprise-in-store-for-fans-confirms-star-as-dr-robbys-shift-takes-a-turn-for-the-worse" target="_blank">Read more of this post..</a><br />
<br />
If you would like help Sober Group to assist you with advertising, marketing, website development, call center, sponsorships or placement in our free classifieds, <a href="https://sobergroup.com/services" target="_blank">visit our Services page at https://sobergroup.com/services</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/saas/docs">Docs</category>
			<dc:creator>Tech Squirrel</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/saas/docs/17684-the-pitt-season-2-finale-will-have-at-least-one-real-surprise-in-store-for-fans-confirms-star-—-as-dr-robby-s-shift-takes-a-turn-for-the-worse</guid>
		</item>
		<item>
			<title>Meta AI app climbs to No. 5 on the App Store after Muse Spark launch</title>
			<link>https://forums.sobergroup.com/forum/saas/app/17683-meta-ai-app-climbs-to-no-5-on-the-app-store-after-muse-spark-launch</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description><![CDATA[The app was ranking No. 57 on the App Store just before Meta AI's new model launched. Now it's No. 5 — and rising.  
 
Read more of this post.....]]></description>
			<content:encoded><![CDATA[The app was ranking No. 57 on the App Store just before Meta AI's new model launched. Now it's No. 5 — and rising. <br />
<br />
<a href="https://techcrunch.com/2026/04/09/meta-ai-app-climbs-to-no-5-on-the-app-store-after-muse-spark-launch/" target="_blank">Read more of this post..</a><br />
<br />
If you would like help Sober Group to assist you with advertising, marketing, website development, call center, sponsorships or placement in our free classifieds, <a href="https://sobergroup.com/services" target="_blank">visit our Services page at https://sobergroup.com/services</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/saas/app">App</category>
			<dc:creator>Tech Squirrel</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/saas/app/17683-meta-ai-app-climbs-to-no-5-on-the-app-store-after-muse-spark-launch</guid>
		</item>
		<item>
			<title>StubHub to pay $10M to settle FTC allegations over ‘deceptive’ ticket pricing</title>
			<link>https://forums.sobergroup.com/forum/saas/app/17682-stubhub-to-pay-10m-to-settle-ftc-allegations-over-‘deceptive’-ticket-pricing</link>
			<pubDate>Fri, 10 Apr 2026 01:56:13 GMT</pubDate>
			<description><![CDATA[The consumer protection agency says the company violated the FTC Act and its Rule on Unfair or Deceptive Fees by &quot;deceptively&quot; advertising ticket...]]></description>
			<content:encoded><![CDATA[The consumer protection agency says the company violated the FTC Act and its Rule on Unfair or Deceptive Fees by &quot;deceptively&quot; advertising ticket prices on its website without clearly disclosing upfront what the total cost would be, including all mandatory fees. <br />
<br />
<a href="https://techcrunch.com/2026/04/09/stubhub-to-pay-10m-to-settle-ftc-allegations-over-deceptive-ticket-pricing/" target="_blank">Read more of this post..</a><br />
<br />
If you would like help Sober Group to assist you with advertising, marketing, website development, call center, sponsorships or placement in our free classifieds, <a href="https://sobergroup.com/services" target="_blank">visit our Services page at https://sobergroup.com/services</a>]]></content:encoded>
			<category domain="https://forums.sobergroup.com/forum/saas/app">App</category>
			<dc:creator>Tech Squirrel</dc:creator>
			<guid isPermaLink="true">https://forums.sobergroup.com/forum/saas/app/17682-stubhub-to-pay-10m-to-settle-ftc-allegations-over-‘deceptive’-ticket-pricing</guid>
		</item>
	</channel>
</rss>
