Co-founder @Expo

Joined July 2010
265 Photos and videos
Pinned Tweet
Apr 16
Expo’s Series B lets us build More developer success for our world-class customers More products to unlock that success More capacity to meet the demand for our products and services We are also excited to continue collaborating with other great companies, and for the Expo SDK and services to work well with even more libraries, products, and integrations from others. We care and work to be a great partner to great partners. I’m proud of what we’ve built, from what started in a room w/@ccheever and is now a global team over 60 people strong. This is an energizing time to be at @Expo!
Apr 16
🙌 Expo is the best it's ever been, and it's about to get a lot better. We raised a Series B so we can go faster on the things that matter to you: faster builds, smoother native integrations, and the services to make end-to-end app development a delightful experience. There is a lot of work to do. This round led by @Georgian_io puts us in position to go do it!
2
11
72
7,738
Jun 12
Expoへようこそ!🇯🇵
2
7
70
6,913
Jun 12
i18nはまだ始まったばかりなのでまだ翻訳されていないページがたくさんあります。ご理解いただけるとうれしいです!
4
262
May 27
We got controlled text inputs before GTA 6
May 27
Expo UI now runs callbacks on the UI thread. SDK 56 ships first-class worklet integration for @expo/ui. SwiftUI and Compose components update shared state synchronously, no hop to JS. Flicker-free input masking, finally. A credit card field formats 𝟺𝟸𝟺𝟸𝟺𝟸𝟺𝟸𝟺𝟸𝟺𝟸𝟺𝟸𝟺𝟸 into 𝟺𝟸𝟺𝟸 𝟺𝟸𝟺𝟸 𝟺𝟸𝟺𝟸 𝟺𝟸𝟺𝟸 on the same frame the keystroke lands. Full blog post below from @nishanbende
1
3
177
16,475
🎤 Announcing: Charlie Cheever If you're in tech, you know @ccheever. Charlie's the co-founder of @expo and one of the biggest driving forces behind React Native!! He's speaking at Chain React in Portland and we want to see you there! 🎟️ ti.to/chainreact/chainreact2…
2
10
32
4,030
James Ide retweeted
Looking forward to start talking more about the SPM transition in React Native. It’s going to be big. #appjsconf
7
8
104
17,907
Apr 16
The Codex plugin for @Expo is now available for everyone! Run "/plugins" in Codex CLI and just search for Expo
Launched that today! Thanks @Baconbrix and team for reviewing!
2
26
190
59,061
Mar 27
When you raise money as a startup, there are de facto terms called the NVCA Model Legal Documents. NVCA terms have you attest that your company’s proprietary code & data have never been shared with AI providers that train on your data. Services like ChatGPT, Claude, Cursor, and now GitHub Copilot now default to training on your data unless you have a business/team plan or have vigilantly disabled all sharing & training settings on a personal plan. Consider how most startups decide to expand to a team plan: individuals sign up for personal plans to try a service and then the company gets a team plan once they’re ready to commit. However, startups who plan to raise money need to be cautious about how they build a grassroots culture that encourages employees to adopt AI tools, given the now-unfriendly default policies pushed by AI model providers; the AI model providers are unaligned here with their most promising startup customers. It’s especially problematic with GitHub because it’s the norm at startups for engineers to use their existing personal GitHub accounts, which will default to letting Microsoft train on any proprietary code the personal GitHub Copilot subscription touches. Fundraising plans for startups, let alone the NVCA Model Documents, are not the only reason it’s better for data sharing & model training to default to “Disallowed”. But it’s one that people who control the purse strings should care about. nvca.org/document/nvca-model…
If you use GitHub (especially if you pay for it!!) consider doing this *immediately* Settings -> Privacy -> Disallow GitHub to train their models on your code. GitHub opted *everyone* into training. No matter if you pay for the service (like I do). WTH github.com/settings/copilot/…
2
9
1,712
Mar 5
Expo will work with any native app
Mar 5
A lot of teams don't get to start working on their app from scratch. We know that. We want to make your life easier. In Expo SDK 55 we introduced the isolated brownfield approach: package your Expo app as a precompiled native dependency and embed it in your existing native app. Swift and Kotlin devs never touch Node.js. React devs get a clear surface to contribute. Complexity stays contained. Deeply thoughtful guide on this isolated approach below ↓
2
53
9,382
James Ide retweeted
Expo Router v7 is here! 🚀 ◆ Native toolbars ◆ Zoom transitions ◆ Data loaders and SSR ◆ Material 3 colors ◆ New error overlay ◆ Split View Controller (beta) The best way to build an app just got a lot better! Try it today: ~ / bun create expo
Feb 26
Expo SDK 55 is here😅 React Native 0.83. React 19.2. Legacy Architecture dropped. New Architecture is the default. ◆ 75% smaller update downloads with Hermes bytecode diffing ◆ Expo Router v7 🤯 ◆ Brownfield isolation via expo-brownfield ◆ AI tooling: MCP agent skills for Claude Code ◆ Expo UI much improved for both Swift and Jetpack Compose There is so much more...it feels futile to try and isolate a few bullets...check out the full release notes and let us know what you think ↓
20
46
898
76,211
Feb 13
When reading the Expo docs: You get HTML LLMs get Markdown Fit whole docs in your context window, easily.
Did you know! You can append .md to any @expo blog or changelog post to get the content as markdown (this will also work with accept headers)
1
13
2,623
Feb 12
Whenever a hosted service says data is visible to “only you”, this almost always means “you and the company running the service.” This is acceptable for your open-source repo or recipe ideas for what to cook tonight. But there are legal consequences for other conversation topics, like law itself and I suspect health as well. One of the most AI-forward things a democratic nation could do is establish the goal of Personal AI in Every Home, where Personal here means private and owned by the individual. Inference must run locally by default, and hosted models treated like any other hosted service. Personal AI does not need to be and will not be SOTA but it should be excellent for day-to-day intelligence. This contributes to a higher-trust society in which people trust each other more (including companies) and trust AI more. Ironically one could argue China has done the most in service of Personal AI with the best open models and weights. The U.S. absolutely can compete but I suspect the mandate needs to come from the top with a goal of Personal AI for all of its people and a mission of a high-trust society.
Your AI conversations aren't privileged. Yesterday, Judge Jed Rakoff ruled that 31 documents a defendant generated using an AI tool and later shared with his defense attorneys are not protected by attorney-client privilege or work product doctrine. The logic is simple: an AI tool is not an attorney. It has no law license, owes no duty of loyalty, and its terms of service explicitly disclaim any attorney-client relationship. Sharing case details with an AI platform is legally no different from talking through your legal situation with a friend (which is not privileged). You can't fix it after the fact, either. Sending unprivileged documents to your lawyer doesn't retroactively make them privileged. That's been settled law for years. It just hadn't been tested with AI until now. And here's what really hurt the defendant: the AI provider's privacy policy (Claude), in effect when he used the tool, expressly permits disclosure of user prompts and outputs to governmental authorities. There was no reasonable expectation of confidentiality. The core problem is the gap between how people experience AI and what's actually happening. The conversational interface feels private. It feels like talking to an advisor. But unless you negotiate for an enterprise agreement that says otherwise, you're inputting information into a third-party commercial platform that retains your data and reserves broad rights to disclose it. Judge Rakoff also flagged an interesting wrinkle: the defendant reportedly fed information from his attorneys into the AI tool. If prosecutors try to use these documents at trial, defense counsel could become a fact witness, potentially forcing a mistrial. Winning on privilege doesn't make the evidentiary picture simple. For anyone advising clients or managing legal risk, this is a wake-up call. AI tools are not a safe space for clients to process their counsel's advice and to regurgitate their legal strategy. Every prompt is a potential disclosure. Every output is a potentially discoverable document. So what do we do about it? First, attorneys need to be proactive. Advise clients explicitly that anything they put into an AI tool may be discoverable and is almost certainly not privileged. Put it in your engagement letters. Make it part of onboarding. Don't assume clients understand this, because most don't. Second, if clients want to use AI to help process legal issues (and they clearly will, increasingly), then let's give them a way to do it inside the privilege. Collaborative AI workspaces shared between attorney and client, where the AI interaction happens under counsel's direction and within the attorney-client relationship, can change the analysis entirely. I'm excited to be planning this kind of approach, and I think it's where the industry needs to head. storage.courtlistener.com/re…
2
773
Feb 5
Agree: AI will increase work as computers, the internet, and mobile did. Technologies that people once said would give them back their time. But an expectation to be ever-present and ever-responding grew. It started with pagers, then email, then messaging and adjacent products like Slack. Now we are seeing people be ever-managing of agents. It’s already common to hear people say they feel they’re not being as productive as they could be if they don’t have an agent running in parallel with other tasks, including non-work time. Managing an agent for some (but not all) tasks doesn’t require focused work. You can check an agent’s state from your phone and give it a brief description of next steps. But it’s still an interruption in several ways and unlike a Slack message from another person, the agent tires only when it exhausts its token budget. The human brain needs restorative time even from menial tasks. Agents managing agents goes only so far; it is easy but not valuable to entertain the idea of more AI being the sole answer to AI. People will still be expected to manage agents, a new type of work. More generally, nearly every company has ideas for how it could do more and few will to limit their ambitions and skill ceilings to what AI alone can achieve. They will ask their employees to be a bit more like managers, but managers of a team that has the ability to run 24/7.
I fear the future of work with AI. If you look at where the technology got us with instant messaging, it's clear that the future of work with AI won't be we work less. It will be that we work more, and are expected to contribute prompts at any times to move the agents forward.
1
2
12
1,615
Feb 1
native-user-interfaces/acc
expo-router might be the best native UI library out there. Upgraded my repo to @expo SDK 55 using Claude Code with expo/skills Knew exactly what to migrate. Smooth. No drama. Thanks to @Baconbrix ~/ bunx add-skill expo/skills
3
3
104
13,127
Jan 27
Worthwhile things for Claude Code to improve: 1. Skill invocation. Consistently finding & hearing skills don't get picked up. Tuning the frontmatter feels like a job. A first pass at skill selection could be done with Haiku or better yet a local language model and Opus would choose the winner. 2. Permission reuse. Bias towards using permissions it is already granted. Consistently finding & hearing it will make up new commands when there's an equivalent way to do the task with existing permissions. 2b. Permission timeouts. Consider an alternative if CC is waiting on permissions and the terminal is unfocused for 10 seconds. 3. Keep me logged in. Maybe it's because my Google Workspace session TTL is 7 days but CC keeps logging me out. I cannot explain why I get logged out of every MCP server. 4. Add a CaseInsensitiveSearch tool. Calls like Search(pattern: "button|isButton") look goofy. More case-insensitivity in general unless the model is certain. Fewer tool calls = better. More precise tool calls = better.
1
4
716
Jan 24
Have you found the shape rotators now seek to be wordcels and the wordcels prompt shape rotation?
1
2
1,060
Jan 23
Coming to EAS Update soon (or now for the bold on SDK 55 beta): Intra-bundle diffing with an estimated 75% reduction in Hermes bytecode and JavaScript bundle download sizes on both Android and iOS. Your users will get updates faster with less impact on their data plans. It's common for an update to change only JavaScript. Maybe you fixed a critical bug or just a small typo. Either way, EAS can diff your changes against prior updates. We expect this will speed up rollouts and are working on dashboards to visualize this. Smaller updates also mean more efficient use of the CDN bandwidth included with your EAS plan. Engineers who work on cloud services know that bandwidth is often as expensive as compute and memory. A win for end users and for customers using Expo Application Services to iterate fast on their apps. Enable this feature for SDK 55 apps in your app config: {"updates": { "enableBsdiffPatchSupport": true} } Beta release notes: expo.dev/changelog/sdk-55-be…
3
6
71
7,462
Jan 23
"This is not an anti-AI stance. This is an anti-idiot stance." Accepting PRs is going to be more like micro-hiring. Prior work, reputation, and credentials will count even if they are neither necessary nor sufficient. Imagine if LinkedIn actually verified work and school history and GitHub fused those signals with code contribution history. @satyanadella has a pretty unique opportunity here.
Ghostty is getting an updated AI policy. AI assisted PRs are now only allowed for accepted issues. Drive-by AI PRs will be closed without question. Bad AI drivers will be banned from all future contributions. If you're going to use AI, you better be good. github.com/ghostty-org/ghost…
4
1,084