Sign in

iiinova is part of the Atmosphere — an open, public network where you own your identity.

Caleb Meredith

@calebmer.com
154 followers 246 following 85 posts

solo founder. building a microsoft office you actually want to use (alpine.inc). previously infra at meta, early airtable, oss

PostsRepliesMedia
Caleb Meredith @calebmer.com · 12/03/2026
We've seen people work on some pretty big things in Alpine. So we built a first class feature for your most ambitious projects
000 0
Caleb Meredith @calebmer.com · 26/02/2026
I think Alpine is great, but don't take it from me. Learn what it's like when you use Alpine for a year:
010 1
Caleb Meredith @calebmer.com · 23/02/2026
NYC blizzard today: Mamdani has closed the roads but there's one thing bringing new yorkers out to meet mother nature… The dog has to pee Cute dog snow photos is a good excuse to show just how easy it is to create a beautiful image gallery in Alpine:
010 1
Caleb Meredith @calebmer.com · 12/02/2026
We care a lot about quality. Because these small wins add up to a delightful experience Try Alpine and let me know what other small wins we need: alpine.inc
alpine.inc
Alpine
Your docs, tasks, chat, and AI in one app that organizes itself for you. So you can stop managing tools and do your best work.
000 0
Caleb Meredith @calebmer.com · 12/02/2026
(4/n) Our Cursor integration now lets you add a personal Cloud Agents API key so the agents you create are tied to your account
100 1
Caleb Meredith @calebmer.com · 12/02/2026
(3/n) Alpine doesn't have slash commands, everything is in one "@" menu (simple) This wasn't discoverable enough so we added a placeholder telling people to use "@" and we added support for "/" to open the same menu to preserve peoples muscle memory
100 1
Caleb Meredith @calebmer.com · 12/02/2026
(2/n) Right click turn into preview on links
100 1
Caleb Meredith @calebmer.com · 12/02/2026
Small wins this week: @ menu automatically selects the first result when you press enter (1/n)
100 1
Caleb Meredith @calebmer.com · 11/02/2026
Just one more link bro. I swear bro its behind just one more link, I swear ^ Me in Zoom meetings You know what's better than a link? Having the information you need right in front of you That's why everything in Alpine (the all-in-one work app) has rich previews:
000 0
Caleb Meredith @calebmer.com · 02/02/2026
How many browser tabs do you have open right now? Too many! You're losing time context switching We solve this in Alpine (a new all-in-one work suite) by opening a mobile phone sized window you can use without breaking your flow state Check it out:
120 2
Caleb Meredith @calebmer.com · 20/01/2026
Slack + Notion's search are woefully primitive Excuse me for getting technical, this is what Alpine search uses: > LLM embeddings in a vector db > NLP for searches like "my posts from last month" > Affinity score to boost the most relevant stuff > BM25 keyword matching
000 0
Caleb Meredith @calebmer.com · 16/01/2026
I have a problem. I'm obsessed with craft. Alpine took 3 years to launch because I cared (too deeply?) about every pixel You can see this in tables. I played with many tables while building ours and we have the slickest implementation I've seen. Check it out:
130 3
Caleb Meredith @calebmer.com · 15/01/2026
If you want to chat more about your use case, I’m happy to hop on a call: alpine.inc/meet-caleb
100 1
Caleb Meredith @calebmer.com · 15/01/2026
We also want a folder-like feature (near the top of our roadmap) So “no folder” isn’t 100% accurate. We want to optimize for quick capture and letting the system organize itself but if there’s structure you want, we should let you create that structure!
110 1
Caleb Meredith @calebmer.com · 13/01/2026
Yes. We definitely want deep integrations with all the tools we currently use! You shouldn't need to migrate anything to get value from Alpine
010 1
Caleb Meredith @calebmer.com · 13/01/2026
I was asked "how does Alpine reduce context switching" on ProductHunt. The answer so obvious you'll never look at your Slack + Notion setup the same way again To mention a doc in Alpine you hit @, type a bit, select and get a little in app preview That's it that's the post
000 0
Caleb Meredith @calebmer.com · 12/01/2026
Introducing Alpine Your docs, tasks, chat, and AI finally in one app alpine.inc
5263 26
Caleb Meredith @calebmer.com · 22/08/2025
if you liked this, check out another demo:
000 0
Caleb Meredith @calebmer.com · 22/08/2025
slack violates a fundamental principle of design: fitt's law the amount of time it takes your eye to move from one bit of the screen to another is based on how far apart they are the time i wasted reorienting after opening a thread, sheesh glad i’m not using slack anymore
110 1
Caleb Meredith @calebmer.com · 15/08/2025
if you liked this, check out another demo: bsky.app/profile/cale...
000 0
Caleb Meredith @calebmer.com · 15/08/2025
apple notes is where i kept all my tasks for years even at companies that used jira! or linear! that's why in our task tracker app we made it as easy to create a task as it is to create an apple note. ZERO friction
220 2
Caleb Meredith @calebmer.com · 07/08/2025
if you liked this, check out another demo: bsky.app/profile/cale...
000 0
Caleb Meredith @calebmer.com · 07/08/2025
notion is so buggy the new oss openai model likes tables, let's see what it's like trying to create a table in notion…
110 1
Caleb Meredith @calebmer.com · 07/08/2025
if you liked this, check out another demo: bsky.app/profile/cale...
000 0
Caleb Meredith @calebmer.com · 07/08/2025
if you liked this, check out another demo: bsky.app/profile/cale...
000 0
Caleb Meredith @calebmer.com · 24/07/2025
this is only possible thanks to ai that organizes your work for you
000 0
Caleb Meredith @calebmer.com · 24/07/2025
gen-z doesn't know how the file system works so we're building the no-folders work app
410 4
Caleb Meredith @calebmer.com · 22/07/2025
finally, we use an svg mask to only render a border around the element
000 0
Caleb Meredith @calebmer.com · 22/07/2025
you'll notice the conic gradient didn't cover the entire menu item. that's because the animation ends up looking really bad on very wide elements (like this one) if you don't stretch out the gradient! we apply a css transform to make sure the gradient covers the entire element
100 1
Caleb Meredith @calebmer.com · 22/07/2025
next, you need a conic gradient annoyingly, html supports conic gradients but svg doesn't. so we need to use svg's <foreignObject> element to embed a <div> with a conic gradient in the svg
100 1
Caleb Meredith @calebmer.com · 22/07/2025
this technique is hard to build/maintain so accessibility engineers usually take the easy road of a css outline. but imo absolutely positioning your focus rings is critical if you want them to look great in all the weird edge cases your app has to offer discord.com/blog/how-dis...
100 1
Caleb Meredith @calebmer.com · 22/07/2025
absolutely positioning focus rings in a generic way is hard! i read a blog post by discord 5 years ago which inspired me to reimplement their system in our app
100 1
Caleb Meredith @calebmer.com · 22/07/2025
we need to use svg to create the glowy effect. we can't use a css border or outline so we have to start with an absolutely positioned <svg> element that renders on top of whatever we're trying to focus
100 1
Caleb Meredith @calebmer.com · 22/07/2025
how we built glowy selectors for our docs app and we did it with a technique from Discord that terrifies accessibility engineers everywhere 🧵
100 1
Caleb Meredith @calebmer.com · 14/07/2025
not sure if i should ship, needs a little more polish, but i'm really liking it right now thanks nintendo (btw, this is what the feature looks like on the switch 2)
000 0
Caleb Meredith @calebmer.com · 14/07/2025
after getting absolutely wrecked by my friend in mario kart this weekend… i added the Switch 2 glowy focus rings to my docs app work should be fun :)
210 2
Caleb Meredith @calebmer.com · 09/07/2025
how we built this: bsky.app/profile/cale...
000 0
Caleb Meredith @calebmer.com · 09/07/2025
our image gallery's constraints are: 1. the width of three images in a row MUST sum to document width 2. all images in a row MUST have the same height 3. images SHOULD maintain their aspect ratio cassowary then finds the right width/height for the images in our gallery!
000 0
Caleb Meredith @calebmer.com · 09/07/2025
the way you use cassowary is you give it a set of simple constraints and cassowary will find numbers that satisfy those constraints. if it can't satisfy a constraint it'll try to product a number as close as possible to the constraint
100 1
Caleb Meredith @calebmer.com · 09/07/2025
we used a 20 year old obscure research paper to build this beautiful image gallery feature in alpine.inc the paper is called "The Cassowary Linear Arithmetic Constraint Solving Algorithm" it's the underpinning of apple's ios auto layout framework (more implementation details in thread)
100 1
Caleb Meredith @calebmer.com · 08/07/2025
alpine2journal.substack.com/p/write-your...
alpine2journal.substack.com
Write your own database clients
For the tired JavaScript developer who just has too many options
010 1
Caleb Meredith @calebmer.com · 08/07/2025
my friend texted me a question and i responded with a blog post for the node.js devs out there: write your own database clients (link in the reply)
220 2
Caleb Meredith @calebmer.com · 07/07/2025
here's all the illustrations we're currently working with:
010 1
Caleb Meredith @calebmer.com · 07/07/2025
emojis are out they're boring. everyone knows the ten good ones. they aren't expressions of your personality anymore for alpine.inc we've commissioned custom illustrations you'll use instead to react on posts, chats, and more with a radial picker inspired by video games:
110 1
Caleb Meredith @calebmer.com · 02/07/2025
tired of ruining your document every time you try to move an image? Alpine's got you follow for more product demo videos
320 3
Caleb Meredith @calebmer.com · 01/07/2025
here's the marked up version from the designer, i won't share all their notes but a lot of it is systems thinking tricks an engineer can understand/apply next time. e.g. - intentional typography based on hierarchy - make sure everything is edge aligned
Design revision of settings page UI for https://alpine.incDesign revision of settings page UI for https://alpine.inc
020 2
Caleb Meredith @calebmer.com · 01/07/2025
engineers always make a first pass at the design of the features they're responsible for then, our designers clean it up with detailed notes to help the engineer learn here's an example, left is first pass from eng. right is the cleaned up version from a designer
Design revision of settings page UI for https://alpine.incDesign revision of settings page UI for https://alpine.inc
120 2
Caleb Meredith @calebmer.com · 01/07/2025
it's easy for a great engineer to become a good ui designer good ui design starts with systems thinking. how does this new element create harmony with everything else on screen? at alpine.inc we're training our engineers to be designers too (example in reply)
130 3
Caleb Meredith @calebmer.com · 30/06/2025
c3po had something to say about ai
C-3PO to R2-D2 in The Empire Strikes Back: "R2-D2, you know better than to trust a strange computer"
120 2
Caleb Meredith @calebmer.com · 29/06/2025
to find the exact color we want, we use the cassowary constraint solver npmjs.com/@lume…
000 0