Rishab Ramanathan (@rishramanathan) profile picture

founder / CTO @openlayerco

San Francisco, CA
Joined October 2009
Photo by Rishab Ramanathan (@rishramanathan)Photo by Rishab Ramanathan (@rishramanathan)
Rishab Ramanathan retweeted
We were tired of manually writing git commits for @linear issues. So I built a @raycast extension. Simply copy the Linear issue ID → hit your hotkey → paste the commit message. That's it! Why build it? We love how you can link Git commits to @linear issues. However, doing this while also following other best practices (like Conventional Commits) made writing commit messages painful. For example, for a Linear issue with ID 'ENG-123' and title 'Some bug', we'd have to: 1. Type the commit type ('fix') 2. Copy the Linear issue ID from Linear 3. Paste it with 'closes' (or some other magic word) → 'fix(closes ENG-123):' 4. Copy the Linear issue title from Linear 5. Paste it → 'fix(closes ENG-123): Some bug' 6. Lowercase the first letter → 'fix(closes ENG-123): some bug' We'd bounce between Linear and Terminal 3+ times, copying/pasting/editing until we got it right. The team was rightfully complaining that the process was annoying. We even considered changing how we name Linear issues to minimize the number of edits. That's why I built the @raycast extension! Behind the scenes, the extension fetches the Linear issue with the specified ID using Linear's API and constructs the full commit command. The conventional commit type ('fix', 'chore', 'docs', etc.) is inferred from the Linear issue label. The extension is private to the @openlayerco org, because it follows our commit message formatting, but hopefully you can build your own version of this!
5
4
1
18
5,890
Rishab Ramanathan retweeted
Chicago AI/ML leaders — join us Aug 7 for a private Topgolf night 🍸 Drinks & bites 🧠 10-min talk: “Catching GenAI failures before prod” 🎯 Good swings, better convos 🎟️ Space is limited → [Request Invite] 👇 info.openlayer.com/topgolf-c…
1
2
3
354
Rishab Ramanathan retweeted
Say hello to Emmett Nelson, Openlayer’s newest Account Exec! From AWS to Metaplane to Openlayer, he’s seen it all in AI/ML sales. Why he joined, how he stays sharp, and his favorite 2025 photo 👇openlayer.com/blog/post/emme…
3
7
544
Rishab Ramanathan retweeted
At #DataAISummit, teams echoed the same concern: Hallucinations, chain failures, degraded prompts, LLMs in prod are breaking without visibility. Openlayer helps you catch it before it hits users. 🔗 openlayer.com
2
7
505
Rishab Ramanathan retweeted
It’s Friday. Your pipeline says it’s “fine.” Your model says it “should work.” Your LLM is feeling ✨creative✨ Openlayer helps you trust what you ship, before it bites back. 🔗openlayer.com/
1
2
7
17,192
Rishab Ramanathan retweeted
We’re heading to @databricks #DataAISummit (June 9–12)! We’ll be on-site all week connecting with teams building GenAI & ensuring their AI systems are reliable + prod-ready. Booth info drops May 30. Swag? 🔥
4
1
8
778
Rishab Ramanathan retweeted
Observability = understanding model behavior, not just metrics. Is your AI observable? openlayer.com/products/ai-ob…
1
3
464
Rishab Ramanathan retweeted
What’s your biggest challenge with AI deployments?
50%Unreliable pre-prod tests
50%Monitoring production
0%Governance and compliance
0%Poor data quality
4 votes • Final results
3
4
619
Rishab Ramanathan retweeted
Replying to @jpmorgan
@jpmorgan nailed it: AI speed without safeguards = big risks. Openlayer helps teams deploy AI safely—with governance, explainability, and evaluation.#AIgovernance #ExplainableAI #ModelSecurity jpmorgan.com/technology/tech…
2
3
93
Rishab Ramanathan retweeted
My first magical moment with LLMs was using GPT 3.5. My second was MCP. That's why I'm super excited about the Openlayer MCP server release! Check out the demo below
2
2
14
5,192
Rishab Ramanathan retweeted
Every detail, refined for light and dark. ⚒️🌓 Menu designs, built for @openlayer. With the amazing @ericaoutput @vikaaaaaaaaas @guilherme_rodz
6
7
87
3,789
Rishab Ramanathan retweeted
We recently rolled out a re-design of our blog. See it live at the link below, stick around and read a post or two ✨ openlayer.com/blog
3
6
666
RT @gbayomi: when your AI notetaker can't handle portuguese...
1
4
Rishab Ramanathan retweeted
Custom metrics 📊, rotating API keys 🔑, new models ✨, and more. The June 2024 changelog is here.
1
2
2
383
Rishab Ramanathan retweeted
Still using a spreadsheet to compare prompts? Just use Openlayer instead
1
3
5
505
Rishab Ramanathan retweeted
You can now push artifacts to your Openlayer project directly from the Command Line Interface (CLI).
1
1
3
461
Rishab Ramanathan retweeted
Don’t worry about who raised what, by who, having only started since how long? Just build your company. This happens every cycle.
8
32
4
350
43,500
Rishab Ramanathan retweeted
Today I'm excited to launch the V2 of Openlayer: a Vercel-like workflow for AI evals that actually makes sense.
2
2
3
10
1,465
Rishab Ramanathan retweeted
🚀✨🔧 Launching tomorrow: Openlayer for developers - the most seamless, powerful, and automatic system for AI builders.
1
4
5
393
Rishab Ramanathan retweeted
I used to beg LLMs for structured outputs. Most of the time, they understood the job and returned valid JSONs. However, around ~5% of the time, they didn't, and I had to write glue code to avoid breaking downstream modules of my system. Then, I found @jxnlco's instructor. instructor is a zero-cost abstraction that works by leveraging OpenAI's function calling. The steps are: 1. patch the OpenAI client with instructor. 2. define the Pydantic model for the output I expect. 3. pass the Pydantic model as an extra kwarg to my OpenAI call. Once that's done, instructor guarantees that what I get back is a valid instance of the Pydantic model. I no longer need to write code to handle the unsuccessful cases. Another benefit I found of using instructor is that it is a much better way to organize my prompts. I can keep information close to the source, with doctrings, field descriptions, and examples. The example in the screenshot is simple. However, I'm using instructor to manage close to 100 different Pydantic models, each with 3-5 layers of nested objects. And guess what? It works. For some complex objects, though, the LLM violates some constraints on the first try. instructor also has a retry mechanism. If a constraint is violated, it sends another request to the LLM with part of the stack trace, so that the LLM can correct the output, as in the screenshot below (traces in @openlayerco). Overall, I'm pretty satisfied with using instructor, and it solved a major issue for us. Also, excited that instructor 1.0.0 just released!
28
58
5
694
202,679