Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions app/opengraph-image.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ export default async function Image() {
Reliable infrastructure for the agentic era.
</div>
<div style={{ display: 'flex', fontSize: 30, color: SOFT, marginTop: 28, maxWidth: 860 }}>
Agent context, LLM routing, pull request automation, macOS performance.
A gateway for agent credentials, a context layer, and model routing.
</div>
</div>

Expand All @@ -77,7 +77,10 @@ export default async function Image() {
}}
>
<span style={{ color: BLUE }}>$</span>
<span style={{ color: INK }}>brew install fajarhide/tap/omni</span>
{/* Selat's command, not Omni's. The subhead above now leads with the
gateway and so does the landing page, so a card advertising one and
installing the other reads as two different products. */}
<span style={{ color: INK }}>npx @fajarhide/selat</span>
</div>
</div>
),
Expand Down
21 changes: 20 additions & 1 deletion app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,8 @@ export default async function Home() {
<p className="text-base sm:text-lg text-muted-foreground max-w-2xl mb-8 md:mb-10 leading-relaxed text-pretty">
A gateway for the credentials your agents hold, a context layer for what they read
twice, and routing for the models they call. All of it open source under MIT and
Apache 2.0{starClause(stars)}. Nothing here is a trial, and every number we publish is
Apache 2.0{starClause(stars)}. The build you run yourself is the complete one, never a
trial, and every number we publish is
measured on a real corpus and replays
on yours.
</p>
Expand Down Expand Up @@ -192,6 +193,24 @@ export default async function Home() {
</div>
))}
</div>

{/* Selat takes money and the landing page never said so, which
is what made this read as a shelf rather than a company.
One line, next to the command it is the alternative to.
Not a pricing table: that lives on the product's own site
and would undo the positioning settled in #28. See #36. */}
<p className="mt-4 text-sm text-muted-foreground">
Both run on your own machine, complete, with no account.{' '}
<a
href="https://selat.weekndlabs.com/app"
target="_blank"
rel="noopener noreferrer"
className="text-brand underline underline-offset-4 hover:text-brand-strong transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand rounded-sm"
>
Selat also runs hosted
</a>{' '}
for teams who would rather not.
</p>
</>
)}

Expand Down
2 changes: 1 addition & 1 deletion app/philosophy/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export default function Philosophy() {
<span className="text-brand mt-1 shrink-0">01</span>
<div>
<strong className="text-foreground block">Managed Cloud Services</strong>
For teams who would rather not run this themselves, we offer hosted versions of our tools. The self-hosted build stays complete either way.
Selat runs as a hosted gateway for teams who would rather not operate one, priced on tool calls rather than seats. The self-hosted build stays complete either way, Apache 2.0, no account.
</div>
</li>
<li className="flex gap-4 items-start">
Expand Down
Loading