Build the Future of AI-Native UX in 4 Hours | Web Dev Challenge Season 2
How will websites evolve if it's all powered by AI?
the latest Web Dev Challenge is available to everyone!
@algolia.bsky.social asked 3 teams of devs to imagine what the UX of an AI-native web app might look like. featuring @davidkpiano.bsky.social, @shaw.city, Nadirah, @aguywhocodes.com, Syscily, and Camille, with @chuckm.bsky.social
15.07.2025 19:12 β π 13 π 7 π¬ 0 π 2
Build the Future of AI-Native UX in 4 Hours | Web Dev Challenge Season 2
How will websites evolve if it's all powered by AI?
new Web Dev Challege is up early for supporters!
watch Syscily, Camille, Nadirah, @aguywhocodes.com, @shaw.city, and @davidkpiano.bsky.social as they imagine what UX might look like in an AI-native app, sponsored by @algolia.bsky.social with @chuckm.bsky.social as our advisor
codetv.link/wdc/s2e6
14.07.2025 03:53 β π 12 π 3 π¬ 1 π 1
Stephen and David of the Keyframers working at desks in CodeTV Studio
helping the Keyframers reunion happen over here @davidkpiano.bsky.social @shaw.city
18.06.2025 21:05 β π 29 π 3 π¬ 4 π 1
Great to hear! Open to any suggestions or ideas
07.06.2025 23:51 β π 2 π 0 π¬ 0 π 0
Yes it does! Since stores are atoms, you can combine/derive state from stores and other atoms.
In the future, atoms can be used inside store context reactively.
13.05.2025 15:19 β π 1 π 0 π¬ 1 π 0
Yes, like Zustand and Jotai combined, but framework agnostic
13.05.2025 14:54 β π 2 π 0 π¬ 1 π 0
// Regular atoms
const countAtom = createAtom(1);
countAtom.get(); // 1
const flavorAtom = createAtom('chocolate');
// Derived atom that combines both
const donutMessageAtom = createAtom(() => {
const count = countAtom.get();
const flavor = flavorAtom.get();
return `${count} ${flavor} donut${count === 1 ? '' : 's'}`;
});
console.log(donutMessageAtom.get()); // "1 chocolate donut"
countAtom.set(3);
console.log(donutMessageAtom.get()); // "3 chocolate donuts"
flavorAtom.set('strawberry');
console.log(donutMessageAtom.get()); // "3 strawberry donuts"
import { createAsyncAtom } from '@xstate/store';
const donutOrderAtom = createAsyncAtom(async () => {
const order = { flavor: 'glazed', quantity: 12 };
const data = await submitDonutOrder(order);
return data;
});
donutOrderAtom.subscribe((state) => {
if (state.status === 'pending') {
console.log('π§Ύ Placing your order...');
} else if (state.status === 'done') {
console.log('π©', state.data);
} else if (state.status === 'error') {
console.log('π’ Order failed:', state.error);
}
});
βοΈ XState Store now has atoms, and they're *really* simple.
β atom.get()
β atom.set(β¦)
β Derived atoms (reactive)
β Async atoms
β Stores are atoms too!
npm i @xstate/store
stately.ai/docs/xstate-...
13.05.2025 14:38 β π 33 π 7 π¬ 1 π 0
@xstate/store | Stately
Version 3.x (Version 2.x docs)
Yes, there's a guide here:
stately.ai/docs/xstate-...
May even make a codemod π€
10.03.2025 14:17 β π 2 π 0 π¬ 1 π 0
XState Store!
05.03.2025 22:32 β π 0 π 0 π¬ 1 π 0
I like state machines. I still struggle a bit to get my mind bent into state machine shape, but Iβm always so happy with the quality of what I build when I do
07.01.2025 23:48 β π 79 π 2 π¬ 5 π 0
Fixing that soon!
13.01.2025 16:27 β π 3 π 0 π¬ 0 π 0
That's it, I'm switching to xstate store
26.12.2024 22:06 β π 65 π 3 π¬ 6 π 1
How would you simplify XState?
Planning for the next major version, and would love to hear your thoughts and ideas βοΈ
18.12.2024 17:32 β π 18 π 1 π¬ 7 π 0
Would love to hear your ideas!
12.12.2024 23:54 β π 0 π 0 π¬ 0 π 0
The Angular+ Show logo. S8E811. βState Machines and XState in Angular with David Khourshid. Hosts Q, Lara Newsom, Jan-Niklas Vortmann, Chau Tran and Brian Love." Photos of the hosts. Photo of David .
Join us on today's episode as we interview David Khourshid @davidkpiano.bsky.social. We will learn about state machines and how XState plays nice with #Angular right out of the box! #ngconf
πhttps://apple.co/4ipNHcP
π’ spoti.fi/3VxlGGq
09.12.2024 23:31 β π 8 π 3 π¬ 0 π 0
I now *really* enjoy reading articles that are so obviously human-written, mistakes and all
07.12.2024 22:43 β π 149 π 2 π¬ 6 π 1
I'd love to! Next year.
06.12.2024 19:49 β π 7 π 0 π¬ 2 π 0
I don't like default exports.
They exist in JS because they're "simpler", even though they're more verbose:
export default Thing
import Thing from './thing'
vs.
export { Thing }
import { Thing } from './thing'
Just use consistent naming & don't be afraid of typing curly braces.
05.12.2024 18:50 β π 81 π 8 π¬ 12 π 0
Updated demo of Decode generating state-machines from diagrams, this time with streaming generation support
Then I do the reverse, generating a diagram from an implementation.
The diagram auto-layout is still rough. I'll work work on more robust auto-layout soon.
01.12.2024 21:25 β π 32 π 6 π¬ 3 π 0
This is incredible
02.12.2024 05:51 β π 1 π 0 π¬ 1 π 0
π² Merge Conflict: Accept All Current
π² Merge Conflict: Accept All Incoming
βοΈ Merge Conflict: Accept the things I cannot change, the courage to change the things I can, and the wisdom to know the difference
02.12.2024 04:16 β π 164 π 19 π¬ 4 π 1
How to Grow Professional Relationships
A practical, science-backed model for growing quality professional relationships.
I wrote an essay about relationships that may be helpful for personal career development (and maybe devrel).
Mentioned in the post (by name): @davidkpiano.bsky.social, @kentcdodds.com, @joshuakgoldberg.com, @jennytru.bsky.social, @acemarke.dev, and others
tej.as/blog/how-to-...
28.11.2024 16:05 β π 41 π 8 π¬ 0 π 0
I love it
25.11.2024 21:42 β π 2 π 0 π¬ 0 π 0
2025?
23.11.2024 04:40 β π 3 π 0 π¬ 0 π 0
Component State Management in React:
- useState
- useMachine
That's it. That's all I use anymore.
21.11.2024 16:08 β π 53 π 4 π¬ 9 π 2
AI is trained on all code, not good code
18.11.2024 22:55 β π 1 π 0 π¬ 0 π 0
Oh my God
15.11.2024 03:35 β π 7 π 0 π¬ 0 π 0
FSMs are the best way to model UI state. What can we do to indoctrinate people to this fact?
09.11.2024 00:51 β π 32 π 2 π¬ 18 π 1
π€
04.11.2024 22:20 β π 0 π 0 π¬ 0 π 0
Sorry, got stuck in traffic
30.10.2024 16:37 β π 3 π 0 π¬ 1 π 0
todepond.com
β΅ London ΰ·΄ @tldraw.com
A bot by @katef.bsky.social
Full-time TypeScript educator. Used to be a voice coach. He/him. Author of Total TypeScript π§ Hire me to teach your team TypeScript!
Software Developer Driving Green Energy Solutions at @EnerginetDK | Former CTO @statelyai π‘
Founder @ Devographics. I run the State of JS/CSS/etc. surveys. Kyoto, Japan.
https://sachagreif.com/
https://devographics.com/
Programmer, writer, mother. She/Her. Senior Software Engineer @ Mangomint. I enjoy talking about code, writing, photography, and life moments. Falo portuguΓ©s. Married to @rmwardell.bsky.social
Host of @humansideof.dev
Creator of @clocktracker.app
DevRel at @deno.land
Late-blooming choir boy.
Eater of foods.
https://philhawksworth.dev
he/him
πΌ XPlat React @ Meta
π· "Shot on iPhone" Photographer
π¨ He/Him
Web components at Microsoft. Co-host at ShopTalk. Previously Luro and Paravel. Blogger.
Formal methods, software history, chocolatiering. DMs open and happy to meet up in Chicago. Currently writing *Logic for Programmers* (out Q4 2025)
Newsletter: https://buttondown.email/hillelwayne/
Chrome DevRel at Google (CSS + Web UI + DevTools). CSSWG Member. PADI Divemaster. Blogs at bram.us. Lives in Belgium.
Building a B2B SaaS at Swarmia.
Web development β’ Software team productivity β’ Human behavior β’ βοΈ
Opinions about product management, technology news and inclusivity in tech. Diversity is about demographics, inclusion is about creating a sense of belonging.
goblin, candlemaker (bugsrock.online), one of the greatest minds in web development (jennschiffer.com) and blogging (livelaugh.blog), and nyc co-host of robot karaoke (theweirdalgorithm.com)
@neon.tech | @solidjs.com | GDE Web Tech
β³ atila.io/youtube
Puns are usually intended.
am: Staff Engineer & Product Lead @slack.engineering. International Speaker. Design Systems Advocate. Chaotic Good.
was: Hillary for America (1st dev hired). IBM Design.
always: ππΎ. Whovian. BeyoncΓ©.
βΏοΈ AuDHD. CPTSD. INFP. ABCDEFG.
ππΎ https://mina.codes
computer security person. former helpdesk.
Oregon based but originally from Belfast. #JavaScript & #TypeScript developer. Instructor at egghead. Private pilot. I post about building things with code. You can find me at https://paulmcbride.com
π currently looking for new client work
π€ Design Systems Practitioner
π Front-End Developer
π° Curates Design Systems News
ποΈ Formula One Watcher
π§ββ Horror Fan
π BBQβer
π₯οΈ www.alwaystwisted.com
π news.design.systems