{"compiledCode":"\"use strict\";Object.defineProperty(exports, \"__esModule\", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _react = require('react'); var _react2 = _interopRequireDefault(_react);\n\n function Page() {\n  return (\n    _react2.default.createElement('div', { className: \"rk-directory\",}\n      , _react2.default.createElement('style', null, \".rk-directory{--ground:var(--c14pttf5-runtime-bg,#202525);--ink:var(--c14pttf5-runtime-text,#eff0e7);--accent:var(--c14pttf5-runtime-accent,#cac7a6);--soft:var(--c14pttf5-runtime-panel,#323c39);background:var(--ground);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif;min-height:100vh;padding:28px clamp(20px,5vw,64px) 64px;overflow-wrap:anywhere}\\n.rk-directory,.rk-directory *{box-sizing:border-box;min-width:0}.rk-directory .frame{max-width:1120px;margin:auto}.rk-directory a{color:var(--accent);text-underline-offset:4px}.rk-directory a:hover{text-decoration-thickness:2px}.rk-directory :is(a,button,input,select):focus-visible{outline:3px solid var(--accent);outline-offset:4px}.rk-directory header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--soft);padding-bottom:24px;margin-bottom:54px}.rk-directory .brand{font:26px Georgia,serif;color:var(--ink);text-decoration:none}.rk-directory nav{display:flex;flex-wrap:wrap;gap:6px 22px}.rk-directory nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.rk-directory h1{font:clamp(36px,5.5vw,66px)/1.1 Georgia,serif;letter-spacing:-1.8px;max-width:23ch;margin:0 0 28px}.rk-directory h2{font:30px/1.25 Georgia,serif;margin:44px 0 20px}.rk-directory h3{font-size:21px;margin:0 0 12px}.rk-directory p{max-width:76ch;margin:0 0 20px}.rk-directory li{margin-bottom:12px;max-width:80ch}.rk-directory .hero{padding:20px 0 32px}.rk-directory .hero p:first-of-type{font-size:20px;max-width:60ch}.rk-directory .hero a{display:inline-flex;align-items:center;min-height:44px}.rk-directory .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;list-style:none;padding:0}.rk-directory .cards li{margin:0;padding:22px;background:var(--soft);border-radius:6px;border:1px solid #52605b}.rk-directory .cards a{font-size:18px}.rk-directory .cards p{margin:12px 0 0;font-size:15px}.rk-directory .catalog-controls{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:18px}.rk-directory label{display:grid;gap:8px;flex:1 1 240px}.rk-directory :is(input,select,button){font:inherit;min-height:48px;border-radius:4px;border:1px solid var(--accent);padding:10px 14px;background:var(--ground);color:var(--ink);max-width:100%}.rk-directory button{cursor:pointer}.rk-directory .meta{font-size:13px;color:var(--accent)}.rk-directory .app-card{display:flex;flex-direction:column;gap:10px}.rk-directory .app-card p{margin:0}.rk-directory .app-card .profile{margin-top:auto;min-height:44px;display:inline-flex;align-items:center}.rk-directory .table-wrap{max-width:100%;overflow-x:auto}.rk-directory table{border-collapse:collapse;min-width:680px;width:100%}.rk-directory :is(th,td){text-align:left;padding:14px;border-bottom:1px solid var(--soft);vertical-align:top}.rk-directory footer{margin-top:60px;padding-top:24px;border-top:1px solid var(--soft);font-size:13px}.rk-directory footer nav{margin-top:18px}.rk-directory .empty{padding:28px;border:1px solid var(--accent);border-radius:6px}.rk-directory .eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent);margin-bottom:20px}@media(max-width:640px){.rk-directory header{align-items:flex-start;flex-direction:column;margin-bottom:34px}.rk-directory nav{gap:4px 18px}.rk-directory h1{letter-spacing:-1px}.rk-directory h2{font-size:27px}.rk-directory .catalog-controls{gap:14px}.rk-directory .hero{padding-top:8px}}\")\n      , _react2.default.createElement('div', { className: \"frame\",}\n\n        , _react2.default.createElement('h1', null, \"Compare SaaS products and apps\"    )\n        , _react2.default.createElement('p', null, \"Choose a comparison for the job you need to do. Each article separates documented product capabilities, plan restrictions, editorial recommendations, and tests you can run yourself. These are documentation-based comparisons, not reports of hands-on product trials.\"\n\n\n\n\n\n        )\n        , _react2.default.createElement('h2', null, \"Task planning and shared work\"    )\n        , _react2.default.createElement('ul', null\n          , _react2.default.createElement('li', null\n            , _react2.default.createElement('a', { href: \"/blog/trello-vs-todoist\",}, \"Trello vs Todoist\"  ), \" — Compare daily commitments with shared project stages, free-plan limits, recurrence, and export differences.\"\n\n\n          )\n          , _react2.default.createElement('li', null\n            , _react2.default.createElement('a', { href: \"/blog/notion-vs-trello\",}, \"Notion vs Trello\"  ), \" — Compare connected project knowledge with a visible work queue, including sharing roles and portability.\"\n\n\n          )\n        )\n        , _react2.default.createElement('h2', null, \"Need a different kind of replacement?\"     )\n        , _react2.default.createElement('p', null\n          , _react2.default.createElement('a', { href: \"/blog/trello-alternatives\",}, \"Five Trello alternatives\"  ), \" \", \"covers personal planning, connected context, structured coordination, combining tools, and client conversations. Some alternatives are additional officially sourced products beyond the directory's current catalog.\"\n\n\n\n\n        )\n        , _react2.default.createElement('h2', null, \"Make your own comparison\"   )\n        , _react2.default.createElement('p', null, \"Use\"\n          , \" \"\n          , _react2.default.createElement('a', { href: \"/blog/compare-apps-fairly\",}, \"the software decision matrix\"   ), \". Apply essential requirements first, mark missing evidence as unresolved, and compare the surviving tradeoffs on the same workflow. Use \"\n\n\n           , _react2.default.createElement('a', { href: \"/blog/run-a-software-trial\",}, \"the trial checklist\"  ), \" to obtain observations.\"\n\n        )\n        , _react2.default.createElement('p', null\n          , _react2.default.createElement('a', { href: \"/apps\",}, \"Explore apps\" ), \" ·\" , \" \"\n          , _react2.default.createElement('a', { href: \"/categories\",}, \"Browse categories\" ), \" ·\" , \" \"\n          , _react2.default.createElement('a', { href: \"/methodology\",}, \"Read our methodology\"  )\n        )\n        , _react2.default.createElement('aside', null\n          , _react2.default.createElement('p', null, \"Discover software by the job you need done. Product descriptions are documentation-based; listing order is alphabetical.\"\n\n\n          )\n          , _react2.default.createElement('nav', { 'aria-label': \"Footer navigation\" ,}\n            , _react2.default.createElement('a', { href: \"/about\",}, \"About\")\n            , _react2.default.createElement('a', { href: \"/methodology\",}, \"Methodology\")\n            , _react2.default.createElement('a', { href: \"/disclosure\",}, \"Disclosure\")\n            , _react2.default.createElement('a', { href: \"/contact\",}, \"Suggest an app\"  )\n          )\n        , _react2.default.createElement('p', { className: \"meta\",}, \"Ranker.dev is an independent software directory and publication. It is not affiliated with Ranker, Inc. or ranker.com.\"                ))\n      )\n    )\n  );\n} exports.default = Page;"}