OPEN SOURCE · TYPESCRIPT → WASM

Build what you intend.Ship with evidence.

Familiar code. Explicit execution targets. And compiler-backed insight into the application you actually ship.

InspectTrace the flow.
DoctorFind the fault.
ReportSee the proof.
EXPLORE THE EXPERIENCE

See your application.
Not just your source.

Explore a report of your compiled application. Trace routes, schemas and resources to their evidence.

Illustrative Chat App evidence
pulse / Chat App evidence
Illustrative Chat App report showing route inventory, registered paths and handler sizes
Routes · Schemas · Resources · Evidence
PULSE / REPORT COMPARE

Only what changed.

Review the build difference. Trace it to its evidence.

BEFORE sample.aAFTER sample.b
Artifact255 → 248 KiB−7 KiB
Routes23 → 24+1 net
Schemas19 → 20+1
Removed1 routefrom previous build
CHANGED RECORDS5 illustrative changes · select a row for evidence
+POST /api/admin/tokens/:id/rotateRoute registration addedAdded
+ POST /api/admin/tokens/:id/rotatesrc/routes/admin.ts:137 · source provenance
+GET /api/admin/usageRoute registration addedAdded
+ GET /api/admin/usagesrc/routes/activity.ts:158 · source provenance
−DELETE /api/admin/legacy-tokens/:idRoute registration removedRemoved
− DELETE /api/admin/legacy-tokens/:idPrevious: src/routes/admin.ts:101 · no longer registered
±ChatRequest schema5 → 6 propertiesModified
+ maxTokens optional · integersrc/contracts.ts · descriptor evidence
±POST /api/chat/completionsHandler body 10.5 → 11.7 KiBModified
+ 1.2 KiB mapped handler body · fixturesrc/routes/chat.ts:67 · mapped size evidence
Sample comparison · Illustrative data, not measured production results.

Chat App design fixture · Illustrative data, not measured production results

Open standalone fixture ↗

A familiar language.
A deliberate target.

Write the service once. Select a Native Wasm or JavaScript profile explicitly. The compiler reports Native eligibility.

01TypeScript first. One canonical application contract.
02Explicit target. You choose the host and execution profile.
03Clear boundaries. Unsupported Native source produces diagnostics.
src/index.ts
TYPESCRIPT
import { Pulse } from '@pulse-compute/pulse'

const app = new Pulse({ auto: true })

app.get('/health', async (ctx) => ctx.json({ ok: true }))
app.get('/hello', async (ctx) => ctx.json({ message: 'hello from Pulse' }))
app.get('/*', async (ctx) => ctx.text('not found', { status: 404 }))

export default app
Hello JSON · selected source ↗
TARGET PROFILE · EXPLORE EXPLICIT CHOICES

Native profile → Produces Wasm from eligible Pulse source. Unsupported source fails with diagnostics.

JavaScript profile → Explicitly packages the application's JavaScript source graph. Native eligibility is checked separately.

Illustrative profile choices. This preview does not compile or deploy code. Read the target contract ↗

Give your AI assistant a better starting point.

Versioned contracts, starter examples and diagnostic guidance through a bounded read-only MCP service.

Explore Pulse MCP ↗

Build something.
See what it becomes.

Start with familiar TypeScript. Use Inspect, Doctor and Report to understand what you built.

npm install -g @pulse-compute/cli@1.0.0-beta.10