Fomo Thesis
Finance app · from our videos on X
Fomo Thesis recreates the thesis view of fomo, the crypto trading app: one holder's running thesis on a coin, shown as a feed of their posts under a pinned candlestick chart. Every post sits on the chart as an avatar marker with a count badge. Scroll the feed and the chart scrubs back in time, so the post at the top always lands on the right-hand crosshair, while the header card shows the holder's position value and profit at that moment. Fling it fast and the market-cap pill fades out, then comes back as the scroll settles. Tap any marker to jump the feed to that post, or switch between 1D, 7D, 3M and ALL.
- iPhone · Swift
- Built in 2 prompts
- Free to remix

Remix copies the working app into your account for free, exactly as we built it. It runs in Vibecode's cloud iOS simulator, in your browser.
Watch the video on X@ios_app_builder · Oct 27, 2026The prompt that builds it
We built Fomo Thesis in 2 prompts. Here they are folded into one, so a single paste into a new app builds the finished version.
Prompt · 3,466 words
Download/reference the app shown in this post and clone it exactly, including the iPhone visual design, layout, interactions, animations, typography, spacing, and all visible states. Make it functional and runnable in the simulator. Match the reference as closely as possible and include any interaction shown in the source. Reference: https://x.com/seyong/status/2114886395286176168. The brief below transcribes the whole 11-second video; treat it as the source of truth. The post text is replaced by the fixture text below.
Build a native SwiftUI iOS app named Thesis using Opus 5.5. It recreates the "thesis" view of fomo (a crypto trading app): one holder's running thesis on a coin, shown as a feed of their posts under a pinned price chart. The chart is the star: every post is pinned on the chart as an avatar marker, and as you scroll down the feed the chart scrubs back in time, so the post at the top of the feed always sits at the chart's right-hand crosshair while the header shows the holder's position value at that moment. Do NOT put a fake handset frame inside the actual app; the simulator provides that. Use realistic deterministic fixture data so every screen is rich and usable without permissions or backend.
Observed video sequence (0-11.3s), all on the one "CATE thesis" screen: 0.0-0.6 still at the top of the feed (newest post Oct 26, 8:41PM highlighted, header $1,256,992.98 / +$1,129,712.16, pill $43.9M MC); then 13 upward flicks on the feed at about 0.63, 1.83, 2.80, 3.60, 4.47, 5.33, 6.37, 7.40, 8.40, 9.57, 10.03, 10.33 and 10.63 s, each one a fast fling that decelerates, getting longer as the video goes on. With every fling the chart slides to the RIGHT (older candles and markers enter from the LEFT edge) and the header card's date and dollar values tick back through time: Oct 26 -> Oct 24 (1.5 s) -> Oct 22 (3 s) -> Oct 19 (4.5 s) -> Oct 15 (6 s) -> Oct 11 (7.5 s) -> Oct 8 (8.5 s) -> Oct 5 (9.5 s) -> Oct 2 (11 s). While the feed is moving fast the "$xx.xM MC" pill and its crosshair line fade to almost nothing, and they fade back in each time a fling slows down.
Screen layout, top to bottom (points on a 402 pt wide iPhone; the reference was recorded on a 440 pt wide Pro Max, so every size here is already scaled by 0.91). Everything sits on a near-black background #0A0911. Font: SF Pro (system), white #FFFFFF text unless noted.
- A small grabber capsule (36x5, #2A2931) centred 4 pt below the safe-area top, as if the screen were a sheet.
- Nav row, centre 26 pt below the grabber: a left chevron "chevron.left" (19 pt, #6E6C78) at x=24 and the centred title "CATE thesis" (18 pt medium, white). A 0.5 pt divider #1C1B23 runs full width 25 pt under the title.
- Header card: inset 15 pt left and right, 48 pt tall, corner radius 18 (continuous), fill #13121A. Left: the coin logo, a 30 pt circle (a shiny gold coin with a cream rim and a cartoon cat face embossed in the middle), with a 13 pt blue (#4F5BFF) scalloped "checkmark.seal.fill" badge overlapping its lower-right. Right of it, 10 pt gap: the date "Oct 26, 8:41PM" (13 pt regular, #8E8C99) above "CATE" (15.5 pt medium, white). Right-aligned with 12 pt inset: "$1,256,992.98" (15.5 pt semibold, white) above "+$1,129,712.16" (13 pt medium, green #22C55E). All numbers use plain proportional SF Pro digits, not monospaced digits.
- Chart area directly under the card, about 150 pt tall, full bleed (candles run to both screen edges). In its top-right corner a pill "$43.9M MC" (13 pt medium white, fill #1A1922, corner 8, 8x5 pt padding) whose right edge sits 12 pt from the screen edge. From the pill's bottom a 1 pt vertical crosshair line (#5A5866) drops to the current marker; the crosshair x is about 94% of the screen width.
- Candles: a dense candlestick chart, one candle per hour, bodies 1.8 pt wide with 0.8 pt wicks, green #1DB954 up / red #E5383B down, about 210 candles visible across the width (the 7D window). Make it choppy: hourly noise of about +-1.6% and an occasional 3-5% wick, so the 7D window reads as jagged sideways-down chop with clear red and green bodies and visible spikes, never a smooth line. The price path wanders in the lower half of the chart area.
- Post markers on the chart: each cluster of posts is a 22 pt circle avatar (the poster's avatar, below) placed ON the price line at that time, with a small 14 pt dark circle (#24232C) up and to the right of it holding the post count in that cluster ("4", "6", "2", 10 pt semibold, #A9A7B3), and the same tiny blue star badge as the feed avatars. The marker at the crosshair (the current post) is 26 pt with a 2 pt blue (#4F5BFF) outer ring and a 1.5 pt white inner ring.
- Timeframe row 10 pt under the chart: "1D", "7D", "3M", "ALL" (13 pt semibold, #5E5C69), right-aligned, 41 pt apart; "7D" is selected (white text on a 40x28 pill #1A1922, corner 8). Then a 1 pt x 18 pt divider #25242D and a green (#22C55E) "waveform.path.ecg" icon at the right edge. Tapping 1D/7D/3M/ALL changes the visible window (1, 7, 90 days, everything) with a quick spring.
- Everything above (grabber, nav, card, chart, timeframe row) is pinned. Below it the feed scrolls.
- Feed: a vertical list of posts, newest first. Each post row: 16 pt top padding, 14 pt side insets. Left: the poster avatar, a 31 pt circle (a cartoon black goat with curled horns wearing a red cap, on a gold coin-like circle with a cream rim), with a 14 pt dark navy circle badge holding a blue (#5865F2) "star.fill" with tiny laurel leaves at its lower-right. A 1.5 pt vertical thread line #24232C runs from under each avatar down to the next post's avatar. To the right (12 pt gap): a header line with the handle "GoldGoat_" (15.5 pt semibold, white), on the newest post only a "Thesis" tag (12 pt medium, #6E6BFF text on a #22214A capsule, 6x2 pt padding), then the timestamp ("Oct 26, 8:41PM", 13.5 pt regular, #5C5A66). Below it the post body (15.5 pt regular, #EDEDF2, line spacing 4, paragraphs separated by one blank line; URLs in #5B7CFA, underlined). Below the body a footer: an outline heart "heart" (17 pt, #5C5A66) with the like count ("71", 13.5 pt, #5C5A66), then 28 pt further a "square.and.arrow.up" share icon (#5C5A66). 16 pt bottom padding. The newest post's whole row has a #13121A background; the rest are on #0A0911.
The scroll-linked chart (the whole point of the app, build this first and make it exact):
- Track the feed's scroll offset continuously (iOS 18 onScrollGeometryChange, or a GeometryReader preference on each row). The "current post" is the row whose frame crosses the top edge of the feed (just under the timeframe row). Its progress p = how far that row has scrolled past the top edge / its height (0...1).
- Current time t = lerp(current post time, next older post time, p). The chart draws a window [t - 7 days, t] mapped so that t lands exactly on the crosshair x (94% of the width) and the window's start at about x = -6% (so candles run off the left edge too). Draw it in a Canvas each frame from t, only the visible candles; no separate animation, so the chart pans glued to the finger and to the fling's deceleration. Newer data to the right of t is not drawn (the right 6% shows only the crosshair and the current marker).
- As you scroll DOWN the feed (to older posts) the chart content moves RIGHT. Scrolling back up moves it left again.
- Header card: the date shows the current post's timestamp (it changes when the next post reaches the top, no interpolation, no number roll). Value = market cap at that post's time x 0.028635 (the holder owns 2.8635% of supply), P&L = value - 127,280.82, shown as "+$" in green when positive. Format with grouping separators and 2 decimals. The MC pill shows the market cap at t, "$43.9M MC" format (one decimal, M).
- While the feed's scroll velocity is high (above ~250 pt/s), fade the MC pill and the crosshair line to 15% opacity (0.12 s); fade them back to 100% (0.25 s) when the velocity drops below that. The current marker's ring moves to whichever marker is nearest the crosshair.
- Tapping a marker on the chart scrolls the feed to that cluster's first post (animated).
Fixture data:
- Market cap series, hourly candles from Sep 24 to Oct 27, 2026, deterministic (seeded) random walk with small hourly noise (+-0.6%) that passes through these anchors (time -> market cap): Oct 2 2:58PM 64.5M; Oct 4 8:15AM 59.6M; Oct 4 2:56PM 61.8M; Oct 4 6:01PM 60.1M; Oct 5 3:11PM 61.3M; Oct 5 9:52PM 59.7M; Oct 6 12:50PM 60.5M; Oct 8 9:58AM 49.9M; Oct 9 6:05PM 54.7M; Oct 10 4:39PM 53.2M; Oct 11 2:13PM 54.0M; Oct 12 10:12PM 52.3M; Oct 14 7:12AM 63.9M; Oct 15 7:19PM 59.8M; Oct 16 4:29PM 62.0M; Oct 17 5:15PM 66.9M; Oct 19 5:24PM 59.3M; Oct 20 8:50PM 55.0M; Oct 21 5:17PM 54.6M; Oct 22 11:51AM 50.7M; Oct 22 2:41PM 47.5M; Oct 22 6:35PM 48.3M; Oct 23 5:04PM 46.9M; Oct 24 7:28AM 44.2M; Oct 25 11:03AM 45.9M; Oct 26 10:21AM 45.7M; Oct 26 8:41PM 43.9M. A few sharp wicks (a -8% dip on Oct 8 morning, a +6% spike on Oct 14) make it look real.
- Posts, newest first, all by GoldGoat_, timestamps exactly as listed (one post per line: time | likes | text; "/" means a paragraph break). Make sure the list is long enough that the fast scroll lasts: 60 posts below.
Oct 26, 8:41PM | 71 | Charts look ready / Come hang in the CATE Space tomorrow / https://x.com/goldgoat_/status/2114864996223979606
Oct 26, 7:37PM | 178 | They've been sleeping on CATECOIN and the CATEmunity since day one. / Can't wait to see their faces when CATE becomes the first coin to hit a billion this cycle 😹
Oct 26, 1:46PM | 292 | CATE is ready for its next leg up... are you? / ATH soon imo
Oct 26, 10:21AM | 204 | CATEVENGERS in control / Let's win 💛🐈
Oct 25, 11:03AM | 167 | Comfy in catecoin
Oct 25, 9:40AM | 143 | Bet on the community. Everything else follows. / CATECOIN 👍
Oct 24, 11:50AM | 189 | Thank you to everyone who bought the bottom for us / Bottom marked. / https://x.com/goldgoat_/status/2114102938475612233
Oct 24, 7:28AM | 211 | Vibing in a community space if you want to pull up. / https://x.com/goldgoat_/status/2113920112456781203
Oct 23, 5:04PM | 158 | Show us why catecoin will be the fastest horse / https://x.com/cryptocats/status/2113740098861326599
Oct 23, 1:15PM | 176 | Bottom on CATE imo.
Oct 22, 6:35PM | 233 | A whole lot of regret is going to set in over the next 3 months for those who got shaken out of the coin of the cycle. / CATE SZN 🐈
Oct 22, 4:33PM | 187 | 1 in 3 traders on fomo have traded CATE / Imagine the smell when the bull run actually kicks off 😹
Oct 22, 2:41PM | 231 | Zoom out. The biggest moves are still ahead of us. Don't fumble a generational opportunity just because you're early and getting bored. / CATECOIN is still in inning 1. The CATEmunity keeps growing, conviction remains strong, and we have a long bull run ahead of us. / The biggest moves come when nobody expects them. / Stay focused. Stay positioned. 💛🐈
Oct 22, 11:51AM | 264 | These prices will look so obvious in hindsight. / Market is shaky, everyone is doomposting on the TL, and conviction feels nowhere to be found. / Historically, these are the moments when building positions in your highest conviction plays pays off the most. / CATECOIN and the CATEmunity aren't going anywhere. We'll keep showing up, keep onboarding, and keep building regardless of market conditions. / You either recognize what's happening and join the movement or risk being left behind this cycle.
Oct 21, 5:17PM | 197 | The holy grail of memecoins this cycle will be back in the spotlight sooner than most think. / Bidding and holding while everyone else is distracted is how you position yourself ahead of a bull market. By the time the masses come back, the opportunity won't look anything like it does today. / Until then, we keep showing up every single day, onboarding the next wave of holders and building the strongest community in crypto. / CATECOIN IS THE COIN OF THE CYCLE.
Oct 21, 9:02AM | 122 | One by one / https://x.com/goldgoat_/status/2112650938475617722
Oct 20, 8:50PM | 241 | This bull run will be simple. / All you have to do is buy CATE, log out, onboard your friends, and check your wallet in 2027. / That's it.
Oct 20, 4:46PM | 166 | Billion dollar asset sitting at 55 million. / Not for long fam 💛🐈
Oct 19, 5:24PM | 188 | Everyone's saying it's over, but the real ones know it's only just getting started. / CATECOIN will lead the way 🐈
Oct 19, 9:15AM | 151 | Sentiment on high caps is terrible right now. Coins bleeding out, majors going nowhere, and sentiment across the entire market feels near rock bottom. / Fortunately for CATE, the community shows up every single day.
Oct 18, 2:30PM | 134 | Back to work. Long way to go. / CATE WILL FLIP DOGE. AND HOLDING UNTIL IT HAPPENS WILL BE ANYTHING BUT EASY. / Slowly, then all at once.
Oct 17, 5:15PM | 302 | Another week of onboarding. LET'S GO. / CATECOIN / BILLIONS
Oct 17, 12:09AM | 177 | Nearly 145k holders with almost 95k on fomo. / Market remain choppy, but CATE continues to push through by doing what we do best: onboarding the next wave of holders.
Oct 16, 4:29PM | 219 | CATE is ready. It's time.
Oct 16, 11:20AM | 145 | They'll say it made no sense. / They'll say whatever they need to justify how they sat on the sidelines of the biggest movement crypto has seen since DOGE. / But when CATE flips DOGE, it won't be because of luck.
Oct 15, 7:19PM | 256 | CATE flipping DOGE will happen sooner than most think.
Oct 15, 12:20PM | 198 | Comfy holding the biggest onboarding coin of this cycle by a long shot.
Oct 14, 7:12AM | 320 | We'll remain the loudest, most bullish community in crypto until CATE is a top 10 coin. / Billions around the corner for our beautiful CATECOIN. / Slowly, then all at once. 💛🐈
Oct 13, 8:44PM | 141 | Show me a better chart. / Show me a stronger community. / You can't.
Oct 12, 10:12PM | 186 | The longer the consolidation, the more explosive the breakout. / Don't think anyone is ready for CATE's next leg imo. / Soon.
Oct 12, 9:12PM | 130 | Once in a lifetime opportunity staring you right in the face imo 🐈
Oct 12, 4:05PM | 112 | Tides are shifting. Only a matter of time. / CATEBALL underwater. / Positioned.
Oct 11, 2:13PM | 208 | The CATE COINS do not concern themselves with CPI. / Therefore, the CATE COINS are so cheap currently that nothing else matters. / Not for long. 💛🐈
Oct 11, 9:48AM | 119 | Get ready, because CATE is about to show you 👀
Oct 10, 4:39PM | 223 | Stablecoin till it isn't imo 👀🐈
Oct 10, 11:05AM | 279 | There's a coin called Catecoin and it looks really good here imo
Oct 9, 6:05PM | 330 | OF EVERY SINGLE COIN LAUNCHED ON EVERY CHAIN IN THE LAST 6 MONTHS, CATE IS CURRENTLY: / 7TH HIGHEST IN MARKET CAP. / 2ND HIGHEST IN HOLDER COUNT. / If you narrow that down to memes without severe supply control, CATE is THIRD.
Oct 9, 3:19PM | 175 | Billions soon for our beloved CATECOIN 🐈💛
Oct 9, 9:30AM | 128 | Holding incredibly strong despite most major projects down 20%+ in the last 24 hours.
Oct 8, 9:58AM | 244 | Looking at the community, the chart, and the overall market, me thinks this is probably your last chance to accumulate CATE below $100M. / Study the CATECOIN. 🐈💛
Oct 7, 6:40PM | 117 | Don't forget to join the Telegram. Going to be onboarding HARD in there again.
Oct 7, 11:12AM | 139 | Pay attention to CATE's relative strength throughout the market bloodbath these last couple weeks.
Oct 6, 12:50PM | 199 | CATE COIN 🐈💛 / GM CATE FAM, BIG WEEK LETS PUT IN THAT WORK
Oct 6, 8:01AM | 106 | Wonder where the next move takes us?
Oct 5, 9:52PM | 214 | We just keep building. Tonight we load up ROUND 3. / $5,000 in CATE going straight to the community builders spreading the word across X and TikTok.
Oct 5, 3:11PM | 187 | Now imagine what happens when the bull run really kicks off and we start seeing multi-billion dollar runners across every chain. / WHERE DO YOU THINK CATE WILL BE?
Oct 5, 9:05AM | 160 | All things considered, this is the first major selloff where we haven't seen mass panic selling from the CATE community. / Holder count staying strong despite the market bloodbath. The memes have been battle tested.
Oct 4, 6:01PM | 419 | Pure belief assets with insane communities and truly no ceiling. / CATEcoin is that. / Soon everyone will see it.
Oct 4, 2:56PM | 224 | Cate coin imo
Oct 4, 8:15AM | 255 | First flyer contest was a success! / Sending an admin $2K in CATE now to distribute prizes to all the winners. / Final stats: 1,380 flyers across 36 cities, generating 212 scans in one week.
Oct 3, 8:20PM | 196 | Look at how much people LOVE talking about CATE 😹 / Even the haters simply cannot stop talking about it. / The most hated rally of all time is coming
Oct 3, 6:03PM | 158 | What happens when the sellers run out of coins?
Oct 3, 10:40AM | 147 | Calm before the storm.
Oct 2, 2:58PM | 281 | Study the last two consolidation periods. / Study the holders continuing to grow. / Study what happened next.
Oct 2, 2:35PM | 221 | 2 days into CATEtober CATE has officially crossed 140k cate holders. 150k soon
Oct 2, 2:08PM | 248 | Cate army
Oct 2, 1:48PM | 178 | 1 day chart looking like a piCATEsso. Could this be the CATE weekend of CATEtober? Me thinks so imo
Oct 2, 1:11PM | 203 | Buy cate thank the 139,755 of us later 😏
Oct 1, 7:30PM | 164 | CATEtober starts now.
Oct 1, 12:00PM | 152 | New month. Same conviction.
Sep 30, 6:45PM | 140 | Closing the month strong 💛🐈
Sep 30, 9:10AM | 133 | Every dip gets bought. Every single time.
Sep 29, 4:20PM | 128 | They laughed at 10M. They laughed at 30M. / Keep laughing.
Sep 28, 11:00AM | 121 | Day one holders know.
- Chart markers come from these posts: cluster posts within the same 6-hour slot into one marker placed at the slot's first post time; the count badge shows how many posts are in it (hide the badge for a cluster of 1).
Images: generate the two avatars with the image generation in this sandbox: OpenAI gpt-image-1.5 via the project's proxied OPENAI_API_KEY at https://api.openai.com/v1/images/generations (run env to find the key), size 1024x1024, quality high, background transparent, saved as PNGs in the asset catalog. 1) "coin": a glossy round gold memecoin, cream outer rim, embossed cartoon cat face in the centre, front-on, centred. 2) "goat": a round avatar of a cute cartoon black goat with curled horns wearing a red baseball cap, inside a gold ring with a cream rim, front-on, centred. If image generation fails, draw both with SwiftUI shapes in the same colours so the app still builds.
Build it in small source files (theme + fixtures, then the chart Canvas, then the screen with the scroll model), and keep SwiftUI types simple and split complex view bodies. Build fully, run compile/build validation, resolve all errors, and launch in the web simulator. Prioritize fidelity to the reference and the scroll-linked chart. Deliver complete implementation rather than a plan.More templates
All templates- View template

Aave Bell
iOSAave's "Stay in the Loop" sheet with a real 3D bell that rings by wobbling around in a circle.
- View template

Plasma Fold
iOSA money app whose promo sheet folds like an iPhone Duo: the photo half swings over the hinge onto a cover.
- View template

Plasma
iOSA money app onboarding screen whose hero is a turning 3D ring of puffy, glossy country-flag badges.
- View template

Ticker
iOSA Robinhood-style investing app with a scrubbable chart, candlesticks and a buy flow that ends in confetti.
