@jakemori
iAccount based inUnited States
About this account
- Account based in
- United States
- Connected via
- United States App Store
Account-level information from X, not a live location or the device used for a specific post.
CEO @Superwall, the paywall company. give your agents full control over your app's monetization stack. yc w20 & s21
New York, USA
Joined June 2008
- Tweets3.3K
- Following924
- Followers15.7K
- Likes1.9K
Pinned Tweet
100 tips I learned growing an iOS app to ~$5M in sales in 3 yrs, going through YC 1.5 times, and co-founding @Superwall 👇
Best coding setup ever - try kanna.sh if you want a fleet of mac or linux boxes you can control from anywhere.
- mac plugged in at my office running the kanna cli
- macbook air at home connecting over the web at kanna.sh
- native mobile apps on the go with 100% feature parity
I have agents running 24/7 and have never been more present.
Kanna is open source - github.com/jakemor/kanna
iPhone/iPad is specifically beautiful to work on - testflight.apple.com/join/xw…
Jake Mor retweeted
finally hit my first 100K/month 😛
Main takeaways:
1. Marketing is a show, not tell game.
2. Build virality into your product.
3. Founders should serve their creators, not the other way around.
Jake Mor retweeted
Replying to @simonbs
Jake Mor retweeted
i just found that @Superwall is beta testing a feature that lets your AI agents code paywalls with React locally and then push them to Superwall
10/10 UX, legit can't wait for this
you absolutely have to follow @raroque on both x and youtube (youtube.com/@raroque) if you're into app development – he's an absolute joy to binge on youtube, and his products are pure elegance.
amazing content, amazing software and all around great guy.
what a craftsman.
be zuck:
- realize you can't compete with frontier labs
- open source your own, trick china into training for you
- buys china's top agent (manus), learns harness design
- china wakes up, blocks the acquisition
- spends $20b to KO scaleai as a data supplier
- builds muse, modeled off openclaw
3d chess. i dont see a world were they dont win. distribution always does. your grandma and 15 year old cousin will sign up for muse in the same week.
and you know for a fact they are optimizing every nook and cranny for engagement out the ass.
very well played team
Jake Mor retweeted
At Mojo (yc w18), we were spending up to $1M a month on ads.
More ads didn’t mean more winners.
So @clem_de_ligny and I built Hyperscale: a self-driving team of AI agents for mobile app video ads.
It studies the best subscription apps in real time and already knows your world when you connect. It predicts what to test next, makes the ad, launches the test, and learns from real spend.
Use it yourself, or let us run it for you.
Hyperscale is live today.
If your app is doing $500k+/month in revenue and creative is still the bottleneck, I want to work with you directly this week. We get paid on performance.
Jake Mor retweeted
Introducing Bridgeflare 🌉🌅
I kept running out of RAM on my mac due to docker containers, so I built this little tool
It's a drop-in docker replacement that runs your containers on Cloudflare and safely tunnels them back to localhost so you can keep working without running out of RAM.
minimal setup, you don't even notice it running, comes with a menu-bar control panel so you can easily control and connect to the containers.
it's like the reverse version of @Cloudflare quick tunnels
link below 👇
To really lock in the UI/UX for mrr.chat i used this tweaks trick...
have your agent make a dev-only tweaks section that lets you preview any component with an editor to modify variables
say "add a tweaks section with a live preview of X component. wire up design tokens to sliders so I can change them and see what they look like. add a way for me to reset them and copy modified values"
then later on say something like "the tails on the bubbles dont look right, add all design tokens to tweaks"
and it one shots a little internal editor
not only was ChatMRR entirely built with agents, i made it pretty much exclusively from my phone with kanna.sh no way i could have done it without this workflow
(idea not my own, i think fb made a whole library for this. agents just make it easy)
Jake Mor retweeted
App founders will see this and claim they hit $1m in annual run rate…
Jake Mor retweeted
this is what an average user of my app looks like
they open StepKey around 10-20 times every single day
and what makes me really happy is that this often doesn’t change even after months
of course it’s a screen time blocker so people naturally come back to it a lot
but seeing strangers use something i built every single day still feels crazy
i think spending too much time on our phones is one of the biggest problems of our generation
so if i can help even a little bit with that it means a lot to me
especially because the feedback from users has been so good
probably one of the things i’m most proud of building :)
classic @theo being overly confident (but thats why we love you mate) there's a version of this that works remarkably well you should try it!!
1. give all tool results a description input field
2. when its time to compact, instead of summarizing history, drop all inputs and outputs of tool calls besides the tool name and description. leave in tool failures in full.
3. replace tool outputs with a tool id and a note on where to find the response on disk
4. always leave the last N turns fully intact
Benefits
- instant compaction
- cuts down on 90% of tokens and leaves the entire text transcript intact
- doesn't bust cache any more than compaction (you only do it when you're running out of tokens)
- all the models crystalize important tool results in transcripts and can always look them up on disk
- tool decisions and descriptions remain for added context after compaction
this is how all our internal and customer facing agents work at @Superwall and it was a huge unlock for long running tasks since context is effectively 1M tokens of just pure text
This is a terrible compaction strategy that fundamentally doesn't understand how compaction and context management work.
Seems like a lot of people are confused so let's break this down.
1. Compaction isn't a filter
The role of compaction is to clean up history to keep the agent focused, not just deleting noise. It should be used sparingly when context gets too long, not constantly to keep context small.
2. Jev doesn't even know what it's deciding on!
Models use the context of the thread to decide what to keep or not keep in a summary. This implementation goes through on a "line-by-line" (per tool call) basis to decide what should be left or deleted.
Not only does this 32k token context model know very little of what happened before, but (in this implementation) it doesn't even know what the result of the tool call is!
Deleting these things randomly will keep the model from knowing what it's tried and dooms you to end up in "stupid loops" where the model keeps trying the same thing over and over.
3. You're giving up the reasoning entirely
Frontier models from OpenAI, Anthropic, XAI, and Google do not share reasoning traces over the API. They share encrypted payloads, which Jev cannot see (and often will drop).
Anthropic is even stricter with this, requiring you to preserve the entire history in order to get any of the reasoning data. As a result, using this in Claude Code guarantees the model will act way dumber.
4. Models are tuned on their compaction flows
For the last year, Frontier Labs have been including compaction and long runs as part of the training process. These models have learned ways to compact that are more effective than any rudimentary solution.
Fun fact: If you switch models in Codex and compaction is necessary, compaction will run on the model that was previously used in the thread.
5. Cache writes are more expensive than cache reads.
Cache writes are the biggest cost by far for agents. I often see cache write costs go over 60% of my total LLM spend in my personal use of Claude Code and Codex.
Cache writes are insanely expensive when data earlier in the history is changed (because the old cache is invalidated when things change at the top). Every history edit requires a cache rewrite for ANY data past the history edit.
If your history is "1,2,3,4,5,6" and you delete "2", you have to rewrite "3,4,5,6". This is more expensive than leaving "2" in the history.
Good news. Since we're already killing all of the reasoning tokens by doing this stupid compaction strategy, the rewrite cost won't actually be that high because the model is missing so much data! 🙃🙃
6. The implementation is hot garbage.
> "Whatever is not kept is deleted permanently, but the assistant can always re-run a tool or re-read a file."
Good luck with that one.
To be clear: this is a cool experiment and I find it genuinely interesting. That said, if you think this style of bs filtering on a probability threshold is actually a compaction strategy, I highly recommend you just use the defaults in tools like Claude Code and Codex.
You're much less likely to hurt yourself that way.
Jake Mor retweeted
Selling Archetype
Asking 2.5k
Has potential but I just hate doing marketing
DM for more info
apps.apple.com/ca/app/archet…