Work / Cryptoopen brief

NewsTide: a news background indicator for crypto traders, styled as an old newspaper

What it was

Before a trade, a trader spends about an hour reading the news and still gets stopped out now and then because the news played out differently than expected. Reading the chart is easy. The hard part is adding up a Fed decision, a jump in yields, a hack at a wallet maker and the project's own news, and seeing which of them outweighs the rest for one coin.

What we did

Built NewsTide in one day along the six steps of the Devpost Skill Pack: intake, scope, PRD, spec, build, ship. A Node.js server reads the projects' official RSS feeds plus crypto and macro news, a Claude model returns a verdict in a strict format, and a checker rejects percentages, long headlines and any step without a link to a real news item. Styled as an old newspaper with engravings of a bull, a bear and a hamster.

What the client got

Two live sites: a demo for judges built on 6 archived editions that answers all 24 combinations without calling the AI, and a public version with 12 coins, refreshed every 30 minutes, with a $5 monthly spending cap. Open source under MIT, a 1:28 video, EN and RU modes. One edition on Haiku costs about $0.0008.

ClientDevpost, open brief 'Build With AI: Basics'. A product for myself as a trader
My roleIdea and decisions, code, design, English copy, engravings, video, deployment of two sites
StatusSubmitted, results 4 November 2026. Demo and live site kept online
Result24 of 24 coin, plan and timeframe combinations the demo serves from the archive, without calling the AI · Open
Rejected: a traffic light and 'for' and 'against' percentages with a list of headlines. The trader ends up reading everything again. Reconstruction, not a screenshot
Rejected: a traffic light and 'for' and 'against' percentages with a list of headlines. The trader ends up reading everything again. Reconstruction, not a screenshot
Accepted: an engraving, a pointing hand, a FAVOURS or AGAINST stamp and a headline of up to six words. One glance, like RSI. The evidence is folded into the editor's notes
Accepted: an engraving, a pointing hand, a FAVOURS or AGAINST stamp and a headline of up to six words. One glance, like RSI. The evidence is folded into the editor's notes

The task

Devpost opened a brief on working with a coding agent: a new project from scratch, built along the six steps of their Skill Pack (1-start, 2-scope, 3-prd, 4-spec, 5-build, 6-ship), a 1 to 3 minute video and a public repository. All countries eligible.

There was no idea at the start. Step 2-scope found one in my own interests: crypto, trading. The way I put it: “an RSI for the news background”. The learning goal from the step-one questionnaire: set tasks for the model more precisely and verify the result properly.

Why, and what the idea was

Before I sit down to trade on news, I spend about an hour reading. And I remember one case: entered a trade, the news played out differently than expected, stopped out. Reading the chart I can do. The hard part is adding up a Fed decision, a jump in yields, a hack at a wallet maker and the project’s own news, and seeing which of them outweighs the rest for one coin.

NewsTide gives one answer you glance at, the way you glance at RSI. Pick a coin, Long or Short, and a timeframe, and you get one newspaper page: Bull Edition, Bear Edition or Hamster Edition. An engraving, a pointing hand, a headline of up to six words and a stamp, FAVOURS or AGAINST, for your plan or against it. The hamster means “the news is mixed, wait”. The evidence is not hidden: under the headline sit collapsed editor’s notes with the numbers of the news items the verdict rests on.

The design decisions were mine after a council of five AI advisors: a stamp instead of a traffic light, no percentages, no wall of headlines, four quotes on the page, editor’s notes collapsed. The name CoinPulse was dropped at once: 535 repositories, an App Store app and a token already carry it.

How it went

When What happened
Day 1 Skill Pack into an empty folder. 1-start: questionnaire, no idea yet. 2-scope: “an RSI for the news background”, coins ETH, SOL, AAVE
Day 1 3-prd: the name NewsTide, newspaper design, no percentages. 4-spec: stack, RSS instead of Telegram, X postponed, price counter, answer checker
Day 1 5-build, slice 1: newspaper page on sample answers. Council of 5 advisors on design. Engravings via Higgsfield
Day 1 Slices 2 to 5: verdict on Haiku from a saved feed snapshot, checker and 8 tests, live feeds, live market strip, Sonnet, README
Day 1 6-ship: git history checked for secrets, public repository, MIT license. Video rehearsal, 1:37
Day 3 Final video on live news on a weekday. Submitted
A week later Council on improvements, 12 Sonnet runs on live data. The newstide-paper demo and the newstide-live site with 12 coins. EN and RU modes
Two weeks later Audit of the submission page: “How I built it” rewritten step by step, video re-cut to 1:28

The decisions were mine. The agent ran the interviews along the steps, brought options and checked facts. Under the Skill Pack rules the submission text is written by the participant, so it was assembled from my voice notes and only translated into English.

Tools and method

Server: Node.js 24, Express 5, a plain HTML, CSS and JS page, hosted on Vercel. Sources: official RSS feeds (the Ethereum blog, Ethereum Magicians, Solana news and forum, Aave governance), Cointelegraph, CoinDesk, the Fed, Investing, MarketWatch. Prices from CoinGecko, S&P and DXY via Yahoo. Feeds that fail are skipped. Step 4-spec found that ETH, SOL and AAVE have no open official Telegram channels, so blogs and forums took their place. X was postponed because it is paid.

Model: Claude Haiku 5.5 for tests and the live site, Sonnet 5.5 for the video and final runs. The answer has a strict format. Before anything is shown, every verdict passes a checker: no percentages, a headline no longer than six words, the stamp consistent with the hand and the plan, every step citing a news item that was actually collected. 8 automated tests, a run log with the full chain in runs/.

The engravings of the bull, the bear, the hamster and the hand were generated in Higgsfield, four images for 4 credits. Translation runs on Haiku in one batch per request with a cache keyed by text; on failure the English stays.

Spending protection on the live site: no accounts, an edition is cached for 30 minutes and shared by everyone, the direct /api/analyze is closed, a $0.5 daily limit, and the key sits in a separate workspace with a hard $5 monthly cap. At the limit or on failure the site points to the demo instead of falling over. The demo is deployed only by a script that sets archive mode and verifies /api/mode.

Result

Two sites. The demo for judges at newstide-paper.vercel.app: 6 archived editions, answers all 24 combinations (3 coins, Long or Short, 4 timeframes), never calls the AI, so it is free. The live site at newstide-live.vercel.app: 12 coins (BTC, ETH, BNB, SOL, XRP, DOGE, ADA, TRX, TON, AVAX, LINK, AAVE), an edition per coin and horizon refreshed every 30 minutes and shared by all readers. An EN/RU switch on both, a “not financial advice” line on every page. The code is open under MIT: github.com/DmitriyTopka/newstide, and the video is also on YouTube.

Cost and speed of one edition: Haiku about $0.0008 and 5 to 12 s, Sonnet about $0.011 and 5 to 6 s. 12 Sonnet editions on live data: SOL and AAVE on 1d gave Bull FAVOURS and Bull AGAINST, ETH and every 1h gave the hamster.

The weak spots a council of five judges named plainly: the video has no voice and does not show the live site, the Russian mode or the 12 coins; usefulness is not proven, since there is no check of the verdict against the price 4h and 1d later, and the hamster came up in 24 of 32 early runs; the 15m and 1h timeframes are advertised, but RSS and a 30-minute cache do not suit them, so honestly the product works for 4h and 1d swing trading.

Mistakes and what we took from them

The model answers differently to the same request.For the video we used one recorded run, not a live call on camera.
On weekends everything is "neutral".On a Sunday, Haiku returned neutral three times out of three. Sonnet on the same feeds, also 3 of 3. So it was quiet news, not the model. Hence the decision to shoot the video on a weekday.
Mixed macro dragged everything to the hamster.Decision: when macro is mixed, the project's own clear news decides. After the prompt fix, SOL on the same snapshot became "Growth expected".
The first demo deploy went out without archive mode.For about three minutes the site was not in archive mode. Closed with a deploy script that always sets the mode and verifies it.
Judges without JS see placeholders.The date and "sample figures" are in the raw HTML; in the browser a script replaces them. Part of the judges' council's criticism turned out to be a false alarm for exactly this reason. Next time: serve the date and state from the server.
Two links to the video.The README points to the old video, Devpost to the new one. Both are public; left untouched until the results.

Tools

Claude Haiku 5.5Claude Sonnet 5.5Node.js 24Express 5RSS, CoinGecko, Yahoo FinanceHiggsfieldVercelPlaywrightffmpegClaude Code