Commit Graph

  • 59d1dd24cb
    fix: use VALIDATION_ERROR for rank tracking config validation errors (#119) Ben Senescu 2026-04-16 12:23:52 -04:00
  • bc0bf894cd
    fix: avoid D1 param limit in getEarliestSnapshotsForKeywords (#121) Ben Senescu 2026-04-16 12:21:08 -04:00
  • 9a9a9a2a6c
    feat: add keyword metrics (volume, difficulty, CPC) to rank tracking (#118) Ben Senescu 2026-04-16 10:41:31 -04:00
  • 2b7a3eae05
    Make domain overview URL paths clickable in tables (#120) Ben Senescu 2026-04-16 10:30:49 -04:00
  • e78ef5e3dd
    fix: accept full URLs in rank tracking domain input (#117) Ben Senescu 2026-04-16 02:58:34 -04:00
  • 86d3714846
    feat: allow free plan users to set up rank tracking (#116) Ben Senescu 2026-04-16 02:19:23 -04:00
  • aeafa5649d
    feat: polish rank tracking UI (#115) Ben Senescu 2026-04-16 00:42:10 -04:00
  • 4595080356
    Redesign AI page (#114) Ben Senescu 2026-04-15 11:41:04 -04:00
  • 1b6bf8fd94
    refactor: convert rank tracking table to Tanstack Table (#111) Ben Senescu 2026-04-15 10:42:28 -04:00
  • 0024691da8 Improve rank tracking empty state and add config route (#112) Ben Senescu 2026-04-14 20:26:58 -04:00
  • e68ced7203 feat: group navigation into dropdown menus (#110) Ben Senescu 2026-04-14 20:14:09 -04:00
  • 53a83996ef feat: Rank Tracking MVP (#91) Ben Senescu 2026-04-14 19:19:54 -04:00
  • fb1291537c
    fix: treat empty DataForSEO backlinks results as valid empty data (#109) Ben Senescu 2026-04-09 16:44:34 -04:00
  • 53505c0a5b
    fix: fix runtime error when clearing backlinks filter (#105) Ben Senescu 2026-04-09 16:43:47 -04:00
  • 4137b386ab
    website: convert CTA to sign-up (#108) Ben Senescu 2026-04-09 15:13:23 -04:00
  • 937665ef95
    fix: remove unused view transitions CSS causing navigation errors (#107) Ben Senescu 2026-04-09 14:21:47 -04:00
  • 1d9a503335
    hosted: add free trial plan and onboarding (#104) Ben Senescu 2026-04-08 19:06:35 -04:00
  • 01c11b0c5f
    release: v0.0.5 (#102) Ben Senescu 2026-04-08 14:18:46 -04:00
  • 0b7811d882
    fix: sanitize CSV exports against formula injection (#103) Ben Senescu 2026-04-08 14:18:27 -04:00
  • c9d212b8b8 fix: explicitly pick billingCustomer fields for workflow serialization (#97) Ben Senescu 2026-04-08 00:21:28 -04:00
  • fd3d9838fe fix: default backlinks search to site-wide scope for root URLs (#96) Ben Senescu 2026-04-07 23:51:39 -04:00
  • 93c95dc8f7 feat: add structured filters to backlinks tables (#94) Ben Senescu 2026-04-07 23:47:51 -04:00
  • b3d543d206 feat: add top-level persistent filters for keyword research (#93) Ben Senescu 2026-04-07 23:10:18 -04:00
  • f7ccdfee38 feat: add backlink search history (#90) Ben Senescu 2026-04-07 22:14:20 -04:00
  • 868d83fb1c Add per-tab CSV export for backlinks results (#95) Ben Senescu 2026-04-07 21:53:08 -04:00
  • d2fc85342a hosted: track successful subscription checkout (#92) Ben Senescu 2026-04-07 18:22:31 -04:00
  • a10f4d82a0 feat: hide spam backlinks by default (#89) Ben Senescu 2026-04-07 18:21:58 -04:00
  • 673459877e feat: group backlinks table by domain with expandable rows (#88) Ben Senescu 2026-04-07 11:37:42 -04:00
  • 6f307b9cf6 fix: fix saving keyword bugs (#86) Ben Senescu 2026-04-07 09:30:00 -04:00
  • 4d94a1a595 feat: add Bangladesh support for keyword research (#87) Ben Senescu 2026-04-07 00:38:54 -04:00
  • e5206ec07b fix: batch saved keyword inserts for D1 (#85) Ben Senescu 2026-04-07 00:36:17 -04:00
  • ad3b732f60 hosted: add product analytics (#83) Ben Senescu 2026-04-07 00:10:46 -04:00
  • f3ef909d3e fix: handle empty DataForSEO task results (#84) Ben Senescu 2026-04-06 21:48:25 -04:00
  • aed666ef3c feat: add "Get Started" CTA to pricing page managed section (#82) Ben Senescu 2026-04-06 15:30:48 -04:00
  • 26f433caf8 Revert "feat: color-code rank badges in backlinks tables (#73)" Ben Senescu 2026-04-04 18:52:29 -04:00
  • c1190550b0 fix: handle empty keyword research results (#81) Ben Senescu 2026-04-06 14:10:58 -04:00
  • 5e9ebaf19f fix ci (#79) Ben Senescu 2026-04-04 18:47:32 -04:00
  • bbed7c760a fix: lock lighthouse launch flow to auto sampling (#80) Ben Senescu 2026-04-04 18:46:56 -04:00
  • f75a1d4156 fix: stop reporting handled payment required errors (#70) Ben Senescu 2026-04-04 18:23:49 -04:00
  • d773105e8d fix: use backlinks history for default trends (#69) Ben Senescu 2026-04-04 18:21:42 -04:00
  • fdb2d453e4 feat: color-code rank badges in backlinks tables (#73) Ben Senescu 2026-04-04 17:26:22 -04:00
  • 8a4e5f429d fix: add legal links to hosted sign-up footer (#77) Ben Senescu 2026-04-04 17:24:21 -04:00
  • 749f5b6abb fix: move theme switcher to bottom of account menu (#78) Ben Senescu 2026-04-04 17:23:50 -04:00
  • 180657fe33 feat: add filtering and sorting to domain overview (#74) Ben Senescu 2026-04-04 17:19:34 -04:00
  • fc53e9a77c fix: fix theme switcher cursor Ben Senescu 2026-04-04 16:02:11 -04:00
  • 3081bc624a feat: add theme switcher with system/light/dark segmented control (#75) Ben Senescu 2026-04-04 15:58:49 -04:00
  • bd10955a8d fix: set default app page title (#72) Ben Senescu 2026-04-04 15:08:48 -04:00
  • 15cd01f89f fix: tweak email verification copy (#68) Ben Senescu 2026-04-04 14:05:12 -04:00
  • b15b62cae6 Fix project-route auth gaps for domain and SERP lookups (#65) Ben Senescu 2026-04-04 14:01:04 -04:00
  • 5d093c1ebb feat: add sign out button to /subscribe Ben Senescu 2026-04-03 20:31:03 -04:00
  • 4b7b5b7f41 fix: go back to orignal wrangler.jsonc Ben Senescu 2026-04-03 20:22:54 -04:00
  • a85f67c298 fix: remove better auth background tasks (#67) Ben Senescu 2026-04-03 19:00:05 -04:00
  • a83940ddfc chore: add hosted Cloudflare deploy config (#66) Ben Senescu 2026-04-03 18:51:12 -04:00
  • 762a212aab fix: match auth page background color to body (#64) Ben Senescu 2026-04-03 16:32:17 -04:00
  • 622a86e3dc website: terms + privacy policy (#56) Ben Senescu 2026-04-03 16:30:04 -04:00
  • a83c45ebd6 fix: match auth page background color to body (#62) Ben Senescu 2026-04-03 14:21:05 -04:00
  • 570b995248 Refactor billing + onboarding (#61) Ben Senescu 2026-04-03 13:23:00 -04:00
  • 5617c6b9f3 redesign: auth pages (#60) Ben Senescu 2026-04-02 15:11:31 -04:00
  • 25255923b8 feat: add Apply button to keyword research filters (#59) Ben Senescu 2026-04-02 00:47:25 -04:00
  • d4aacb13be Separate billing buckets (#57) Ben Senescu 2026-04-02 00:24:37 -04:00
  • add176c3cc Add pricing page (#58) Ben Senescu 2026-04-02 00:08:30 -04:00
  • a65c5fb00a
    readme: add link to website Ben Senescu 2026-04-06 20:09:21 -04:00
  • 83296db3ae Bump to v0.0.4 Ben Senescu 2026-03-30 14:11:01 -04:00
  • ae7712238e refactor: use TanStack Form everywhere (#49) Ben Senescu 2026-03-30 13:38:08 -04:00
  • 191879c87c fix: improve social previews and shared icons (#52) Ben Senescu 2026-03-27 18:56:14 -04:00
  • cdd729ec0d feat: add hosted-only PostHog error tracking (#51) Ben Senescu 2026-03-27 00:44:14 -04:00
  • 724a92db0c refactor: move hosted billing to Autumn hooks (#48) Ben Senescu 2026-03-26 22:28:28 -04:00
  • 4f33a52e0e refactor: move DataForSEO response cache from KV to R2 (#46) Ben Senescu 2026-03-26 22:27:30 -04:00
  • aae759ff1e feat: email verification and password reset for hosted auth (#47) Ben Senescu 2026-03-26 20:25:45 -04:00
  • 638f5a6602 refactor: move lighthouse audits to dataforseo (#43) Ben Senescu 2026-03-25 15:16:05 -04:00
  • 739b3f0b6a
    Add autumn metered pricing for hosted mode (#44) Ben Senescu 2026-03-25 13:02:12 -04:00
  • bfc6a97466
    refactor project layouts around route boundaries (#45) Ben Senescu 2026-03-24 17:50:35 -04:00
  • 4040a854a7
    feat: Add better auth (#24) Ben Senescu 2026-03-19 19:24:34 -04:00
  • 82c2f99ec1
    fix: normalize trailing slashes for page backlinks (#42) Ben Senescu 2026-03-19 10:29:12 -04:00
  • e6d68493d7 Merge remote-tracking branch 'public/main' into sync/public-main Ben Senescu 2026-03-18 14:23:32 -04:00
  • 19329f8d68
    chore: allow Docker preview host override (#41) Ben Senescu 2026-03-18 14:17:16 -04:00
  • 069d4953cf
    chore: serve Docker self-hosting with vite preview (#40) Ben Senescu 2026-03-18 12:40:52 -04:00
  • 63d14d57ab
    website: refine homepage SEO metadata (#39) Ben Senescu 2026-03-17 15:42:26 -04:00
  • ba32bf994f
    website: turn on observability (#38) Ben Senescu 2026-03-16 22:55:49 -04:00
  • 0f3fa12d7b
    Merge pull request #6 from every-app/263-release-notes-public-defaults Ben Senescu 2026-03-16 22:05:09 -04:00
  • 604fd1739e chore: default release notes to public main Ben Senescu 2026-03-16 22:03:23 -04:00
  • abe0bf3c13
    chore: prepare 0.0.3 release notes (#37) Ben Senescu 2026-03-16 21:53:36 -04:00
  • 23fb595755
    chore: rename references to open-rank back to open-seo (#35) Ben Senescu 2026-03-16 18:58:44 -04:00
  • a51112d877
    website: fix styling (#34) Ben Senescu 2026-03-16 18:09:06 -04:00
  • 8405564925
    feat: Add Backlinks page (#23) Ben Senescu 2026-03-16 17:48:13 -04:00
  • b859fae8dc
    docs: move project docs into docs directory (#32) Ben Senescu 2026-03-16 17:38:24 -04:00
  • 81a3bd0ea9
    ci: validate docker image outside public repo (#31) Ben Senescu 2026-03-16 15:42:50 -04:00
  • 534d4e2093 docs: clarify updating docker self hosted instances Ben Senescu 2026-03-16 15:10:05 -04:00
  • 3700e16a7c
    docs: add release notes workflow (#29) Ben Senescu 2026-03-16 14:56:10 -04:00
  • 4524a94887
    chore: prepare 0.0.2 release notes (#28) Ben Senescu 2026-03-16 14:39:41 -04:00
  • ec6dfb85bf
    chore: streamline release note drafting (#26) Ben Senescu 2026-03-16 14:20:56 -04:00
  • c0d64f366e
    feat: add support for more countries (#25) Ben Senescu 2026-03-16 14:20:16 -04:00
  • 7b4f85dc10
    test: add vitest checks and run tests in CI (#21) Ben Senescu 2026-03-12 19:34:18 -04:00
  • 33173f5c04
    chore: publish OpenSEO Docker images and use image-first self-host flow (#18) Ben Senescu 2026-03-12 19:28:45 -04:00
  • b9c1061934
    chore: clean up knip.jsonc (#20) Ben Senescu 2026-03-11 23:36:54 -04:00
  • a0ef7412f2
    website: Create website (#19) Ben Senescu 2026-03-11 23:23:47 -04:00
  • 75f9868500
    fix: Refactor folder structure & services (#17) Ben Senescu 2026-03-11 23:01:52 -04:00
  • 6017fbc4ef
    feat: Add DataForSEO key setup guard and onboarding help (#12) Ben Senescu 2026-03-11 15:12:29 -04:00
  • e11c0b05f8
    ci: run pnpm ci in GitHub Actions (#16) Ben Senescu 2026-03-11 11:57:28 -04:00
  • f75bbaeb37
    Enforce type-aware TypeScript linting and remove unsafe assertions (#15) Ben Senescu 2026-03-11 11:56:48 -04:00