Thrilled to publicly share what we've been building at Portola!
Tolan is a 3D, voice-native AI companion. Like a Tamagotchi you can talk to — or a ChatGPT with personality, memory, and more! Tolans pack a whole lot of power and utility in a fun and delightful frame. =)
1/3
I’m excited to announce Tolan, our first Embodied Companion.
With no launch or press we’ve quietly hit 500,000+ downloads, over $1m in ARR, and a #1 app store category ranking.
Today I’m also announcing our $10m seed round (more on that below) and sharing some of what we’ve learned building an AI companion for consumers.
Hot take: I think it's still important to understand the code that our agents write!
In this mega thread (based on my AIE talk today), I will explain why that's the case, and show some ideas for how to efficiently understand code. Alright, let's dive in. 1/
guy selling post trained oss models: if you don’t own your models you don’t own anything
guy selling harness on top of models: if you rely on one model you are cooked
guy selling tokens: instead of manually prompting your models just put them in a loop where they prompt themselves
co-sign. @aseemk wired up our internal admin platform to Claude via MCP and it’s been great
almost nothing a human can do that an agent can’t these days
absolutely necessary approach if you want to build self improving loops
On this topic: I think more CEOs should get comfortable just saying “this is the way I’m personally most effective, and since I’m the CEO and need to run the company, we’re going to organize around my preferences.”
I’ve seen leaders who are garbage at remote management thrive as in person leaders, but they try to justify it through absolute statements about effectiveness vs just saying sorry homies this is how I roll and I’m king of the castle.
In my role over the years, many highly talented people have candidly shared how they’re feeling about their lives and careers.
These days, the feelings of regret, confusion, and FOMO are higher than I’ve ever seen.
While life teaches us better lessons here than anyone else can, here’s something to consider:
You will never make the perfect career decision every time.
And the more talented you are, the greater your accumulated regret about that offer you rejected and that opportunity you didn’t pursue.
So remember this: when you imagine what could’ve gone much better if you’d made a different choice, you will miss seeing what could have gone worse with that choice.
If you are happy and comfortable, imagining how you’d be even happier if only you’d done XYZ or ABC is a guaranteed formula to turn happiness to misery.
last week we put together the best local dev experience i've ever used
i generally hate to overinvest here, as optimizing DX is classic engineer bait that can distract us from building products that people love, but nowadays a strong foundation is simply necessary to keep agents moving
the whole stack comes up quickly & automatically upon worktree creation (ty @conductor_build!), is completely hermetic, and comes with a backing dashboard that lets us manage all services in one place. on top we layer tailscale/ngrok integration, custom log viewer, prod data branching, etc. plus agent friendly tools that let every api surface or worker job be automatically executable via CLI
definitely some nuance in getting it to feel fast & frictionless. like we use turborepo to cache generated code between worktress, portless to give nice hostnames to every service, and oxlint/tsgo & ruff/ty for checks
this type of setup would be a total pipe dream that you'd never prioritize as a small startup but with fable/opus hacking away it emerged seemingly out of nowhere
what a delightful time to be building
~3 years into building @tolanworld and I realized we still don't have explicit company values.
Such a pleasure to just focus on doing great work and building a great product with amazingly great people. ❤️
Thank you @nextplayso for interviewing us!
@TheStalwart The main thing I've learned as a programmer leaning heavily into AI tools is that programming is SO MUCH MORE than just writing code - and while I can get amazing results out of the AI it's taking every inch of my 25+ years of software experience
The team at @nextplayso was kind enough to spend time with a few of our colleagues, folks like @lilsmcthrills and @aseemk. They shared the story of the culture that has emerged from our focus on the work, and on the people we serve.
If you're tired of hype videos and 996 manifestos, you might enjoy reading about our culture of calm: https://t.co/QKd6qKgozU
When @evangoldschmidt and I started our second company together, we spent no time on the usual founding rituals.
We didn't write a manifesto. We didn't spend hours debating how we would work or how demanding the schedule should be.
We just:
1. Hired people we loved.
2. Set an ambitious pace.
3. Listened to users and made the product better.
spent my 11-hour flight back from europe working on a very long report. started as a slack message but morphed into a several pages long doc. wifi was as shitty as it gets. after finally making it home i realized that the computer had forcefully restarted. opened slack: draft was gone :(
hail mary: claude pls save me, no clue how but pls try
it checked APFS snapshots, time machine, slack indexeddb, write-ahead logs, service worker / http caches, local storage, app logs, hibernation image... nothing. all gone
but then... it realized i have alfred installed. so it checked the clipboard snapshots alfred keeps in sqlite. sad news: alfred clipboard memory gets deleted after 24h. aggressive retention policy. however! when sqlite runs DELETE, nothing gets actually deleted. it only marks pages as reusable, but it doesn't override the physical bytes. so claude decided to do a raw-scan of the db, reverse eng alfred data format, figure out the portion containing the timestamp, stitched everything back together across overflow pages... and handed me the exact final version of my report, the last one i cmd+C'd
all this, in a single shot
... day 200 of "what if you had an elite hacker you can ask anything to"