How Martin’s scores are calculated
The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.
verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10
PA Score19/100
Agent-ready 15.0 × 0.30 = 4.50
API quality 0.0 × 0.20 = 0.00
Openness 0.0 × 0.20 = 0.00
Built-in AI 70.2 × 0.15 = 10.53
Automation 28.5 × 0.15 = 4.27
(4.50 + 0.00 + 0.00 + 10.53 + 4.27) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 19.30 ÷ 1.00 = 19.3
Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.
Agent-ready15.0/100×0.30 of the PA blend
Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.
Point an agent at llms.txt or agent-oriented docsweight 2
2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max
- [probe] https://docs.trymartin.com/llms.txt“PROBE llms.txt: HTTP 200 at https://docs.trymartin.com/llms.txt # Martin ## Docs - [Introduction](https://docs.trymartin.com/introduction.md): Meet your new personal assistant - [Cal”
- [claimed-docs] https://docs.trymartin.com/integrations/calendar.md“Have Martin read, create, and update events in your calendar.”
- [claimed-docs] https://docs.trymartin.com/introduction.md“Martin is reachable through all your communication channels, including phone, SMS, WhatsApp, email, and Slack.”
Run the product headlessly / in CI for automationweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Plug MCP servers into this product so it can use their toolsweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://docs.trymartin.com/integrations/calendar.md“Have Martin read, create, and update events in your calendar.”
- [claimed-docs] https://docs.trymartin.com/integrations/inbox.md“Have Martin read, draft, and reply to emails in your inbox.”
- [claimed-docs] https://docs.trymartin.com/integrations/slack.md“Have Martin read and send messages in Slack from your account.”
- [claimed-docs] https://docs.trymartin.com/capabilities/todos.md“You can tell Martin to add, edit, and check off your to-dos on your behalf from any interface.”
- [claimed-docs] https://docs.trymartin.com/capabilities/notes.md“You can tell Martin to read, add, and edit your notes from any interface.”
Connect an agent via an official MCP serverweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Use an official CLIweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Drive the product through a documented public APIweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [probe] https://docs.trymartin.com/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.trymartin.com/openapi.json, https://docs.trymartin.com/swagger.json, https://docs.trymartin.com/api/openapi.json, https://docs.trymartin.com/.well-known/openapi.json)”
Issue scoped/least-privilege API credentials for an agentweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.trymartin.com/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.trymartin.com/openapi.json, https://docs.trymartin.com/swagger.json, https://docs.trymartin.com/api/openapi.json, https://docs.trymartin.com/.well-known/openapi.json)”
- [claimed-docs] https://docs.trymartin.com/integrations/inbox.md“Once connected, you can tell Martin to read, draft, and reply to emails on your behalf.”
- [claimed-docs] https://docs.trymartin.com/integrations/slack.md“Once connected, you can tell Martin to read, send, and reply to Slack messages on your behalf.”
Build against official SDKsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.trymartin.com/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.trymartin.com/openapi.json, https://docs.trymartin.com/swagger.json, https://docs.trymartin.com/api/openapi.json, https://docs.trymartin.com/.well-known/openapi.json)”
- [claimed-docs] https://docs.trymartin.com/introduction.md“Martin is reachable through all your communication channels, including phone, SMS, WhatsApp, email, and Slack.”
Subscribe to events via webhooksweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Agent-ready = 18.0 ÷ 120 × 100 = 15.0
API quality0.0/100×0.20 of the PA blend
The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.
Explore an interactive API reference with runnable examplesweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.trymartin.com/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.trymartin.com/openapi.json, https://docs.trymartin.com/swagger.json, https://docs.trymartin.com/api/openapi.json, https://docs.trymartin.com/.well-known/openapi.json)”
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.trymartin.com/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.trymartin.com/openapi.json, https://docs.trymartin.com/swagger.json, https://docs.trymartin.com/api/openapi.json, https://docs.trymartin.com/.well-known/openapi.json)”
Test against a sandbox environment without touching production dataweight 1
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.trymartin.com/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.trymartin.com/openapi.json, https://docs.trymartin.com/swagger.json, https://docs.trymartin.com/api/openapi.json, https://docs.trymartin.com/.well-known/openapi.json)”
API quality = 0.0 ÷ 60 × 100 = 0.0
Openness0.0/100×0.20 of the PA blend
Can you leave, inspect, or self-host — data export, open source, portability.
Do everything through the API that I can do in the UIweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.trymartin.com/openapi.json“PROBE openapi: all candidate paths 404 (https://docs.trymartin.com/openapi.json, https://docs.trymartin.com/swagger.json, https://docs.trymartin.com/api/openapi.json, https://docs.trymartin.com/.well-known/openapi.json)”
- [claimed-docs] https://docs.trymartin.com/introduction.md“Martin is reachable through all your communication channels, including phone, SMS, WhatsApp, email, and Slack.”
Export all of my data in open formats and leaveweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Read the product's source under an open licenseweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [community] https://news.ycombinator.com/item?id=41119443“You should create a system where you cannot access user data, and it can never be shared with third parties. Make that system open source to prove it... Otherwise, I’ll never feel confident telling Martin anything I don’t want advertisers to know.”
Self-host the core productweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [community] https://news.ycombinator.com/item?id=42247133“oh, martin desktop is finally here! I use Martin to manage my todo list while i'm coding (on an hourly basis) - having it aside VSC is so handy! ... It's very nice to have a cloud-based agent that can access my todo whichever device/app i'm on.”
- [community] https://news.ycombinator.com/item?id=41119443“You should create a system where you cannot access user data, and it can never be shared with third parties. Make that system open source to prove it... Otherwise, I’ll never feel confident telling Martin anything I don’t want advertisers to know.”
Openness = 0.0 ÷ 100 × 100 = 0.0
Built-in AI70.2/100×0.15 of the PA blend
Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.
Get AI-generated insights and suggestions from my data inside the productweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://docs.trymartin.com/background-tasks/briefings.md“Martin can send you daily or weekly briefings via email.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/proactive-drafts.md“Martin can proactively draft emails for you and send them on your behalf.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/email-triage.md“Martin can automatically label your emails and take follow up actions on your behalf.”
- [claimed-docs] https://docs.trymartin.com/capabilities/search.md“Martin syncs with multiple search engines to find you the most relevant information.”
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://docs.trymartin.com/capabilities/shortcuts.md“Create custom shortcuts that trigger multi-step actions.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/briefings.md“Martin can send you daily or weekly briefings via email.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/proactive-drafts.md“Martin can proactively draft emails for you and send them on your behalf.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/email-triage.md“Martin can automatically label your emails and take follow up actions on your behalf.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/wake-up-calls.md“Martin can call you at a specific time every morning to wake you up with the weather and your schedule.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/cc-to-schedule.md“Cc Martin on an email to schedule a meeting.”
- [community] https://news.ycombinator.com/item?id=42247133“oh, martin desktop is finally here! I use Martin to manage my todo list while i'm coding (on an hourly basis) - having it aside VSC is so handy! ... It's very nice to have a cloud-based agent that can access my todo whichever device/app i'm on.”
- [community] https://news.ycombinator.com/item?id=42247133“A big piece of product feedback we got was 'I don't trust AI to take actions like sending texts/emails on my behalf if it's not 100% reliable.' We're happy to report that Martin's failure rate is now a lot lower than before.”
Delegate tasks to a built-in AI assistant inside the productweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://docs.trymartin.com/integrations/calendar.md“Have Martin read, create, and update events in your calendar.”
- [claimed-docs] https://docs.trymartin.com/capabilities/todos.md“You can tell Martin to add, edit, and check off your to-dos on your behalf from any interface.”
- [claimed-docs] https://docs.trymartin.com/capabilities/notes.md“You can tell Martin to read, add, and edit your notes from any interface.”
- [claimed-docs] https://docs.trymartin.com/capabilities/shortcuts.md“Create custom shortcuts that trigger multi-step actions.”
- [claimed-docs] https://docs.trymartin.com/introduction.md“Martin is reachable through all your communication channels, including phone, SMS, WhatsApp, email, and Slack.”
- [community] https://news.ycombinator.com/item?id=41119443“I’m impressed. I’ll probably cancel ChatGPT Pro subscription and switch to this... it’s handling some complicated requests correctly the first time... It got it right the first time. Pretty amazing.”
- [community] https://news.ycombinator.com/item?id=42247133“oh, martin desktop is finally here! I use Martin to manage my todo list while i'm coding (on an hourly basis) - having it aside VSC is so handy! ... It's very nice to have a cloud-based agent that can access my todo whichever device/app i'm on.”
- [community] https://news.ycombinator.com/item?id=42247133“A big piece of product feedback we got was 'I don't trust AI to take actions like sending texts/emails on my behalf if it's not 100% reliable.' We're happy to report that Martin's failure rate is now a lot lower than before.”
Operate the product with natural-language commandsweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://docs.trymartin.com/integrations/calendar.md“Have Martin read, create, and update events in your calendar.”
- [claimed-docs] https://docs.trymartin.com/capabilities/reminders.md“Tell Martin to remind you to do something, and he will ping you when the time comes.”
- [claimed-docs] https://docs.trymartin.com/capabilities/todos.md“You can tell Martin to add, edit, and check off your to-dos on your behalf from any interface.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/cc-to-schedule.md“Cc Martin on an email to schedule a meeting.”
- [claimed-docs] https://www.trymartin.com“Text Jon my arrival time.”
- [claimed-docs] https://docs.trymartin.com/introduction.md“Martin is reachable through all your communication channels, including phone, SMS, WhatsApp, email, and Slack.”
- [community] https://news.ycombinator.com/item?id=41119443“I’m impressed. I’ll probably cancel ChatGPT Pro subscription and switch to this... it’s handling some complicated requests correctly the first time... It got it right the first time. Pretty amazing.”
- [community] https://news.ycombinator.com/item?id=42247133“oh, martin desktop is finally here! I use Martin to manage my todo list while i'm coding (on an hourly basis) - having it aside VSC is so handy! ... It's very nice to have a cloud-based agent that can access my todo whichever device/app i'm on.”
Built-in AI = 63.2 ÷ 90 × 100 = 70.2
Automation28.5/100×0.15 of the PA blend
Depth of automation primitives — rules, scheduling, bulk operations, webhooks.
Perform bulk operations across many items at onceweight 2
2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max
- [claimed-docs] https://docs.trymartin.com/interfaces/email.md“Got an email with events coming up? Forward it to Martin, and he'll add them all to your calendar.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/email-triage.md“Martin can automatically label your emails and take follow up actions on your behalf.”
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 6 (quality) × 0.6 (partial) = 10.8 of 30 max
- [claimed-docs] https://docs.trymartin.com/capabilities/shortcuts.md“Create custom shortcuts that trigger multi-step actions.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/email-triage.md“Martin can automatically label your emails and take follow up actions on your behalf.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/cc-to-schedule.md“Cc Martin on an email to schedule a meeting.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/proactive-drafts.md“Martin can proactively draft emails for you and send them on your behalf.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/wake-up-calls.md“Martin can call you at a specific time every morning to wake you up with the weather and your schedule.”
- [claimed-docs] https://docs.trymartin.com/interfaces/email.md“Got an email with events coming up? Forward it to Martin, and he'll add them all to your calendar.”
Schedule recurring jobs or workflowsweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://docs.trymartin.com/background-tasks/briefings.md“Martin can send you daily or weekly briefings via email.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/wake-up-calls.md“Martin can call you at a specific time every morning to wake you up with the weather and your schedule.”
- [claimed-docs] https://docs.trymartin.com/background-tasks/email-triage.md“Martin can automatically label your emails and take follow up actions on your behalf.”
- [claimed-docs] https://docs.trymartin.com/capabilities/shortcuts.md“Create custom shortcuts that trigger multi-step actions.”
- [claimed-docs] https://docs.trymartin.com/capabilities/reminders.md“Tell Martin to remind you to do something, and he will ping you at the specified time, via the specified interface.”
Version, review, and roll back my automationsweight 1
1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max
- [claimed-docs] https://docs.trymartin.com/capabilities/shortcuts.md“Create custom shortcuts that trigger multi-step actions.”
Automation = 22.8 ÷ 80 × 100 = 28.5