Compose update: Dec 2021
Dec 2021 · All Compose Updates
TL;DR
The beta prototype is ready! I’m actively looking for folks to use it in their side projects. Maybe you! How you can help: let me know if you or someone you know is working on a React app in need of a backend.
Out of left field, I am also considering joining my friend JP’s startup, Zaplib, a Rust/WASM framework. I’m working on both projects this month to see which I can build more conviction around. How you can help: let me know if you or someone you know is working on a web app facing performance issues.
Finishing the Compose beta
It took a bit longer than expected to get the beta over the finish line – squash all the bugs, get the docs in tip top shape, and polish the Compose Community – but I got there by mid Dec! It feels really good to finally ship.
The Docs
I based our docs off ProseMirror’s, and copied their three section layout: Guide, Examples, and API. (Thanks Tanishq and Michael for the idea!)
People have been saying nice things about the docs so far, i.e. “Docs are great. Clear, well-organized.” (Thanks Alexander Obenauer!)
The Compose Community
As I remember from starting the Future of Coding Slack, the first few weeks of a new community can be really lonely. In this case it’s doubly hard to bear because I actually built the community myself! Anyways, at least one person signed up and sent a couple messages:
We shall see if I can convince early users to move our convos to there instead of my personal DMs.
Failed to find users in Dec
It has not been fun or productive looking for early users. Part of the issues is that it’s way less fun than building, so I don’t spend enough time on it. Another issue is that I finished the beta right when everyone disconnected from tech to be with family during the holidays. Another issue is that I was trying to be clever in last month’s update and called this a search for a “founding programmer” instead of a “first user” as many of you thought I was looking to hire my first engineer. Excuses, excuses... I know it’s the hardest and most important part of a startup, so I resolve to do better in Jan.
As it stands I have two folks actively reviewing the docs and kicking the tires. We shall see if I can iterate with them to get it integrated into one of their existing or upcoming side projects, but I am still looking for someone who can really commit to building something in it.
Looking for a pilot user in Jan
I have a couple ideas for finding users this month:
1. You!
If you’re reading this doc, you’re likely one of my best leads. Do you have any side projects you’ve been dreaming of making?
- A tool for work that would make your job easier
- A web app for your family that would help you communicate or coordinate better
- A startup idea you want to prototype
- Convert an existing Google form / zapier / notion cludge to a proper app
- Rebuild an app you already use but want to make more tailored to your exact use-case
- Convert a React / localstorage app to one with a real backend
- Convert a React / Firebase app to Compose
If this at all speaks to you, please reach out. I would love nothing more than to pair program with you on it, and help in all sorts of white-glove ways!
2. A friend
The best kind of feedback will be high bandwidth and honest, and that sounds like a friend. (Thanks sywx for the encouragement in this direction!)
I’ll give my contact lists a long scroll through and send some messages towards folks that might be into it...
3. Someone in our online networks
I plan to post to Twitter and the Future of Coding Slack to see if anyone there is interested. Maybe I’ll also post to HN or React reddits. Thanks to Jonathan Leung and Ellen Chisa for offering to post to subgroups their apart of for me. If you see my post or tweet, an RT or upvote would be appreciated ❤️
4. Hackathons
I’ve had success in the past running workshops at hackathons to teach a self-made devtool, and am eager to try this strategy with Compose at a virtual hackathon during Omicron and at an in-person hackathon afterwards. Hopefully I can get a couple of these in this month.
Does Compose solve a real problem?
Yes, and no. There are “unsolved problems” here...
...but only in the sense that the current solutions are awkward or annoying, not impossible. Rails is good enough to build a billion dollar business on top of. Yet these awkwardnesses exist, and they’re what companies like Vercel and Netlify are building for.
Shawn aka swyx has a couple amazing posts in this direction. I was also fascinated to see this discussion on Blitz’s upcoming pivot — as they are one of the most similar competitors to Compose.
My thinking is: yes, it is a real problem, but it’s a really hard problem, and what I need most of all is a couple key users to help me focus.
Zaplib
Over the past months, I've been having regular catch-ups with my friend JP. (We met at YC Hacks in 2014 and built an educational tool to visualize higher order functions. It was my first time using React! We've remained close over our shared love of Bret Victor & developer tools.) Every time we chatted, we would each try to convince the other to join our respective startups. In the last couple weeks, JP has been making real headway in convincing me to forgo Compose for his startup Zaplib!
The inspiration for Zaplib comes from JP’s experiences building Webviz at Cruise. It's their core internal tool that allows their engineers to understand and debug self-driving car data. As a web app that processes gigabytes of car sensor data in the browser, Webviz was constantly facing performance challenges. For example, they couldn't even use JS objects because they were dealing with gigabytes of data in the browser and the overhead of even JS objects was too high! They had to keep everything in ArrayBuffers, and maintain their structure manually! It was so frustrating that JP considering swearing off building on the web platform entirely.
JP & Cruise hatched a research project to assess whether they could build a Rust/WASM framework to fix their performance issues with Webviz — with idiomatic, maintainable code. In early testing, rewriting a slow part of Webviz in Zaplib yielded a 20x performance improvement, and he thinks the final speedup will be even higher!
Zaplib’s current challenge is finding a couple of pilot users with web app performance problems that would consider rewriting (small) parts of their frontend app in Rust. Let us know if you have any leads!
Ultimately the vision for Zaplib is to become the cross-platform app development platform, a la Unity but for “pro tools” (a la Figma) instead of games. It’s playing in the same space as React Native / Expo, Electron, Flutter, etc, but with an emphasis on speed (e.g. no garbage collector).
❤️
Happy new year, and thanks for reading!
Steve
PS - Compose in its current form (a React hook BaaS) is very different than the company Adriaan and I originally set out to build (a fullstack Haskell web framework). It was no longer the right fit for Adriaan, so he’s looking for opportunities elsewhere — particularly at companies who value simple yet powerful abstractions. If the company writes in Haskell (or a similar language) and “real” FRP, that’s even better! Hit us up if you or someone you know is interested in chatting with him!