// 01 ABOUT
Hi, I'm Caesar.

“Filings in one hand, code in the other.”
MSc Finance from the University of Sheffield, ranked first in my programme. After three years at a securities brokerage I moved into AI-driven product building, and I focus on turning ideas into products. Now building products with AI, open to new opportunities in AI products / fintech, and also open to collaborations.
// 02 WORK · Work
Things I've built.
[LIVE · SaaS]
AI Shop Audit
Checks whether ChatGPT, Perplexity and other AI shopping assistants can read a Shopify store; scored report with fixes in 10 minutes.
→ Public beta · 100+ Shopify stores scanned
$open aishopaudit.com ↗[LIVE · SaaS]
CrawlAudit
Free crawl check for Shopify stores: robots, sitemap, product data and access for 9 AI crawlers, scored in one report.
→ Free · no signup · 9 AI crawlers in one run
$open crawlaudit.tech ↗earnings-card
Type a ticker, get 7 share-ready earnings cards built from official SEC filings.
duetfolio
Portfolio tracker for US + Hong Kong stocks: multi-currency valuation, XIRR annualized returns, full-stack FastAPI + React.
muse-file-bridge
A bridge that lets AI read and write local files on your Windows PC.
$open github ↗renqing-ledger
A fully offline ledger for gift money: no network, no account, free and open source.
$open github ↗agent-craft-cn
A Chinese-native skill pack of agent development methods, one-step install into Claude Code / Codex.
$open github ↗fangge-junshi
Paste in a pitch from a wealth manager, insurance agent or stock-tip group; 24 red flags, each cited to regulators, call it out.
$open github ↗mcd-bigmac-index
A daily tracker of what McDonald's combo meals actually cost after discounts: a homegrown inflation index.
muse-skills
500 ready-to-use Muse tips across 12 areas, from side income and investing to dev, productivity and daily life.
$open github ↗edge-disable-rounded-corners
Turn off the forced rounded corners in Edge 149+ with one click.
$open github ↗clash-verge-ingrid-theme
A frosted-glass theme for Clash Verge, inspired by Ingrid from Street Fighter 6.
$open github ↗// OPEN SOURCE · PRs merged into projects with 600k+ combined stars, incl. freeCodeCamp and Angular
[MERGED]
freeCodeCamp/freeCodeCamp ★ 457k
- #70826Docs: fixed code-fence languages and Oxford commas in the Python Installation Review lesson
→ Merged into main on 2026-10-13, accepted as my first contribution
[MERGED]
angular/angular ★ 101k
- #71292The Angular developer Skill's linkedSignal docs never mentioned customizing set; added the usage and an example from the official guide.
→ Merged into main on 2026-10-15
[MERGED]
mvanhorn/last30days-skill ★ 64k
- #1196Two spots in the docs still taught the inline --plan form, which breaks shell parsing on a quote; unified on the temp-file form.
- #1197Corrected the “no API key sharing between providers” claim: the legacy TikTok fallback sends the Apify token to another provider.
→ Merged into main on 2026-10-06
[MERGED]
ranaroussi/yfinance ★ 26k
- #2992README never explained default price adjustment: history() / download() use auto_adjust=True, so Close is already adjusted; added a note on Close vs Adj Close.
→ Merged into main on 2026-10-18
[MERGED]
YuanYii/multi-agent-flow ★ 23
- #11Security: fixed shell injection in the Windows fallback
- #13Security: CORS locked to same-origin, blocking cross-site reads
- #12CI: gate now fails closed on errors
- #14Reliability: fixed file-lock timeout, added regression tests
- #10Added the MIT LICENSE
→ All 5 PRs merged into release_v12 (2026-10-04 to 10-08)
[APPROVED]
nexu-io/open-design ★ 100k
- #8580If reading the daemon config failed at startup, the web client overwrote it with defaults and silently re-enabled telemetry the user had turned off; now the write-back is skipped when the read fails.
- #8660Docs: the 0.24.1 announcement still said “upgrade to 0.22.0”; reframed as hackathon-entry guidance, EN and zh-CN aligned
→ Both PRs approved by maintainers, awaiting merge
[APPROVED]
hoppscotch/hoppscotch ★ 80k
- #6705The scrollbar thumb was nearly invisible in both light and dark themes; raised its contrast without changing layout.
→ Approved by maintainer, awaiting merge (2026-10-12)
[APPROVED]
Stirling-Tools/Stirling-PDF ★ 94k
- #8442Merging images produced a PDF that kept the .jpeg name, breaking later PDF steps; the output now always gets a .pdf extension.
→ Approved by maintainer, awaiting merge (2026-10-13)
[IN REVIEW]
anthropics/skills ★ 180k
- #1969mcp-builder advised “concise tool descriptions”; per the official docs it now asks for precise, complete ones.
→ In review
// 03 LOG
Recent writing.
2026-10-23
AI Notes: Every Layer's Lock-In Is Loosening
“When switching costs fall, pricing power moves from the side being chosen to the side doing the choosing.”
The thing most worth noticing this week was a bill.
On October 21, OpenAI and Google announced that GPT-6 Astra, GPT-6.1 Sol and GPT-6 Luna are coming to Google Cloud's Model Garden, opening first as a preview for some enterprise customers. Billing runs through Google Cloud Marketplace, lands on the same Google Cloud invoice, and can be drawn down against cloud spending commitments customers have already signed.
Read on its own, the headline is two rivals cooperating. Put next to a few other things from the same week, it looks like part of a bigger change: the things that lock a buyer into one supplier along the AI supply chain are loosening, one layer at a time.
Models start following the budget
When a company buys a model, it often doesn't start by asking which one is strongest. It starts by asking which cloud its budget is already committed to. A signed cloud commitment is money that has to be spent sooner or later; any model that can be paid for out of it skips a round of procurement.
Google says it is now the only hyperscaler offering Gemini, Claude and GPT together, with more than 200 models in Model Garden; GPT will also come to Antigravity, Google's own coding tool. OpenAI, for its part, stresses that Microsoft is still its primary cloud partner.
For OpenAI, an exclusive channel used to be a bargaining chip; now it is trading exclusivity for reach. For Google, putting a rival's model inside its own tools looks like a concession, but what it really runs is a shelf: the customer stays on its cloud, and whichever model they use gets settled on its bill. As models look more like goods on a shelf, whoever holds the entrance to the budget carries more weight.
Half the chip moat is software
On October 19, AWS released TorchNeuron in public beta: change one line of configuration and PyTorch code runs on Trainium. The next day Google open-sourced TorchTPU. Before that, PyTorch users who wanted TPUs either rewrote in JAX or used the older torch_xla.
Moving off Nvidia GPUs used to mean rewriting code, re-tuning, and taking on the risk of things breaking. That switching cost is a big part of GPU pricing power. It isn't written in the chip's spec sheet; it's written in developers' time. The two largest cloud providers pushed it down within two days of each other, which amounts to saying: from now on, choosing a chip will be more about how much compute a dollar buys, and less about where your code is locked in.
That said, there are no public comparisons yet of the same model across different chips. The barrier is lower, not gone.
The inference stack laid open
On October 20, DeepSeek open-sourced DeepInfer, the inference framework behind its own service, under Apache 2.0. It supports Nvidia and Huawei Ascend chips, but holds back the hardest parts: KV caching, prefill/decode disaggregation and load balancing. The same day, Google Cloud, Red Hat and IBM released llm-d 1.0, which fills in exactly those pieces and runs on Nvidia, AMD and Intel GPUs as well as Google's TPUs.
Running models cheaply has always been a craft that model companies and inference clouds don't talk about much; a large share of the difference in cost per token comes from this layer. Once that craft becomes public code, the profit earned simply by running things more efficiently than others gets thinner.
Buyers start doing the maths
These changes are arriving together because buyers' attitudes have changed. On IBM's October 21 earnings call, CEO Arvind Krishna said large companies care more and more about the real return on AI spending, and worry that some of it is "out of control." By his estimate, running open-weight models on your own racks costs roughly 10% to 25% per token of what frontier models cost.
Once switching costs fall, pricing power slowly moves from the side being chosen to the side doing the choosing. Models can move between clouds, code can move between chips, inference frameworks can be taken off the shelf. Companies have more options to compare, and their negotiating stance naturally hardens.
Where value lands once the locks loosen
None of this means everyone makes more money. Broadcom's Hock Tan offered some estimates on October 12: frontier labs spend about $100 billion to bring in about $120 billion of revenue, while the open-weight camp spends about as much and recovers only around $30 billion. For buyers, substitutes make the bill lighter; for sellers, the layer that gets substituted struggles to hold on to profit.
So what really changed this week is the way companies compete. Customers used to be kept through lock-in; from here, you have to keep getting chosen when the customer could swap you out at any time. Roughly two kinds of players can manage that: those who hold the entrance to the customer's budget, and those who still come out as the best value every time the comparison is rerun.
This is the other side of the same week's mood in the capital markets: the bigger the infrastructure spend, the more it needs users to keep paying for a long time, while the choices in users' hands keep multiplying.
Permalink: https://cybercaesar.bond/en/log-007
2026-10-23
Nasdaq Notes: From “Who Has Demand” to “Who Can Pay”
“The worry this time isn't that nobody wants compute. It's whether the people who want it can keep borrowing.”
On Thursday, October 22, the Nasdaq fell 2.60% to close at 26,008.86, its worst day since June; the Nasdaq-100 fell 2.90% and the S&P 500 1.21%. The Dow actually rose 0.02%.
In the same market, tech stocks were sold hard while blue chips barely moved. The selling landed on one very specific place.
Which layer fell on Thursday
The Philadelphia Semiconductor Index fell 6.7% in a day and is now more than 26% below its June 22 high. AMD fell 8.10%, Intel 8.04%, ASML 6.93%, Micron 6.26% and Nvidia 4.40%. Companies that power data centers, such as GE Vernova and Bloom Energy, fell more than 11%, and compute renter CoreWeave fell 10.06%.
Chips, equipment, power, rented compute: that's a complete AI infrastructure chain. A couple of weeks ago I wrote that suppliers trade on the increase in Big Tech's capex. What was different this week is that the market is no longer doubting whether the big companies want to spend, but where the money comes from.
Why a beat ended in a 7% drop
Meta's third-quarter revenue was $64.6 billion, up 26% year on year and above expectations. The stock rose as much as 3% after hours, then closed down 6.98% the next day.
The turn came from outside the income statement. Free cash flow for the quarter was negative $2.12 billion, the first time since its 2012 IPO. The report lists about $355.7 billion in leases not yet commenced and $454.5 billion in non-cancellable contractual commitments, around $810 billion in total. It also plans to create a non-voting Class C share; the filing says it may need to raise "hundreds of billions of dollars" over the next few years, that the financing environment is "increasingly challenging," and that it wants to move before competitors fill up the financing channels. That day, the price of Meta's five-year credit default swaps hit a record high.
For the past two years, Big Tech's capex was largely covered by its own operating cash flow, and the market argued about returns. Now one of the most profitable companies in the world has written down that it will raise money externally, and worries about getting in line. The question has moved from the income statement to the balance sheet, from "is it worth it" to "can they pay for it."
Capital becomes the new bottleneck
The same day, Jensen Huang told CNBC that neocloud demand is "off the charts," but the need for capital far exceeds the supply of capital. On October 12, Broadcom CEO Hock Tan had also said the biggest constraint may be capital.
That changes the constraint on this build-out. For two years the bottleneck was supply: GPUs, memory, power. Whoever got the goods got the revenue, and the supply bottleneck gave suppliers pricing power. A capital bottleneck sits on the buyers: if buyers can't raise money, orders get ranked and delayed, and the weakest demand at the margin is cut first. CoreWeave's bond yields and credit default swaps have stayed high, the most direct example of this mechanism. On the other side, Blackstone rose 8.4% that day, on the reasoning that wider credit spreads on AI-related debt let it lock in higher returns. The money is still there; it just demands a higher return.
Oil up, yields down
Reports that the US and Israel plan to strike Iran again after the midterm elections pushed Brent crude up 4% to $113.17, the highest since May. Normally, rising oil means inflation pressure, and long-term rates should go up. Instead, the 10-year Treasury yield fell more than 17 basis points to 4.972%.
My read is that on this day the bond market was more worried about growth. AI infrastructure is the largest piece of US corporate capex in this cycle; once its financing chain tightens, that engine slows. Lower yields cushion valuations, but the cushion comes from worry about growth.
What I'm watching next
As of the close on Thursday, October 22, the Nasdaq was down 0.50% for the week and the Dow up 1.66%. The Nasdaq bounced about 2.2% from Monday to Wednesday and gave nearly all of it back on Thursday alone; the week before, it had just finished its worst week since June.
One: the earnings reports the other big companies are releasing over the coming days. I'm looking not only at capex guidance but at how much operating cash flow covers and how they plan to fund the gap. What really needs close reading this quarter is the cash flow statement and the notes on commitments.
Two: the credit market. CoreWeave's bonds, Meta's credit default swaps, and the spreads on new debt from AI-related companies. Stock prices can swing back and forth in a day; the direction of spreads is harder to disguise.
Three: the relationship between oil and yields. Oil up and yields down means worry about growth is deepening; if both rise together, the pressure moves back to valuations themselves.
Demand is still there; neither Jensen Huang nor Hock Tan denied that. What has changed is the cost of turning demand into revenue. I don't call levels. All I can write down is what I'm watching and why.
This is just my own reading, not investment advice.
Permalink: https://cybercaesar.bond/en/log-008
2026-10-23
Growth: I'm in a Cycle Too
“I may not know where I'm going, but I'd better have a good idea where I am.”
I've been reading Howard Marks' Mastering the Market Cycle. The book is about markets: the economic cycle, the credit cycle, the cycle in investor psychology, and how to judge where you are in it. Halfway through, I noticed I was reading it a different way, holding each thing it says about markets up against myself.
Anyone who studied finance knows cycles well. We're used to the ups and downs on a chart, and we know there's no asset that only goes up. But when it comes to my own state, mood and judgment, I rarely look with the same eyes, as if markets have cycles and people don't.
Mood is a pendulum
Marks spends a lot of the book on the pendulum of investor psychology: swinging between euphoria and depression, between seeing only the good news and fixating on the bad, between believing everything and believing nothing. The pendulum, he says, spends very little time at the midpoint. Most of the time it's on its way toward one extreme or on its way back from one.
Looking back at the past few years, I can trace almost the same path in myself. Learning something new, the first few weeks go fast and I feel I've found my direction and want to try everything; a while later I hit a problem I can't get around and start doubting that every earlier judgment was wrong. On the days things go smoothly, everything looks like an opportunity; on the days I'm stuck, everything looks like a problem. The situation itself often hasn't changed that much. What's changed is which end of the pendulum I'm standing at.
Knowing this doesn't stop the pendulum. But at least when my mood is very full or very empty, I remind myself that what I'm seeing right now is probably magnified.
First, know where you are
There's a line in the book I've reread several times, roughly: we may never know where we're going, but we'd better have a good idea where we are. Marks' point is that predicting the future is hard, but judging the present position is doable: are prices high, are people greedy or fearful, is risk being respected or ignored.
Applied to a person, the line is practical. I can't predict what I'll be doing a year from now, but I can ask myself a few questions about now. Has everything felt easy lately? Have I started to feel something is settled and doesn't need checking any more? Or the other way round, has it been a long time without progress, and have I started doubting everything? These are easier to answer than "where should I be heading," and they do more to tell me whether to do more or less next.
Cycles always turn
Marks keeps coming back to this: the most reliable thing about cycles is that they reverse. Trees don't grow to the sky, and few things go to zero. A good trend that runs too far plants the reasons for its own turn; a bad stretch that lasts too long slowly builds the conditions for recovery.
For me that's both a comfort and a warning. In a good stretch, I tend to treat it as the new normal, as if I've finally found the method and it will always be like this. In a bad stretch, I tend to treat it as the final verdict, as if I just can't do it. Both make the same mistake: taking one segment of the cycle for the whole line.
So now I try to do two things: when things go well, not to treat it as normal; when things are low, not to treat it as a verdict.
Risk is highest when it feels safest
Another idea in the book stuck with me: risk is highest when people feel it is lowest. When everyone feels safe, they relax their standards and bet bigger, and risk builds up in exactly that relaxation. Conversely, when everyone is afraid, prices already hold a lot of bad news, and the real risk is falling.
People are the same. Trouble rarely starts in the hardest stretch. It starts when everything is going smoothly and I begin to feel I don't need to be so careful. After a few judgments in a row turn out right, I quietly skip a step of checking, take on one more thing, pack the plan tighter. When something does go wrong and I look back, the problem was usually planted in the easiest stretch.
Too early looks the same as wrong
Marks has said that being too far ahead of your time is indistinguishable from being wrong. See the direction right but get the timing wrong, and the outcome is the same as seeing it wrong. It ties into the second-level thinking he describes in The Most Important Thing: first-level thinking only asks "is this good or bad," while second-level thinking also asks "what do others think, how much is already reflected, and when will it be seen."
Applied to myself, it gives me a bit more patience, and a bit more honesty, about being right without results. Some directions I may simply have seen too early. Sticking with them isn't necessarily wrong, but I have to admit that until results arrive, it looks no different from being wrong. What I can do is not stake all my effort on a single point in time, and leave myself room to wait.
Doing less at the extremes
I didn't come away from the book with a system for managing myself. Marks himself says cycles can't be predicted precisely; what you can do is adjust your posture to where you are: a bit more cautious near the top, a bit more assertive near the bottom.
For me, that comes down to making fewer decisions at the extremes. When my mood is high, no rushing to add more, no rushing to make promises; when it's low, no rushing to give up, no rushing to tear things down. Important decisions wait, as far as possible, until the pendulum is back near the middle. That doesn't let me escape the cycle, but it means I make fewer of my biggest moves from the worst position.
I used to look at cycles only on charts. Now I'm starting to look for them in myself.
Permalink: https://cybercaesar.bond/en/log-009
// 04 MARKETS · Market terminal
Live board: the three major indices.
> intraday today
Loading intraday…
> Snapshot at the US close, 2026-10-08 · connecting to live quotes…
Market data from Tencent Finance, for reference only
// 05 CONTACT · Contact
Get in touch.
// Open to new opportunities and collaborations. Email me. I always reply within 24 hours.
- >email:thnssssss7@gmail.com ↗
- >github:@TTNAN ↗
- >x:@T_Caesar_ ↗