Week in review #60
collinsezedike
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Five PRs merged this week. Here is what actually happened.
Landing page polish (#42)
Gradient headline replaced with solid green accent. Background orbs swapped for a dot grid with edge vignettes. Mobile hero text is now centred and full-width. Section demarcation is cleaner, with alternating backgrounds that are now clearly distinguishable. The page reads like a product.
Live vault data and risk scoring (#45)
The dashboard is no longer showing mock data. Meridian now fetches all Stellar stablecoin pools from DeFiLlama in a single request and surfaces six pools across three protocols: Blend Capital (USDC Fixed, USDC Variable, EURC Fixed, EURC Variable), Ondo Finance (USDY), and DeFindex (USDC, testnet estimate pending vault deploy).
Every vault carries a risk score. The algorithm weighs TVL depth, 7-day APY volatility, and APY ceiling to classify each pool as safe, caution, or risky. That score surfaces directly on the Deposit button, ghost yellow for caution and ghost red for risky, with a tooltip explaining why. Redis caching keeps DeFiLlama calls at a 1-hour TTL with a graceful fallback if Redis is unavailable.
Single deployment, two entry points (#47)
usemeridian.vercel.app/serves the landing page.usemeridian.vercel.app/appserves the React dashboard. One Vercel deployment, one domain, clean path routing. The landing page nav now has a "Launch App" button pointing directly to/app.Vaults API on Vercel serverless (#57)
This one took the most out of the week. The assumption going in was that pnpm workspace symlinks would let the serverless functions find
@meridian/stellar-sdk-helpersat runtime the same way local dev does. They do not. pnpm's isolatednode_modulesputs each package in its own bubble, and Vercel's function runtime does not bundle transitive imports the way a Next.js build would. The package was also pointing"main"at TypeScript source, which Node.js cannot execute. Three deployments, several hours of build logs and runtime stack traces, before the root cause was clear enough to fix cleanly.The fix was unglamorous: a plain JSON file for the pool registry imported via relative path at compile time, no workspace resolution, no bundler required. Then, on the preview URL,
GET /api/v1/vaultsreturned a clean JSON response with five vaults, real APYs, and risk levels scored correctly. That was the moment the week clicked.Consolidated pool registry (#59)
known-pools.jsonis now the single source of truth for the DeFiLlama pool UUID to vault metadata mapping. Adding a new pool to Meridian now requires editing exactly one file.Where things stand
The data layer is solid and live. Real Stellar stablecoin pools from DeFiLlama, colour-coded by protocol, with a risk scoring algorithm that means something. The dashboard looks like a product.
What is missing is the part that makes it useful: connecting a wallet, building the deposit transaction, getting a user's money to actually move. The foundation is there. The action is not yet.
That is the next thing. The Freighter wallet integration issue is open at #8. If you are comfortable with
@stellar/stellar-sdkand browser wallet APIs, that is the one to pick up.Back to building.
— Collins
All reactions