HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Snapchat
Valdi
C++2025–2025
Snapchat / Valdi

Valdi

Valdi is a cross-platform UI framework that delivers native performance without sacrificing developer velocity.

3Distinct people
3Mentions
0Explicit recommenders
16.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Valdi is a cross-platform UI framework that delivers native performance without sacrificing developer velocity.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour3 dated mentions

Observed mentions: 2025-11-08 00:14:50 UTC to 2025-11-08 16:15:21 UTC.

012025-11-08 00:00:00 UTC to 2025-11-08 01:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsNov 8, 00:002025-11-08 01:00:00 UTC to 2025-11-08 02:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 02:00:00 UTC to 2025-11-08 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 03:00:00 UTC to 2025-11-08 04:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 04:00:00 UTC to 2025-11-08 05:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 05:00:00 UTC to 2025-11-08 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 06:00:00 UTC to 2025-11-08 07:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 07:00:00 UTC to 2025-11-08 08:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 08:00:00 UTC to 2025-11-08 09:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsNov 8, 08:002025-11-08 09:00:00 UTC to 2025-11-08 10:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 10:00:00 UTC to 2025-11-08 11:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 11:00:00 UTC to 2025-11-08 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 12:00:00 UTC to 2025-11-08 13:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 13:00:00 UTC to 2025-11-08 14:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 14:00:00 UTC to 2025-11-08 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 15:00:00 UTC to 2025-11-08 16:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-08 16:00:00 UTC to 2025-11-08 17:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsNov 8, 16:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Nov 8, 00:002025-11-08 00:00:00 UTC2025-11-08 01:00:00 UTC110
Nov 8, 01:002025-11-08 01:00:00 UTC2025-11-08 02:00:00 UTC000
Nov 8, 02:002025-11-08 02:00:00 UTC2025-11-08 03:00:00 UTC000
Nov 8, 03:002025-11-08 03:00:00 UTC2025-11-08 04:00:00 UTC000
Nov 8, 04:002025-11-08 04:00:00 UTC2025-11-08 05:00:00 UTC000
Nov 8, 05:002025-11-08 05:00:00 UTC2025-11-08 06:00:00 UTC000
Nov 8, 06:002025-11-08 06:00:00 UTC2025-11-08 07:00:00 UTC000
Nov 8, 07:002025-11-08 07:00:00 UTC2025-11-08 08:00:00 UTC000
Nov 8, 08:002025-11-08 08:00:00 UTC2025-11-08 09:00:00 UTC101
Nov 8, 09:002025-11-08 09:00:00 UTC2025-11-08 10:00:00 UTC000
Nov 8, 10:002025-11-08 10:00:00 UTC2025-11-08 11:00:00 UTC000
Nov 8, 11:002025-11-08 11:00:00 UTC2025-11-08 12:00:00 UTC000
Nov 8, 12:002025-11-08 12:00:00 UTC2025-11-08 13:00:00 UTC000
Nov 8, 13:002025-11-08 13:00:00 UTC2025-11-08 14:00:00 UTC000
Nov 8, 14:002025-11-08 14:00:00 UTC2025-11-08 15:00:00 UTC000
Nov 8, 15:002025-11-08 15:00:00 UTC2025-11-08 16:00:00 UTC000
Nov 8, 16:002025-11-08 16:00:00 UTC2025-11-08 17:00:00 UTC101

What Hacker News says

3 sources
If you are curious how components' state is handled, they employed the React class components method: // Import the StatefulComponent import { StatefulComponent } from 'valdi_core/src/Component'; // ViewModel + State interfaces for component export interface TimerViewModel { loop: number } interface TimerState { elapsed: number } // Component class export class Timer extends StatefulComponent<TimerViewModel, TimerState> { // Initialize the state state = { elapsed: 0 }; // When creating the component, start a periodic logic private interval?: number; // Initialize the setInterval that will update state once a second incrementing // the `elapsed` state value. onCreate() { this.interval = setInterval(() => { // Increment the state to trigger a re-render periodically con
Read the rest
st elapsed = this.state.elapsed; const loop = this.viewModel.loop; this.setState({ elapsed: (elapsed + 1) % loop }); }, 1000); } // When component is removed, make sure to cleanup interval logic onDestroy() { if (this.interval) clearInterval(this.interval); } // Render visuals will depend both on the state and the view model onRender() { <view padding={30} backgroundColor='lightblue'> <label value={`Time Elapsed: ${this.state.elapsed} seconds`} />; <label value={`Time Looping every: ${this.viewModel.loop} seconds`} />; </view>; } } https://github.com/Snapchat/Valdi/blob/main/docs/docs/core-s...
In Valdi – A cross-platform UI framework that delivers native performance

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.