Caleb Meredith's Avatar

Caleb Meredith

@calebmer.com.bsky.social

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

140 Followers  |  246 Following  |  82 Posts  |  Joined: 26.10.2024  |  1.6639

Latest posts by calebmer.com on Bluesky

Preview
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.

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

12.02.2026 15:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

(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

12.02.2026 15:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

(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

12.02.2026 15:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

(2/n) Right click turn into preview on links

12.02.2026 15:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Small wins this week: @ menu automatically selects the first result when you press enter

(1/n)

12.02.2026 15:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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:

11.02.2026 17:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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:

02.02.2026 15:38 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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

20.01.2026 16:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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:

16.01.2026 15:05 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

If you want to chat more about your use case, I’m happy to hop on a call: alpine.inc/meet-caleb

15.01.2026 15:54 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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!

15.01.2026 15:54 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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

13.01.2026 22:04 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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

13.01.2026 22:03 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Introducing Alpine

Your docs, tasks, chat, and AI finally in one app

alpine.inc

12.01.2026 17:38 β€” πŸ‘ 25    πŸ” 3    πŸ’¬ 4    πŸ“Œ 3

if you liked this, check out another demo:

22.08.2025 15:36 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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

22.08.2025 15:36 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

if you liked this, check out another demo:

bsky.app/profile/cale...

15.08.2025 15:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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

15.08.2025 15:07 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

if you liked this, check out another demo:

bsky.app/profile/cale...

07.08.2025 15:43 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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…

07.08.2025 15:43 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 2

if you liked this, check out another demo:

bsky.app/profile/cale...

07.08.2025 15:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

if you liked this, check out another demo:

bsky.app/profile/cale...

07.08.2025 15:36 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

this is only possible thanks to ai that organizes your work for you

24.07.2025 17:30 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

gen-z doesn't know how the file system works so we're building the no-folders work app

24.07.2025 17:30 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 3    πŸ“Œ 1
Video thumbnail

finally, we use an svg mask to only render a border around the element

22.07.2025 15:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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

22.07.2025 15:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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

22.07.2025 15:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

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...

22.07.2025 15:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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

22.07.2025 15:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

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

22.07.2025 15:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@calebmer.com is following 20 prominent accounts