diff --git a/apps/web/package.json b/apps/web/package.json index 8b0c94a..f255d0b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -18,21 +18,25 @@ "babel-plugin-react-compiler": "^19.1.0-rc.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "date-fns": "^4.1.0", "fumadocs-core": "15.3.0", "fumadocs-mdx": "11.6.3", "fumadocs-ui": "15.3.0", - "lucide-react": "^0.509.0", + "lucide-react": "^0.511.0", "motion": "^12.10.5", "next": "15.3.2", "next-themes": "^0.4.6", "nuqs": "^2.4.3", + "papaparse": "^5.5.3", "react": "^19.1.0", "react-dom": "^19.1.0", "react-tweet": "^3.2.2", + "recharts": "^2.15.3", "sonner": "^2.0.3", "tailwind-merge": "^3.2.0" }, "devDependencies": { + "@types/papaparse": "^5.3.16", "@tailwindcss/postcss": "^4.1.6", "@types/mdx": "^2.0.13", "@types/node": "22.15.17", diff --git a/apps/web/public/export.csv b/apps/web/public/export.csv new file mode 100644 index 0000000..2528364 --- /dev/null +++ b/apps/web/public/export.csv @@ -0,0 +1,132 @@ +*.uuid,*.event,*.properties.platform,*.properties.packageManager,*.properties.$geoip_disable,*.properties.git,*.properties.install,*.properties.dbSetup,*.properties.cli_version,*.properties.runtime,*.properties.api,*.properties.node_version,*.properties.$lib_version,*.properties.frontend.0,*.properties.orm,*.properties.backend,*.properties.database,*.properties.auth,*.properties.$lib,*.properties.$sent_at,*.properties.$transformations_succeeded.0,*.properties.$transformations_succeeded.1,*.timestamp,*.team_id,*.distinct_id,*.elements_chain,*.created_at,*.properties.addons.0,*.properties.addons.1,*.properties.addons.2,*.properties.examples.0,*.properties.examples.1,*.properties.addons.3,*.properties.frontend.1,*.properties.addons.4,*.properties.addons.5,event,person_display_name -- Person.display_name,person_display_name -- Person.id,"coalesce(properties.$current_url, properties.$screen_name) -- Url / Screen",properties.$lib,timestamp +01971d23-bd43-7d89-aa8c-c84a069b4be9,project_created,darwin,bun,True,True,True,neon,2.14.1,node,none,v22.15.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-29T17:42:50.948Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 17:42:55.040000+00:00,162968,cli_ed630bf177c3466fbb53e9643011ae70,,2025-05-29 17:42:55.332000+00:00,,,,,,,,,,project_created,cli_ed630bf177c3466fbb53e9643011ae70,b0ef2e45-617d-501a-bebf-dba7916a0b30,,posthog-node,2025-05-29 17:42:55.040000+00:00 +01971d02-e8cc-73ac-aa97-e3819b974093,project_created,linux,bun,True,True,False,none,2.14.1,bun,trpc,v23.11.0,4.18.0,next,drizzle,hono,sqlite,True,posthog-node,2025-05-29T17:06:59.404Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 17:07:00.670000+00:00,162968,cli_deb181cc75d2427e8e5f026983a3831a,,2025-05-29 17:07:01.035000+00:00,turborepo,,,,,,,,,project_created,cli_deb181cc75d2427e8e5f026983a3831a,82b3aec3-bef7-579e-a224-765c9f1af4af,,posthog-node,2025-05-29 17:07:00.670000+00:00 +01971cff-fec4-7676-89d1-23bd9a4c8b22,project_created,linux,bun,True,False,False,none,2.14.1,bun,trpc,v23.11.0,4.18.0,next,drizzle,hono,sqlite,True,posthog-node,2025-05-29T17:03:48.42Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 17:03:54.208000+00:00,162968,cli_22befbb3b1b74cb896bd301a29fae80f,,2025-05-29 17:03:54.588000+00:00,turborepo,,,,,,,,,project_created,cli_22befbb3b1b74cb896bd301a29fae80f,ddd41721-a92c-503c-80c8-01fc0cd3d99f,,posthog-node,2025-05-29 17:03:54.208000+00:00 +01971cfc-f772-7a76-8455-a8d99207e213,project_created,darwin,bun,True,True,True,supabase,2.14.1,node,trpc,v23.5.0,4.18.0,tanstack-router,drizzle,next,postgres,True,posthog-node,2025-05-29T17:00:29.939Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 17:00:30.435000+00:00,162968,cli_e6f38e55a7904881859d08de58845c7d,,2025-05-29 17:00:34.931000+00:00,turborepo,,,,,,,,,project_created,cli_e6f38e55a7904881859d08de58845c7d,7c312158-4578-549a-bc01-49772e6b9469,,posthog-node,2025-05-29 17:00:30.435000+00:00 +01971cfc-742e-7315-bcc5-0a72c39ed7f6,project_created,linux,bun,True,True,False,none,2.14.1,bun,trpc,v23.11.0,4.18.0,next,drizzle,hono,sqlite,True,posthog-node,2025-05-29T16:59:56.334Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 16:59:57.077000+00:00,162968,cli_506db91c0b2c46c59fb668faad7346b9,,2025-05-29 16:59:57.564000+00:00,turborepo,biome,husky,todo,ai,,,,,project_created,cli_506db91c0b2c46c59fb668faad7346b9,e75eaee9-1748-55eb-a1f5-b540a55e31d6,,posthog-node,2025-05-29 16:59:57.077000+00:00 +01971cf8-a046-7afc-9069-c037747a21ce,project_created,linux,bun,True,False,True,none,2.14.1,bun,trpc,v23.11.0,4.18.0,next,drizzle,hono,sqlite,True,posthog-node,2025-05-29T16:55:45.481Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 16:55:46.200000+00:00,162968,cli_e6ca5ca45f8c4f16a99f6505e2695965,,2025-05-29 16:55:46.898000+00:00,turborepo,husky,biome,todo,ai,,,,,project_created,cli_e6ca5ca45f8c4f16a99f6505e2695965,1ff2c13d-ff80-5f08-ba7c-3ab81cb122ee,,posthog-node,2025-05-29 16:55:46.200000+00:00 +01971cec-7ab7-791c-a910-f3bce92caf2d,project_created,linux,bun,True,False,True,none,2.14.1,bun,trpc,v23.11.0,4.18.0,next,drizzle,hono,sqlite,True,posthog-node,2025-05-29T16:42:29.432Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 16:42:31.828000+00:00,162968,cli_47acd28049cf45ed8bffc6859478db29,,2025-05-29 16:46:23.092000+00:00,turborepo,biome,husky,todo,ai,,,,,project_created,cli_47acd28049cf45ed8bffc6859478db29,3e5fdeaf-d873-5330-8e23-8c8aae245278,,posthog-node,2025-05-29 16:42:31.828000+00:00 +01971ce6-bde3-7ab0-9de3-061766e47b66,project_created,win32,pnpm,True,True,True,neon,2.14.1,node,trpc,v22.14.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-29T16:36:13.412Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 16:36:21.605000+00:00,162968,cli_fc0a2f367303445d958e793a534a812c,,2025-05-29 16:36:23.284000+00:00,biome,husky,pwa,ai,todo,turborepo,,,,project_created,cli_fc0a2f367303445d958e793a534a812c,26710255-31ae-5dbd-b272-7c4b44ffdd8a,,posthog-node,2025-05-29 16:36:21.605000+00:00 +01971cdd-179e-716c-bbc8-a18baf9405a3,project_created,win32,pnpm,True,True,True,none,2.14.1,bun,trpc,v20.9.0,4.18.0,tanstack-start,drizzle,hono,sqlite,True,posthog-node,2025-05-29T16:25:41.022Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 16:25:41.170000+00:00,162968,cli_1d237850758945699e0fd572c12bf16e,,2025-05-29 16:25:42.580000+00:00,turborepo,,,todo,,,,,,project_created,cli_1d237850758945699e0fd572c12bf16e,c15243ba-d06f-5deb-8a34-646f492b677f,,posthog-node,2025-05-29 16:25:41.170000+00:00 +01971cd7-2166-7345-9e48-ca5406625c38,project_created,linux,bun,True,True,True,none,2.14.1,bun,trpc,v24.1.0,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-29T16:19:10.311Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 16:19:11.516000+00:00,162968,cli_2022681cd541499d82941afa456f6421,,2025-05-29 16:19:12.086000+00:00,turborepo,,,,,,,,,project_created,cli_2022681cd541499d82941afa456f6421,c184470a-9df1-54bf-bb05-d2595d94f672,,posthog-node,2025-05-29 16:19:11.516000+00:00 +01971cd2-e189-7c24-b3a5-2f6a7cf6607c,project_created,linux,bun,True,True,True,none,2.14.1,bun,trpc,v24.1.0,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-29T16:14:31.818Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 16:14:33.793000+00:00,162968,cli_65ae4fb0245d4438b4bbf6af88578293,,2025-05-29 16:20:37.290000+00:00,turborepo,,,,,,,,,project_created,cli_65ae4fb0245d4438b4bbf6af88578293,f42da8a2-0126-58ca-bf30-c0e6945c8088,,posthog-node,2025-05-29 16:14:33.793000+00:00 +01971cd1-fe03-70a7-b550-0b011399d8b7,project_created,darwin,bun,True,True,True,none,2.14.1,bun,orpc,v22.14.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-29T16:13:33.571Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 16:13:33.917000+00:00,162968,cli_f850a333902f42deb9d2af5c40a3531e,,2025-05-29 16:13:34.881000+00:00,biome,pwa,tauri,,,turborepo,,,,project_created,cli_f850a333902f42deb9d2af5c40a3531e,877abc8d-25c9-5d63-a97c-a6a8f95e6da8,,posthog-node,2025-05-29 16:13:33.917000+00:00 +01971cce-39a2-7dc2-b76f-5b91fce0e8a8,project_created,darwin,bun,True,True,True,none,2.14.1,bun,orpc,v22.14.0,4.18.0,tanstack-start,drizzle,hono,postgres,True,posthog-node,2025-05-29T16:09:26.69Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 16:09:27.041000+00:00,162968,cli_4bbd3133537e4fce955623115b2f0780,,2025-05-29 16:09:28.026000+00:00,turborepo,biome,,,,,,,,project_created,cli_4bbd3133537e4fce955623115b2f0780,89f3a255-7750-5bdb-a236-5ea6b295f7f7,,posthog-node,2025-05-29 16:09:27.041000+00:00 +01971cbe-584f-7006-a69a-7f3c3ab1a12d,project_created,darwin,bun,True,True,True,none,2.14.1,bun,orpc,v23.11.0,4.18.0,next,prisma,next,sqlite,False,posthog-node,2025-05-29T15:52:05.967Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 15:52:06.311000+00:00,162968,cli_3f6a50a2ad0640919beb05b25a942add,,2025-05-29 15:52:06.753000+00:00,tauri,,,,,,,,,project_created,cli_3f6a50a2ad0640919beb05b25a942add,fc62b5af-5179-5078-95ff-d6c18862e6c2,,posthog-node,2025-05-29 15:52:06.311000+00:00 +01971cbd-82f3-7a52-aec1-149f6ebee24d,project_created,win32,pnpm,True,True,True,neon,2.14.1,node,trpc,v22.14.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-29T15:51:11.35Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 15:51:20.980000+00:00,162968,cli_19fe9ce8c2744aa281af44e8f5f90b86,,2025-05-29 15:51:23.302000+00:00,biome,husky,pwa,ai,todo,turborepo,,,,project_created,cli_19fe9ce8c2744aa281af44e8f5f90b86,a18092a9-b3d5-5254-b7ba-9f9eef81b24c,,posthog-node,2025-05-29 15:51:20.980000+00:00 +01971cba-a672-7d9d-868e-e4facaf27664,project_created,darwin,pnpm,True,True,True,supabase,2.14.1,node,orpc,v23.11.0,4.18.0,next,prisma,next,postgres,True,posthog-node,2025-05-29T15:48:03.826Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 15:48:04.106000+00:00,162968,cli_f5767e7f91884b238513c379af2193f9,,2025-05-29 15:48:05.470000+00:00,turborepo,,,,,,native-nativewind,,,project_created,cli_f5767e7f91884b238513c379af2193f9,2e8af992-05a6-5fc7-8c2a-a56d04f5420d,,posthog-node,2025-05-29 15:48:04.106000+00:00 +01971cb7-9b3a-7f07-8102-8e5c5fc6c5c8,project_created,win32,bun,True,True,True,none,2.14.1,bun,trpc,v22.16.0,4.18.0,tanstack-router,mongoose,fastify,mongodb,True,posthog-node,2025-05-29T15:44:44.347Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 15:44:43.439000+00:00,162968,cli_4f31573eea284cec9592b5bda9b782e2,,2025-05-29 15:44:44.614000+00:00,turborepo,,,ai,todo,,,,,project_created,cli_4f31573eea284cec9592b5bda9b782e2,0e3123ae-7ed8-5cff-8aaa-4f7aa128c520,,posthog-node,2025-05-29 15:44:43.439000+00:00 +01971cb0-7806-73a9-90bd-4240be29b591,project_created,win32,bun,True,False,False,none,2.14.1,bun,orpc,v22.16.0,4.18.0,next,prisma,hono,postgres,True,posthog-node,2025-05-29T15:36:56.582Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 15:36:58.950000+00:00,162968,cli_a940dc16d38d4f74a638e2bcacd68c46,,2025-05-29 15:36:59.260000+00:00,turborepo,,,,,,,,,project_created,cli_a940dc16d38d4f74a638e2bcacd68c46,af236a89-d654-589b-ad57-893daa1d0eec,,posthog-node,2025-05-29 15:36:58.950000+00:00 +01971caf-1b3d-7f1c-a903-322c0094a712,project_created,win32,npm,True,False,True,none,2.14.1,node,none,v22.9.0,4.18.0,next,prisma,hono,sqlite,True,posthog-node,2025-05-29T15:35:27.293Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 15:35:28.857000+00:00,162968,cli_708ad664d46c44f984d41f5aad6f8a25,,2025-05-29 15:35:35.931000+00:00,turborepo,,,,,,,,,project_created,cli_708ad664d46c44f984d41f5aad6f8a25,815d91cc-6c7a-572f-a65b-8be0916bd8c1,,posthog-node,2025-05-29 15:35:28.857000+00:00 +01971cad-8ff4-74b1-ae8d-6b9b46e44afe,project_created,darwin,pnpm,True,True,True,neon,2.14.1,node,none,v24.1.0,4.18.0,tanstack-start,drizzle,hono,postgres,True,posthog-node,2025-05-29T15:33:46.1Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 15:33:46.852000+00:00,162968,cli_44161ae7016c479aa03bcb58d8900182,,2025-05-29 15:34:46.202000+00:00,biome,turborepo,,,,,,,,project_created,cli_44161ae7016c479aa03bcb58d8900182,70ff7dfb-23cc-56d3-a17a-e03dd3b04750,,posthog-node,2025-05-29 15:33:46.852000+00:00 +01971ca3-019a-765e-88d8-a36c2210c2c4,project_created,linux,bun,True,True,True,none,2.14.1,bun,trpc,v20.12.2,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-29T15:22:14.298Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 15:22:16.041000+00:00,162968,cli_118fdd77e30b4b49bcfeafcddc225500,,2025-05-29 15:22:16.619000+00:00,turborepo,,,,,,,,,project_created,cli_118fdd77e30b4b49bcfeafcddc225500,ff3eba65-0315-549a-b884-7c4e1724c267,,posthog-node,2025-05-29 15:22:16.041000+00:00 +01971c94-3112-7d99-acfb-8cf2d28fe3c2,project_created,darwin,bun,True,True,True,none,2.14.1,none,none,v24.1.0,4.18.0,tanstack-router,none,convex,none,False,posthog-node,2025-05-29T15:06:03.411Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 15:06:03.682000+00:00,162968,cli_df32d88558eb4f6698955aa727b01f34,,2025-05-29 15:06:23.322000+00:00,biome,husky,turborepo,todo,,,,,,project_created,cli_df32d88558eb4f6698955aa727b01f34,d6ec1a01-e7a7-55ca-b07f-0f7ede9d3188,,posthog-node,2025-05-29 15:06:03.682000+00:00 +01971c7b-7e72-7254-a771-88972df43d36,project_created,linux,bun,True,True,True,none,2.14.1,none,none,v23.10.0,4.18.0,tanstack-start,none,convex,none,False,posthog-node,2025-05-29T14:39:04.819Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 14:39:05.261000+00:00,162968,cli_3c2a4582a4bb48bf9bc603145a904ebe,,2025-05-29 14:47:15.080000+00:00,biome,,,todo,,,,,,project_created,cli_3c2a4582a4bb48bf9bc603145a904ebe,aa345783-a152-5206-9944-76c66e284314,,posthog-node,2025-05-29 14:39:05.261000+00:00 +01971c6f-82e4-7bd9-8eb2-78a401ce40ca,project_created,win32,pnpm,True,True,True,none,2.14.1,bun,trpc,v20.9.0,4.18.0,tanstack-start,drizzle,hono,sqlite,True,posthog-node,2025-05-29T14:25:59.524Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 14:25:59.741000+00:00,162968,cli_33977e1cad7249e8a869591446c90bf4,,2025-05-29 14:26:27.620000+00:00,turborepo,,,todo,,,native-nativewind,,,project_created,cli_33977e1cad7249e8a869591446c90bf4,885bbf74-9a75-5b31-a6aa-a959c4c5cfde,,posthog-node,2025-05-29 14:25:59.741000+00:00 +01971c6d-b53f-795b-bb5c-5b00cf9dc54c,project_created,darwin,bun,True,True,True,neon,2.14.1,bun,orpc,v24.1.0,4.18.0,tanstack-start,drizzle,hono,postgres,True,posthog-node,2025-05-29T14:24:01.344Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 14:24:02.202000+00:00,162968,cli_03fbc1feaaae47c885f7de3f49199187,,2025-05-29 14:24:02.832000+00:00,turborepo,,,,,,,,,project_created,cli_03fbc1feaaae47c885f7de3f49199187,80880932-70d6-533b-a171-955be653bd3f,,posthog-node,2025-05-29 14:24:02.202000+00:00 +01971c66-b520-79a6-98e6-c6af1a732d7a,project_created,darwin,pnpm,True,True,True,none,2.14.1,bun,none,v22.11.0,4.18.0,react-router,prisma,hono,sqlite,True,posthog-node,2025-05-29T14:16:22.56Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 14:16:24.209000+00:00,162968,cli_0142c8ff9c064957a548af958d09472f,,2025-05-29 14:16:30.456000+00:00,,,,,,,,,,project_created,cli_0142c8ff9c064957a548af958d09472f,74de3ea7-e7ff-5c2f-b2cf-579252d9f564,,posthog-node,2025-05-29 14:16:24.209000+00:00 +01971c66-55f2-7e64-9f35-de24e1e3323e,project_created,linux,bun,True,True,True,none,2.14.1,bun,trpc,v23.11.0,4.18.0,next,drizzle,hono,sqlite,True,posthog-node,2025-05-29T14:15:58.195Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 14:15:59.148000+00:00,162968,cli_8366c96248d747d499bab04ce89e72de,,2025-05-29 14:16:07.338000+00:00,biome,husky,turborepo,ai,todo,,,,,project_created,cli_8366c96248d747d499bab04ce89e72de,b86bf479-29ca-5a3a-ab8e-5da0ad61569b,,posthog-node,2025-05-29 14:15:59.148000+00:00 +01971c64-fbfa-7c20-9b02-e97182ff7175,project_created,darwin,bun,True,True,True,none,2.14.1,bun,orpc,v23.11.0,4.18.0,nuxt,drizzle,elysia,postgres,False,posthog-node,2025-05-29T14:14:29.627Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 14:14:30.792000+00:00,162968,cli_80b5b2e355e94f448479cecb29f1f43c,,2025-05-29 14:14:46.750000+00:00,turborepo,biome,husky,todo,,,,,,project_created,cli_80b5b2e355e94f448479cecb29f1f43c,76ba1d06-389e-5824-99a9-55eed3eec45e,,posthog-node,2025-05-29 14:14:30.792000+00:00 +01971c62-3398-7732-ac28-3c2025bafed9,project_created,linux,bun,True,True,True,none,2.14.1,bun,trpc,v23.11.0,4.18.0,next,drizzle,hono,postgres,True,posthog-node,2025-05-29T14:11:27.256Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 14:11:27.931000+00:00,162968,cli_147d8e13ffc446f5811be971238ff03f,,2025-05-29 14:11:38.476000+00:00,biome,husky,turborepo,ai,todo,,,,,project_created,cli_147d8e13ffc446f5811be971238ff03f,9f7aa085-5274-57c4-9142-2aada6167634,,posthog-node,2025-05-29 14:11:27.931000+00:00 +01971c46-bd6f-7492-ae4b-f018929435ba,project_created,darwin,pnpm,True,True,True,none,2.14.1,bun,none,v22.14.0,4.18.0,next,drizzle,hono,postgres,True,posthog-node,2025-05-29T13:41:27.536Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 13:41:28.988000+00:00,162968,cli_bc3268089ad847c9879b32f236c0a0c4,,2025-05-29 13:41:29.413000+00:00,husky,pwa,starlight,,,turborepo,native-nativewind,,,project_created,cli_bc3268089ad847c9879b32f236c0a0c4,eed13658-9a69-5e76-9d69-103aa95570ee,,posthog-node,2025-05-29 13:41:28.988000+00:00 +01971c43-e3b1-713a-a2d4-4e216d129e1c,project_created,darwin,pnpm,True,True,False,none,2.14.1,bun,none,v22.11.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-29T13:38:20.721Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 13:38:22.988000+00:00,162968,cli_720c718b324144a8a9626fbc8ba1c0c8,,2025-05-29 13:38:23.929000+00:00,turborepo,,,,,,,,,project_created,cli_720c718b324144a8a9626fbc8ba1c0c8,fe57fde4-be50-5bd4-97b5-c22f156182f7,,posthog-node,2025-05-29 13:38:22.988000+00:00 +01971c36-b26f-7503-b733-7b9bce55c9b1,project_created,darwin,bun,True,True,True,none,2.14.1,none,none,v24.1.0,4.18.0,tanstack-start,none,convex,none,False,posthog-node,2025-05-29T13:23:56.143Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 13:23:56.991000+00:00,162968,cli_3e4960695b324b0e810b5966a6a111b1,,2025-05-29 13:23:57.455000+00:00,biome,starlight,turborepo,todo,,,native-nativewind,,,project_created,cli_3e4960695b324b0e810b5966a6a111b1,cb5905d9-8622-50ff-a447-83f26167bc95,,posthog-node,2025-05-29 13:23:56.991000+00:00 +01971c36-5c9c-7990-a813-360d3bdd0311,project_created,darwin,bun,True,True,True,neon,2.14.1,bun,orpc,v24.1.0,4.18.0,tanstack-start,drizzle,hono,postgres,True,posthog-node,2025-05-29T13:23:34.172Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 13:23:34.842000+00:00,162968,cli_cd51bf4fc2504b9ea58cca118e165f23,,2025-05-29 13:24:07.021000+00:00,turborepo,,,,,,,,,project_created,cli_cd51bf4fc2504b9ea58cca118e165f23,834bae94-b53f-5cb4-89d9-5e9647e1251c,,posthog-node,2025-05-29 13:23:34.842000+00:00 +01971c30-9ff9-7c56-889c-487187984be7,project_created,linux,bun,True,True,True,none,2.14.1,none,none,v24.1.0,4.18.0,tanstack-router,none,none,none,False,posthog-node,2025-05-29T13:17:18.202Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 13:17:18.633000+00:00,162968,cli_d106597bd82340b39e514ed926a626a8,,2025-05-29 13:17:20.894000+00:00,biome,pwa,,,,,,,,project_created,cli_d106597bd82340b39e514ed926a626a8,f0d70df0-40ad-5365-b7a5-2b412c583e66,,posthog-node,2025-05-29 13:17:18.633000+00:00 +01971c27-891d-77c8-89f9-c9efadb26934,project_created,linux,pnpm,True,True,False,supabase,2.14.1,bun,trpc,v20.19.2,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-29T13:07:22.525Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 13:07:24.512000+00:00,162968,cli_0a437abc990b48feb4c24673e47a8a95,,2025-05-29 13:07:27.600000+00:00,biome,husky,pwa,ai,todo,starlight,native-nativewind,turborepo,,project_created,cli_0a437abc990b48feb4c24673e47a8a95,011780b2-4d19-5a2b-95ef-31517b2c4ef3,,posthog-node,2025-05-29 13:07:24.512000+00:00 +01971c1c-61ea-73c5-be0c-b634944ece84,project_created,win32,bun,True,True,True,none,2.14.1,bun,trpc,v22.16.0,4.18.0,tanstack-router,mongoose,fastify,mongodb,True,posthog-node,2025-05-29T12:55:11.596Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 12:55:10.848000+00:00,162968,cli_7820e61da8804dc0b61ee4017cb99a24,,2025-05-29 12:55:11.412000+00:00,turborepo,,,,,,,,,project_created,cli_7820e61da8804dc0b61ee4017cb99a24,6494b3c8-84e2-54ad-a4bc-a091e716113a,,posthog-node,2025-05-29 12:55:10.848000+00:00 +01971c12-e712-7925-a11c-68de42676c42,project_created,linux,bun,True,True,True,turso,2.14.1,bun,orpc,v22.15.0,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-29T12:44:50.323Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 12:44:51.055000+00:00,162968,cli_e2a40ded640549f2aec5ee429ce5d426,,2025-05-29 12:44:51.343000+00:00,biome,husky,pwa,ai,todo,turborepo,,,,project_created,cli_e2a40ded640549f2aec5ee429ce5d426,c4a6b73b-387e-554d-b515-32b6e26efddb,,posthog-node,2025-05-29 12:44:51.055000+00:00 +01971c0b-0b9b-7069-bf7b-e127f9654bd8,project_created,darwin,bun,True,True,True,turso,2.14.1,bun,orpc,v22.15.1,4.18.0,svelte,drizzle,hono,sqlite,True,posthog-node,2025-05-29T12:36:15.388Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 12:36:21.050000+00:00,162968,cli_641758c91a9b4e3cb25445c9613c244a,,2025-05-29 12:36:21.367000+00:00,turborepo,,,ai,,,,,,project_created,cli_641758c91a9b4e3cb25445c9613c244a,9909c89a-715c-5c78-bf53-f73242d4a6d1,,posthog-node,2025-05-29 12:36:21.050000+00:00 +01971bff-5d16-792b-b175-e03453cbc728,project_created,darwin,bun,True,True,True,none,2.14.1,none,none,v22.14.0,4.18.0,tanstack-router,none,none,none,False,posthog-node,2025-05-29T12:23:29.814Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 12:23:31.444000+00:00,162968,cli_646168443ff444929dc757a1d6a6c808,,2025-05-29 12:23:41.648000+00:00,biome,husky,pwa,,,starlight,native-nativewind,turborepo,,project_created,cli_646168443ff444929dc757a1d6a6c808,1be1c6bd-7c38-5895-8685-e21315202697,,posthog-node,2025-05-29 12:23:31.444000+00:00 +01971bfe-a73d-74ad-8258-5fbd6040dd57,project_created,darwin,bun,True,False,True,turso,2.14.1,bun,orpc,v24.0.2,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-29T12:22:43.261Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 12:22:43.813000+00:00,162968,cli_21b04af08bc440b99568f07a68e543c7,,2025-05-29 12:22:44.191000+00:00,turborepo,,,,,,,,,project_created,cli_21b04af08bc440b99568f07a68e543c7,049ee78b-1381-5f97-b986-deb505f408d0,,posthog-node,2025-05-29 12:22:43.813000+00:00 +01971bfe-0378-73ea-ad77-d7e6040250cd,project_created,darwin,bun,True,False,True,none,2.14.1,none,none,v24.0.2,4.18.0,next,none,none,none,False,posthog-node,2025-05-29T12:22:01.336Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 12:22:01.879000+00:00,162968,cli_ba8c3ca7011d4244a6959d307f7a5ffc,,2025-05-29 12:22:02.147000+00:00,turborepo,,,,,,,,,project_created,cli_ba8c3ca7011d4244a6959d307f7a5ffc,3ea9421b-0015-57ec-a736-b5297795755d,,posthog-node,2025-05-29 12:22:01.879000+00:00 +01971bf7-5435-75da-b85a-d4e362711ae3,project_created,darwin,bun,True,True,True,neon,2.14.1,node,orpc,v23.7.0,4.18.0,tanstack-start,drizzle,hono,postgres,True,posthog-node,2025-05-29T12:14:43.253Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 12:14:44.091000+00:00,162968,cli_71f9777868144586858a591d5937f89d,,2025-05-29 12:14:44.394000+00:00,turborepo,biome,,,,,,,,project_created,cli_71f9777868144586858a591d5937f89d,1d1a1b1f-8b0b-5229-ba5d-f770a7627725,,posthog-node,2025-05-29 12:14:44.091000+00:00 +01971bef-a0c8-7074-b93e-af47a8d709b1,project_created,darwin,bun,True,False,False,none,2.14.1,bun,orpc,v22.14.0,4.18.0,tanstack-start,prisma,elysia,postgres,True,posthog-node,2025-05-29T12:06:18.568Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 12:06:20.785000+00:00,162968,cli_9ffe5d9df22b4fe18428e35e83243cf2,,2025-05-29 12:06:26.425000+00:00,turborepo,,,todo,,,,,,project_created,cli_9ffe5d9df22b4fe18428e35e83243cf2,194050f8-89ab-5310-bfb0-6e4af9c37560,,posthog-node,2025-05-29 12:06:20.785000+00:00 +01971bd6-c12b-7fb7-a49c-0627c2f6c6bc,project_created,linux,bun,True,False,True,none,2.14.1,node,trpc,v22.15.1,4.18.0,next,none,next,none,False,posthog-node,2025-05-29T11:39:08.459Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 11:39:20.544000+00:00,162968,cli_22052388d22c467783f499384392750d,,2025-05-29 11:39:34.569000+00:00,turborepo,husky,biome,,,,native-nativewind,,,project_created,cli_22052388d22c467783f499384392750d,510f9e92-fc41-5f9e-8fc6-16a53fc98a95,,posthog-node,2025-05-29 11:39:20.544000+00:00 +01971bc5-30f2-7504-9fc1-c8cb54a23ab8,project_created,win32,pnpm,True,False,False,neon,2.14.1,node,trpc,v22.14.0,4.18.0,tanstack-router,prisma,hono,postgres,True,posthog-node,2025-05-29T11:19:57.427Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 11:19:59.048000+00:00,162968,cli_bcd1285ba95a4e67ae2a39e3a9c806cc,,2025-05-29 11:19:59.326000+00:00,,,,,,,native-nativewind,,,project_created,cli_bcd1285ba95a4e67ae2a39e3a9c806cc,db90a865-cff9-5399-8d2a-780e94dc274d,,posthog-node,2025-05-29 11:19:59.048000+00:00 +01971bb9-e851-75c8-b132-5ab163631225,project_created,win32,pnpm,True,False,True,neon,2.14.1,bun,trpc,v23.8.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-29T11:07:37.938Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 11:07:39.085000+00:00,162968,cli_4bcf4cbfaeee44698c606b06d5eec8c7,,2025-05-29 11:07:39.936000+00:00,turborepo,,,,,,,,,project_created,cli_4bcf4cbfaeee44698c606b06d5eec8c7,e11d4d66-6095-58ba-9940-e95c0bc9f179,,posthog-node,2025-05-29 11:07:39.085000+00:00 +01971bb8-933e-78ac-b2e6-18d5c8cdb320,project_created,win32,bun,True,False,True,neon,2.14.1,bun,trpc,v23.8.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-29T11:06:10.622Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 11:06:11.787000+00:00,162968,cli_adc16612e7dc46fd8e801374a0d17dba,,2025-05-29 11:06:12.076000+00:00,turborepo,,,,,,,,,project_created,cli_adc16612e7dc46fd8e801374a0d17dba,f92a1c0c-ea19-5bea-946c-6cd46ac69340,,posthog-node,2025-05-29 11:06:11.787000+00:00 +01971bb5-1461-7b5e-8b64-0b4265e4b836,project_created,win32,bun,True,False,False,neon,2.14.1,bun,trpc,v23.8.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-29T11:02:21.538Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 11:02:22.697000+00:00,162968,cli_ccb9b35d65654d57b87bbb04310dc817,,2025-05-29 11:02:23.102000+00:00,,,,,,,,,,project_created,cli_ccb9b35d65654d57b87bbb04310dc817,0b8d2a6d-7851-5519-9c7b-d7a37b077b5e,,posthog-node,2025-05-29 11:02:22.697000+00:00 +01971bb2-a446-718d-87e7-02e35949cd43,project_created,linux,bun,True,True,True,none,2.14.1,none,none,v22.15.1,4.18.0,next,none,none,none,False,posthog-node,2025-05-29T10:59:41.766Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 10:59:53.867000+00:00,162968,cli_43c7d8da41e84b11bea804dbf322c818,,2025-05-29 10:59:54.136000+00:00,turborepo,husky,biome,,,,native-nativewind,,,project_created,cli_43c7d8da41e84b11bea804dbf322c818,3b22fe68-3619-54e3-911d-14c333ec156c,,posthog-node,2025-05-29 10:59:53.867000+00:00 +01971ba7-3bbd-76ae-84c9-8a365c767021,project_created,darwin,bun,True,True,True,none,2.14.1,bun,none,v24.1.0,4.18.0,tanstack-start,drizzle,hono,sqlite,False,posthog-node,2025-05-29T10:47:14.109Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 10:47:15.470000+00:00,162968,cli_fe4ce65b946045a695ef3d2d435cd3a8,,2025-05-29 10:47:15.909000+00:00,biome,starlight,turborepo,,,,native-nativewind,,,project_created,cli_fe4ce65b946045a695ef3d2d435cd3a8,99b32c10-12fa-5504-85f0-f7f41e191d18,,posthog-node,2025-05-29 10:47:15.470000+00:00 +01971b9d-6ffb-7f61-87fb-ab14425b9a4d,project_created,darwin,pnpm,True,True,True,none,2.14.1,node,none,v23.11.0,4.18.0,next,none,next,postgres,True,posthog-node,2025-05-29T10:36:32.124Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 10:36:32.490000+00:00,162968,cli_c823fa6be5aa4598ac9db4e0f1d600fa,,2025-05-29 10:36:32.839000+00:00,biome,,,,,,,,,project_created,cli_c823fa6be5aa4598ac9db4e0f1d600fa,e3777db4-d7c5-5740-815f-dc8b06383b0c,,posthog-node,2025-05-29 10:36:32.490000+00:00 +01971b98-a458-7a75-8a45-bfa47446cc96,project_created,darwin,bun,True,False,False,none,2.14.1,bun,none,v23.9.0,4.18.0,,prisma,hono,postgres,True,posthog-node,2025-05-29T10:31:17.848Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 10:31:18.694000+00:00,162968,cli_c157f7b148e54722a3a93fcc97e19259,,2025-05-29 10:31:25.316000+00:00,biome,husky,turborepo,,,,,,,project_created,cli_c157f7b148e54722a3a93fcc97e19259,b1c77244-b9eb-5a21-aa1d-c8bd0321a3cf,,posthog-node,2025-05-29 10:31:18.694000+00:00 +01971b8b-0122-7d98-99ef-c5b676296f9a,project_created,darwin,pnpm,True,True,True,none,2.14.1,node,none,v22.12.0,4.18.0,next,none,next,none,False,posthog-node,2025-05-29T10:16:24.098Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 10:16:24.501000+00:00,162968,cli_fcac95855dd44d14a3603bd5083aead1,,2025-05-29 10:16:25.494000+00:00,biome,husky,turborepo,,,,,,,project_created,cli_fcac95855dd44d14a3603bd5083aead1,7c3118f2-81d3-5bbb-b860-3e79d9819f92,,posthog-node,2025-05-29 10:16:24.501000+00:00 +01971b8a-7ec7-7d6a-887b-ddb760fa22b0,project_created,linux,pnpm,True,True,True,neon,2.14.1,node,none,v23.11.0,4.18.0,next,drizzle,hono,postgres,True,posthog-node,2025-05-29T10:15:50.728Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 10:15:51.115000+00:00,162968,cli_429f5a88e4f0460c9c64bb337776c4ed,,2025-05-29 10:16:15.276000+00:00,biome,husky,starlight,,,turborepo,native-nativewind,,,project_created,cli_429f5a88e4f0460c9c64bb337776c4ed,a5548532-0aff-549b-9b55-85e1edb57839,,posthog-node,2025-05-29 10:15:51.115000+00:00 +01971b71-0781-7cd1-ae02-726bfb5fdea0,project_created,darwin,pnpm,True,True,True,none,2.14.1,node,none,v22.12.0,4.18.0,next,prisma,next,mongodb,True,posthog-node,2025-05-29T09:48:01.794Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 09:48:02.116000+00:00,162968,cli_78bfc47405d84504aff0dc511f532bb9,,2025-05-29 09:48:02.295000+00:00,turborepo,,,,,,,,,project_created,cli_78bfc47405d84504aff0dc511f532bb9,fd78d925-10a5-55fa-b227-fe57b23fdb2c,,posthog-node,2025-05-29 09:48:02.116000+00:00 +01971b6e-ffc5-7427-b317-535e389e3fe5,project_created,linux,pnpm,True,True,True,turso,2.14.1,node,trpc,v22.14.0,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-29T09:45:48.741Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 09:45:49.881000+00:00,162968,cli_fb3f7a7d3c41444fb841a9aa3108bb84,,2025-05-29 09:47:44.248000+00:00,pwa,biome,husky,todo,,tauri,,starlight,turborepo,project_created,cli_fb3f7a7d3c41444fb841a9aa3108bb84,41957167-93ff-5e4a-8dd2-f48ddb5e264b,,posthog-node,2025-05-29 09:45:49.881000+00:00 +01971b6c-309f-7360-a8d5-eb4005b6c61b,project_created,darwin,bun,True,True,True,none,2.14.1,none,none,v21.7.3,4.18.0,tanstack-start,none,none,none,False,posthog-node,2025-05-29T09:42:44.64Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 09:42:47.547000+00:00,162968,cli_68796524e7a042fca67d0117392428b6,,2025-05-29 09:43:04.887000+00:00,biome,,,,,,,,,project_created,cli_68796524e7a042fca67d0117392428b6,b181853b-269f-5f95-a101-86ca7fd7e398,,posthog-node,2025-05-29 09:42:47.547000+00:00 +01971b35-b73a-7552-b6bd-d8433ee1a793,project_created,linux,pnpm,True,True,True,none,2.14.1,none,none,v23.6.1,4.18.0,,none,none,none,False,posthog-node,2025-05-29T08:43:14.618Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 08:43:14.248000+00:00,162968,cli_fcaa421d3b504dacbf2cd40f44b02d25,,2025-05-29 08:43:24.546000+00:00,biome,husky,turborepo,,,,,,,project_created,cli_fcaa421d3b504dacbf2cd40f44b02d25,bef5747c-2391-5707-80b7-652f9681f933,,posthog-node,2025-05-29 08:43:14.248000+00:00 +01971b34-f913-74d0-ac0f-ee4dd946c0f6,project_created,linux,pnpm,True,True,True,none,2.14.1,none,none,v23.6.1,4.18.0,,none,none,none,False,posthog-node,2025-05-29T08:42:25.939Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 08:42:22.629000+00:00,162968,cli_07d623b39928496fa242c9a426ed752d,,2025-05-29 08:42:25.617000+00:00,biome,husky,turborepo,,,,,,,project_created,cli_07d623b39928496fa242c9a426ed752d,b7b4d1ce-c5d3-5c13-94c0-163f1197d77b,,posthog-node,2025-05-29 08:42:22.629000+00:00 +01971b29-3522-7f36-a2c5-78ca79e144a2,project_created,darwin,pnpm,True,True,True,none,2.14.1,node,trpc,v22.14.0,4.18.0,tanstack-start,drizzle,hono,postgres,True,posthog-node,2025-05-29T08:29:34.882Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 08:29:35.213000+00:00,162968,cli_c9486aa45c1f4d4dbd305bbc4517ff86,,2025-05-29 08:29:35.525000+00:00,turborepo,,,todo,,,native-nativewind,,,project_created,cli_c9486aa45c1f4d4dbd305bbc4517ff86,8aa08313-af48-5d54-b394-8c0fad59c79c,,posthog-node,2025-05-29 08:29:35.213000+00:00 +01971b21-df42-7f7e-a3b3-9d895705e18e,project_created,darwin,bun,True,True,True,none,2.14.1,bun,trpc,v23.11.0,4.18.0,next,prisma,next,mongodb,False,posthog-node,2025-05-29T08:21:34.146Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 08:21:34.838000+00:00,162968,cli_abaa694873024fe387417c6d3fbc638a,,2025-05-29 08:21:35.031000+00:00,turborepo,,,,,,,,,project_created,cli_abaa694873024fe387417c6d3fbc638a,a41d7102-fc3d-5757-8d8b-49a7fd18841c,,posthog-node,2025-05-29 08:21:34.838000+00:00 +01971ae5-883c-7eff-aa13-6291bf63f415,project_created,linux,npm,True,True,False,none,2.14.1,node,orpc,v22.14.0,4.18.0,svelte,drizzle,express,postgres,True,posthog-node,2025-05-29T07:15:39.708Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 07:15:40.340000+00:00,162968,cli_bf5828f798a1497fbd0b8058a41c7efa,,2025-05-29 07:15:42.035000+00:00,turborepo,,,todo,ai,,,,,project_created,cli_bf5828f798a1497fbd0b8058a41c7efa,9cce6c0e-2fc4-5c74-9344-cc567d3f644f,,posthog-node,2025-05-29 07:15:40.340000+00:00 +01971ae2-fd7d-7cb7-83b3-5a098cce1ac0,project_created,darwin,bun,True,True,True,none,2.14.1,bun,none,v22.14.0,4.18.0,next,drizzle,hono,postgres,True,posthog-node,2025-05-29T07:12:53.117Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 07:12:54.024000+00:00,162968,cli_a96ce386ce3b4b5c8309493d78ec3c48,,2025-05-29 07:12:54.272000+00:00,husky,pwa,starlight,,,turborepo,native-nativewind,,,project_created,cli_a96ce386ce3b4b5c8309493d78ec3c48,d5f110c1-12f9-547a-8fb7-54b595826ded,,posthog-node,2025-05-29 07:12:54.024000+00:00 +01971abd-69b8-753d-983a-1d903296669b,project_created,darwin,bun,True,False,False,none,2.14.1,bun,orpc,v23.9.0,4.18.0,,prisma,hono,postgres,True,posthog-node,2025-05-29T06:31:50.456Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 06:31:51.336000+00:00,162968,cli_fefee43476cf4c1f8dfb8b3a8e086454,,2025-05-29 06:31:52.089000+00:00,biome,husky,turborepo,,,,,,,project_created,cli_fefee43476cf4c1f8dfb8b3a8e086454,e77ba335-38ab-5151-9a24-7d4b73623c58,,posthog-node,2025-05-29 06:31:51.336000+00:00 +01971aa2-89b9-73d7-baa0-d5d9ad3ec2d2,project_created,darwin,bun,True,True,True,none,2.14.1,bun,orpc,v22.13.1,4.18.0,tanstack-start,drizzle,hono,sqlite,True,posthog-node,2025-05-29T06:02:29.177Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 06:02:37.897000+00:00,162968,cli_80cbfb4b92b949488e4f78d4c753af09,,2025-05-29 06:02:38.456000+00:00,biome,,,ai,,,native-unistyles,,,project_created,cli_80cbfb4b92b949488e4f78d4c753af09,00cb469b-f19e-5cb1-8fbc-6477c266f2f7,,posthog-node,2025-05-29 06:02:37.897000+00:00 +01971a9c-060d-77e2-aaeb-08cf24236f00,project_created,win32,bun,True,True,True,none,2.14.1,node,orpc,v20.19.0,4.18.0,next,prisma,hono,postgres,True,posthog-node,2025-05-29T05:55:22.254Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 05:55:56.147000+00:00,162968,cli_9af8c6c52d4249ecbddd7d0fa6d56f24,,2025-05-29 05:55:56.372000+00:00,biome,husky,starlight,,,turborepo,native-nativewind,,,project_created,cli_9af8c6c52d4249ecbddd7d0fa6d56f24,b11bea08-d603-5ce2-86ce-419b18f77ac1,,posthog-node,2025-05-29 05:55:56.147000+00:00 +01971a9a-3847-7455-ac6c-26c39b8f2955,project_created,win32,bun,True,True,True,none,2.14.1,node,orpc,v20.19.0,4.18.0,next,prisma,hono,postgres,True,posthog-node,2025-05-29T05:53:24.039Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 05:53:57.902000+00:00,162968,cli_8635aa6808054b66ae10dc20b76c2773,,2025-05-29 05:53:58.059000+00:00,biome,husky,starlight,,,turborepo,native-nativewind,,,project_created,cli_8635aa6808054b66ae10dc20b76c2773,5712c374-0c8c-5cd2-ae17-fba399f35d0f,,posthog-node,2025-05-29 05:53:57.902000+00:00 +01971a8c-c420-7211-b7a4-c887b9976850,project_created,win32,bun,True,False,True,none,2.14.1,bun,orpc,v22.15.0,4.18.0,next,drizzle,hono,postgres,True,posthog-node,2025-05-29T05:38:42.337Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 05:38:42.778000+00:00,162968,cli_22ba065c8f75409197470dc0abcb1ab1,,2025-05-29 05:38:43.211000+00:00,pwa,,,,,,,,,project_created,cli_22ba065c8f75409197470dc0abcb1ab1,89eb61f6-2d4c-55c1-8022-744077c05e7a,,posthog-node,2025-05-29 05:38:42.778000+00:00 +01971a7a-848e-7331-bb36-ceaaafe42d79,project_created,linux,bun,True,False,True,none,2.14.1,bun,orpc,v22.14.0,4.18.0,next,drizzle,next,sqlite,True,posthog-node,2025-05-29T05:18:46.415Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 05:18:49.216000+00:00,162968,cli_f12f5f67cfdc4ebaaf7f4bd9d0909936,,2025-05-29 05:18:49.890000+00:00,biome,husky,pwa,todo,,starlight,,tauri,turborepo,project_created,cli_f12f5f67cfdc4ebaaf7f4bd9d0909936,1ec1ac39-7456-5d05-980f-53a70db6f5fb,,posthog-node,2025-05-29 05:18:49.216000+00:00 +01971a77-2371-780d-b2be-a9f9a3da1332,project_created,win32,pnpm,True,True,True,none,2.14.0,node,trpc,v22.14.0,4.18.0,next,drizzle,hono,sqlite,False,posthog-node,2025-05-29T05:15:04.946Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 05:15:05.581000+00:00,162968,cli_1748495704939_15dac8e61a244b6ea3d8dc51dbd397a1,,2025-05-29 05:15:05.862000+00:00,turborepo,,,todo,,,,,,project_created,cli_1748495704939_15dac8e61a244b6ea3d8dc51dbd397a1,a9a51e28-1c4a-5d48-bde4-2136dc9f5f61,,posthog-node,2025-05-29 05:15:05.581000+00:00 +01971a5f-532f-7f4c-ba17-be491a9eef12,project_created,darwin,npm,True,True,True,neon,2.14.1,node,orpc,v23.7.0,4.18.0,tanstack-start,drizzle,hono,postgres,True,posthog-node,2025-05-29T04:49:04.303Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 04:49:06.351000+00:00,162968,cli_b08bd657e8b24bd9a99a6b12d2d96932,,2025-05-29 04:49:08.692000+00:00,turborepo,biome,,,,,,,,project_created,cli_b08bd657e8b24bd9a99a6b12d2d96932,94951206-06d7-5517-84b9-98aa9186f5c7,,posthog-node,2025-05-29 04:49:06.351000+00:00 +01971a56-2548-7a9e-a8a2-c9148038e463,project_created,darwin,pnpm,True,False,True,none,2.14.1,bun,none,v22.15.0,4.18.0,tanstack-router,none,hono,postgres,True,posthog-node,2025-05-29T04:39:02.728Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 04:39:04.846000+00:00,162968,cli_45c0b5880c6a41c69b3027860b40723f,,2025-05-29 04:39:05.026000+00:00,biome,starlight,tauri,,,,native-nativewind,,,project_created,cli_45c0b5880c6a41c69b3027860b40723f,feeebe84-ed71-51e1-8ed8-d8b576032b9e,,posthog-node,2025-05-29 04:39:04.846000+00:00 +01971a2f-3e91-7b6a-82ca-6f7db98a0da0,project_created,darwin,bun,True,True,True,none,2.14.0,bun,orpc,v22.14.0,4.18.0,tanstack-router,drizzle,hono,mysql,True,posthog-node,2025-05-29T03:56:33.297Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 03:56:33.598000+00:00,162968,cli_1748490993295_c8ade56ee0124c5a8927d820c1500e8c,,2025-05-29 03:56:33.824000+00:00,turborepo,,,todo,,,,,,project_created,cli_1748490993295_c8ade56ee0124c5a8927d820c1500e8c,110973f3-8660-5291-9507-d25558aecb2b,,posthog-node,2025-05-29 03:56:33.598000+00:00 +01971a23-b00b-7ff3-93b2-b485fcb063cb,project_created,darwin,bun,True,True,True,none,2.14.0,bun,trpc,v23.9.0,4.18.0,next,none,next,none,False,posthog-node,2025-05-29T03:43:55.915Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 03:43:57.717000+00:00,162968,cli_1748490235912_6569285093594054afbbee561c883404,,2025-05-29 03:43:58.076000+00:00,,,,ai,,,,,,project_created,cli_1748490235912_6569285093594054afbbee561c883404,395e768d-4f4c-59e8-8c5e-b600021c2040,,posthog-node,2025-05-29 03:43:57.717000+00:00 +01971a0a-6e9e-7bb9-beca-cfc72fb2d65b,project_created,darwin,bun,True,True,True,none,2.14.0,bun,trpc,v23.8.0,4.18.0,next,drizzle,hono,postgres,True,posthog-node,2025-05-29T03:16:20.767Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 03:16:22.132000+00:00,162968,cli_1748488580762_b3f80415fb424779ba9203d8191966f3,,2025-05-29 03:16:24.709000+00:00,turborepo,biome,,todo,ai,,,,,project_created,cli_1748488580762_b3f80415fb424779ba9203d8191966f3,34d19e1e-961f-566a-acaf-84dcbcc292c6,,posthog-node,2025-05-29 03:16:22.132000+00:00 +01971a03-24c9-758b-9d32-6624c006bfe1,project_created,darwin,bun,True,True,True,none,2.14.0,bun,orpc,v20.10.0,4.18.0,next,prisma,hono,sqlite,True,posthog-node,2025-05-29T03:08:23.114Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 03:08:24.795000+00:00,162968,cli_1748488103108_05ee45ab206b4d5dbbaaa8bf545d8fc1,,2025-05-29 03:08:26.482000+00:00,turborepo,biome,husky,todo,,,,,,project_created,cli_1748488103108_05ee45ab206b4d5dbbaaa8bf545d8fc1,f2ec1a10-b40e-5d27-8f9e-50d94eedf23d,,posthog-node,2025-05-29 03:08:24.795000+00:00 +019719f3-81ad-75dd-bd85-f72f4237efa3,project_created,darwin,bun,True,True,True,mongodb-atlas,2.14.0,bun,orpc,v20.10.0,4.18.0,next,prisma,hono,mongodb,True,posthog-node,2025-05-29T02:51:18.318Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 02:51:19.464000+00:00,162968,cli_1748487078309_5c640be448cc4f4f97804caf67ba2358,,2025-05-29 02:51:19.748000+00:00,turborepo,biome,husky,todo,,,native-nativewind,,,project_created,cli_1748487078309_5c640be448cc4f4f97804caf67ba2358,57075098-2318-5b43-ab52-98c4866e52f1,,posthog-node,2025-05-29 02:51:19.464000+00:00 +019719c8-6e0f-7b4b-9197-41700805927d,project_created,darwin,bun,True,True,True,none,2.14.0,none,none,v23.11.0,4.18.0,next,none,convex,none,False,posthog-node,2025-05-29T02:04:15.248Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 02:04:15.403000+00:00,162968,cli_1748484255242_2f815d5bd899445e8e645264ebee635a,,2025-05-29 02:04:15.684000+00:00,biome,turborepo,,todo,,,native-nativewind,,,project_created,cli_1748484255242_2f815d5bd899445e8e645264ebee635a,6a1d1b46-c197-5a75-a6d1-076acd409f8c,,posthog-node,2025-05-29 02:04:15.403000+00:00 +0197199c-9e23-7cf3-8c5c-aaf0fa978216,project_created,linux,bun,True,True,True,none,2.14.0,bun,orpc,v22.15.0,4.18.0,native-nativewind,drizzle,elysia,postgres,True,posthog-node,2025-05-29T01:16:23.971Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 01:16:24.187000+00:00,162968,cli_1748481383966_7f300ae71cd04c918d5745cf36076306,,2025-05-29 01:16:24.379000+00:00,biome,husky,turborepo,,,,,,,project_created,cli_1748481383966_7f300ae71cd04c918d5745cf36076306,70bafac6-b6c3-59c1-97b7-c32524f84f23,,posthog-node,2025-05-29 01:16:24.187000+00:00 +01971995-228f-7eb8-baa6-7fc0900f7b15,project_created,darwin,bun,True,True,True,none,2.14.0,none,none,v23.11.0,4.18.0,tanstack-router,none,convex,none,False,posthog-node,2025-05-29T01:08:13.584Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 01:08:13.786000+00:00,162968,cli_1748480893580_b3f162f927874a548ff9e56d3021d7e4,,2025-05-29 01:08:14.002000+00:00,biome,husky,turborepo,todo,,,,,,project_created,cli_1748480893580_b3f162f927874a548ff9e56d3021d7e4,51d17e83-8ad0-5db2-bbfd-f6d2b8f67ea4,,posthog-node,2025-05-29 01:08:13.786000+00:00 +01971994-a575-70ab-b2b5-fe50933c530d,project_created,darwin,bun,True,True,True,none,2.14.0,none,none,v23.11.0,4.18.0,tanstack-router,none,convex,none,False,posthog-node,2025-05-29T01:07:41.557Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 01:07:41.774000+00:00,162968,cli_1748480861554_6e28ddfac8e64a2d92d8bf583b4fb322,,2025-05-29 01:07:42.014000+00:00,turborepo,,,todo,,,,,,project_created,cli_1748480861554_6e28ddfac8e64a2d92d8bf583b4fb322,76fd92dd-7d03-55dd-96ed-a86d9a137f5e,,posthog-node,2025-05-29 01:07:41.774000+00:00 +01971988-b1b4-750f-b4e9-4aa2af85eb1a,project_created,linux,bun,True,True,True,turso,2.14.0,bun,trpc,v22.4.1,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-29T00:54:38.261Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 00:54:37.966000+00:00,162968,cli_1748480078253_63501860a5bc4ebf85eb45deef03fae2,,2025-05-29 00:54:38.503000+00:00,biome,husky,pwa,todo,,turborepo,,,,project_created,cli_1748480078253_63501860a5bc4ebf85eb45deef03fae2,c94e2788-e6ba-508c-8a3f-18708c455ae1,,posthog-node,2025-05-29 00:54:37.966000+00:00 +01971986-5fdf-7c19-8eb8-71a333eab781,project_created,linux,bun,True,True,True,turso,2.14.0,bun,trpc,v22.4.1,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-29T00:52:06.24Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-29 00:52:06.004000+00:00,162968,cli_1748479926220_bc5e0e8d0847484a97c1de2e3ec9c81d,,2025-05-29 00:52:06.297000+00:00,biome,husky,pwa,todo,,turborepo,,,,project_created,cli_1748479926220_bc5e0e8d0847484a97c1de2e3ec9c81d,d3120459-8f0e-536f-923f-d7ba548a5f42,,posthog-node,2025-05-29 00:52:06.004000+00:00 +01971954-a21b-7c80-90d7-93c0e6dc2438,project_created,linux,pnpm,True,True,True,none,2.14.0,node,trpc,v22.15.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-28T23:57:46.395Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 23:57:46.791000+00:00,162968,cli_1748476666392_ce71dec8306448bb8ec657ab842dd5e6,,2025-05-28 23:57:47.015000+00:00,biome,husky,turborepo,,,,,,,project_created,cli_1748476666392_ce71dec8306448bb8ec657ab842dd5e6,960b3a14-747f-5a62-b63d-c1e02230e77c,,posthog-node,2025-05-28 23:57:46.791000+00:00 +0197193f-0d08-7a7b-9ac6-fda72eb3a941,project_created,linux,pnpm,True,False,False,none,2.14.0,node,trpc,v22.14.0,4.18.0,tanstack-router,prisma,hono,postgres,True,posthog-node,2025-05-28T23:34:11.977Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 23:34:15.037000+00:00,162968,cli_1748475251971_1decaab3c0774842b7be410f486e76d5,,2025-05-28 23:34:40.753000+00:00,turborepo,,,,,,,,,project_created,cli_1748475251971_1decaab3c0774842b7be410f486e76d5,4bbc92bb-6d23-5a5e-ba65-5c4887162867,,posthog-node,2025-05-28 23:34:15.037000+00:00 +01971937-c88e-7e59-85a4-e6a04884558b,project_created,linux,pnpm,True,True,True,none,2.14.0,node,trpc,v22.15.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-28T23:26:15.695Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 23:26:16.269000+00:00,162968,cli_1748474775691_6c291a11af7949848781272f6f8a24f7,,2025-05-28 23:26:16.611000+00:00,biome,husky,turborepo,,,,,,,project_created,cli_1748474775691_6c291a11af7949848781272f6f8a24f7,8d74f527-5a90-5177-a06f-c47f1625c4bb,,posthog-node,2025-05-28 23:26:16.269000+00:00 +01971922-db4f-79d7-86a8-47bdea45138e,project_created,darwin,bun,True,True,True,none,2.14.0,none,none,v20.10.0,4.18.0,tanstack-start,none,convex,none,False,posthog-node,2025-05-28T23:03:24.24Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 23:03:24.715000+00:00,162968,cli_1748473404237_77a2c1f283e145fca339013087a57258,,2025-05-28 23:03:25.145000+00:00,biome,husky,tauri,todo,,turborepo,native-nativewind,,,project_created,cli_1748473404237_77a2c1f283e145fca339013087a57258,d9874717-0172-5017-8a41-2304e6757d40,,posthog-node,2025-05-28 23:03:24.715000+00:00 +0197191d-778c-71f8-bb81-1ea55cc330ec,project_created,win32,pnpm,True,True,True,none,2.14.0,node,trpc,v22.14.0,4.18.0,next,drizzle,hono,postgres,False,posthog-node,2025-05-28T22:57:31.021Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 22:57:32.419000+00:00,162968,cli_1748473051014_b49ae30857c64ea18d0305cb25a35cba,,2025-05-28 22:57:32.713000+00:00,turborepo,,,ai,todo,,,,,project_created,cli_1748473051014_b49ae30857c64ea18d0305cb25a35cba,7f5a4284-da39-5f35-a0a3-d3cb1b2e85c4,,posthog-node,2025-05-28 22:57:32.419000+00:00 +01971913-132b-73c0-82b9-a8481f51ac7d,project_created,darwin,bun,True,True,True,none,2.14.0,bun,trpc,v20.17.0,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-28T22:46:09.963Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 22:46:10.363000+00:00,162968,cli_1748472369957_15b52ed604984bfb817db56570830c02,,2025-05-28 22:46:10.550000+00:00,turborepo,,,,,,,,,project_created,cli_1748472369957_15b52ed604984bfb817db56570830c02,2f4aae10-1be6-5073-95b5-de1483173e1b,,posthog-node,2025-05-28 22:46:10.363000+00:00 +019718f6-594b-7365-82e3-3d0686545d8b,project_created,win32,bun,True,True,True,none,2.14.0,none,none,v22.15.1,4.18.0,tanstack-start,none,none,none,False,posthog-node,2025-05-28T22:14:47.372Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 22:14:47.197000+00:00,162968,cli_1748470487368_50d1a1244c8f4337a1467a560ba69280,,2025-05-28 22:14:47.473000+00:00,turborepo,,,,,,,,,project_created,cli_1748470487368_50d1a1244c8f4337a1467a560ba69280,70c7a5ca-4cfa-52d4-b515-74d0514eb418,,posthog-node,2025-05-28 22:14:47.197000+00:00 +019718f5-7cb1-76ea-a2e1-aa1274878004,project_created,linux,pnpm,True,True,True,none,2.14.0,none,none,v22.16.0,4.18.0,tanstack-start,none,convex,none,False,posthog-node,2025-05-28T22:13:50.897Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 22:13:51.263000+00:00,162968,cli_1748470430887_020af2c332ac431380ae9c090ad359c9,,2025-05-28 22:13:51.440000+00:00,biome,turborepo,,todo,,,,,,project_created,cli_1748470430887_020af2c332ac431380ae9c090ad359c9,06a3d964-5818-5a3d-aba8-4d742d0e4fa4,,posthog-node,2025-05-28 22:13:51.263000+00:00 +019718e3-053d-777d-97ac-8c261c6f0278,project_created,linux,pnpm,True,True,True,none,2.14.0,none,none,v23.6.1,4.18.0,tanstack-start,none,none,none,False,posthog-node,2025-05-28T21:53:40.67Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 21:53:40.516000+00:00,162968,cli_1748469220667_7a869fee90e94ca2a8d073141ae2a04e,,2025-05-28 21:53:41.798000+00:00,biome,husky,turborepo,,,,,,,project_created,cli_1748469220667_7a869fee90e94ca2a8d073141ae2a04e,1d25a277-ceeb-58e2-b7c9-98100f7747ce,,posthog-node,2025-05-28 21:53:40.516000+00:00 +019718de-1db1-771e-908b-da4cb1f29bf5,project_created,win32,bun,True,True,True,none,2.14.0,bun,trpc,v22.14.0,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-28T21:48:19.249Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 21:48:21.888000+00:00,162968,cli_1748468899240_0875559569a044a1a63ee9b164e1b6c0,,2025-05-28 21:48:22.144000+00:00,starlight,,,,,,,,,project_created,cli_1748468899240_0875559569a044a1a63ee9b164e1b6c0,48313cf4-bd8b-5f1d-911e-8967914631f8,,posthog-node,2025-05-28 21:48:21.888000+00:00 +019718d0-b8cb-7887-b834-9c676ba87c0a,project_created,linux,pnpm,True,True,True,none,2.14.0,none,none,v23.6.1,4.18.0,tanstack-start,none,none,none,False,posthog-node,2025-05-28T21:33:41.451Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 21:33:41.805000+00:00,162968,cli_1748468021445_a6045939111f42748aee3724dc7fa0de,,2025-05-28 21:33:42.160000+00:00,biome,husky,turborepo,,,,,,,project_created,cli_1748468021445_a6045939111f42748aee3724dc7fa0de,0c8040d4-27f3-58e4-b5c8-8967ec7d13f9,,posthog-node,2025-05-28 21:33:41.805000+00:00 +019718c9-75d6-708c-8e23-da9dbb22c6d0,project_created,darwin,bun,True,False,False,none,2.14.0,none,none,v23.11.0,4.18.0,svelte,none,convex,none,False,posthog-node,2025-05-28T21:25:45.558Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 21:25:46.109000+00:00,162968,cli_1748467545556_72fcfc4302504a68b0de9948e53d37ef,,2025-05-28 21:25:46.445000+00:00,biome,husky,turborepo,todo,,,native-nativewind,,,project_created,cli_1748467545556_72fcfc4302504a68b0de9948e53d37ef,0c03ab93-8f50-5c6f-b508-613df6d2527c,,posthog-node,2025-05-28 21:25:46.109000+00:00 +019718b7-4e48-7ff9-a285-7185668fd6a9,project_created,darwin,pnpm,True,False,True,turso,2.14.0,node,trpc,v22.14.0,4.18.0,next,drizzle,hono,sqlite,True,posthog-node,2025-05-28T21:05:55.784Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 21:05:56.159000+00:00,162968,cli_1748466355781_a76dcc2a4e244e309080f71bb1035ae9,,2025-05-28 21:05:56.657000+00:00,turborepo,,,,,,,,,project_created,cli_1748466355781_a76dcc2a4e244e309080f71bb1035ae9,bb558683-5bb7-5429-ba8a-05c3aec08845,,posthog-node,2025-05-28 21:05:56.159000+00:00 +019718b5-99b3-7062-9f29-ee95277d911c,project_created,darwin,bun,True,False,True,none,2.14.0,bun,trpc,v22.14.0,4.18.0,next,prisma,hono,sqlite,True,posthog-node,2025-05-28T21:04:04.02Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 21:04:04.393000+00:00,162968,cli_1748466244017_616761878bde4993a5889481c68ed8c2,,2025-05-28 21:04:14.207000+00:00,turborepo,,,,,,,,,project_created,cli_1748466244017_616761878bde4993a5889481c68ed8c2,464b92b3-146b-5aab-b211-a7c97c4d7838,,posthog-node,2025-05-28 21:04:04.393000+00:00 +019718a4-b153-7e33-beda-0c30901cd042,project_created,win32,pnpm,True,False,True,neon,2.14.0,bun,trpc,v22.5.1,4.18.0,tanstack-router,drizzle,hono,postgres,False,posthog-node,2025-05-28T20:45:35.956Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 20:45:40.193000+00:00,162968,cli_1748465135946_06d5b90ceb9b44658ab06df16b07183f,,2025-05-28 20:45:40.782000+00:00,biome,turborepo,,,,,,,,project_created,cli_1748465135946_06d5b90ceb9b44658ab06df16b07183f,9a441042-f1d3-54d2-8e50-6851a07fb5e2,,posthog-node,2025-05-28 20:45:40.193000+00:00 +0197189d-e64c-7257-9709-76d2e2d5afcf,project_created,win32,bun,True,True,True,none,2.14.0,bun,orpc,v22.14.0,4.18.0,next,prisma,hono,postgres,True,posthog-node,2025-05-28T20:38:10.764Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 20:38:12.160000+00:00,162968,cli_1748464690758_47911f0c23a0496c89769360649980d7,,2025-05-28 20:38:12.463000+00:00,husky,starlight,turborepo,,,,native-nativewind,,,project_created,cli_1748464690758_47911f0c23a0496c89769360649980d7,c471bdbc-b82a-5a03-8a07-a5fb4a3affb2,,posthog-node,2025-05-28 20:38:12.160000+00:00 +01971894-5e0a-7ff9-8804-f3dfea3f0073,project_created,darwin,pnpm,True,False,True,turso,2.14.0,node,trpc,v22.14.0,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-28T20:27:46.058Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 20:27:46.440000+00:00,162968,cli_1748464066055_fdd72f54e9c64ba3ae616b2eb864119c,,2025-05-28 20:27:46.714000+00:00,turborepo,,,,,,,,,project_created,cli_1748464066055_fdd72f54e9c64ba3ae616b2eb864119c,f247da36-27c9-5a7a-873c-87303045da85,,posthog-node,2025-05-28 20:27:46.440000+00:00 +01971894-3e93-79a7-820e-33fd39d64cb4,project_created,darwin,bun,True,True,True,none,2.14.0,bun,trpc,v22.13.1,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-28T20:27:38.003Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 20:27:40.250000+00:00,162968,cli_1748464058001_1df6b7bfece94cb89d54860cd3a5580f,,2025-05-28 20:30:30.338000+00:00,biome,husky,turborepo,todo,,,,,,project_created,cli_1748464058001_1df6b7bfece94cb89d54860cd3a5580f,9e3b1329-9998-5446-abda-a9636866339c,,posthog-node,2025-05-28 20:27:40.250000+00:00 +01971890-9b68-7c99-8207-08f27705fa8c,project_created,darwin,bun,True,False,True,none,2.14.0,bun,trpc,v22.14.0,4.18.0,tanstack-router,prisma,hono,sqlite,True,posthog-node,2025-05-28T20:23:39.624Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 20:23:39.995000+00:00,162968,cli_1748463819621_3062d3459e594ec58764dbb92262d5a5,,2025-05-28 20:23:42.852000+00:00,turborepo,,,,,,,,,project_created,cli_1748463819621_3062d3459e594ec58764dbb92262d5a5,f31e73b1-361e-590e-837e-dee49be85ce0,,posthog-node,2025-05-28 20:23:39.995000+00:00 +0197188c-7d2a-7f69-b1fc-23de179eba4d,project_created,darwin,bun,True,True,True,none,2.14.0,bun,trpc,v22.13.1,4.18.0,tanstack-router,drizzle,hono,postgres,True,posthog-node,2025-05-28T20:19:09.739Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 20:19:10.445000+00:00,162968,cli_1748463549736_d17e8cb4310a4ee3b001d1083fb4b9da,,2025-05-28 20:19:11.709000+00:00,turborepo,,,todo,,,,,,project_created,cli_1748463549736_d17e8cb4310a4ee3b001d1083fb4b9da,c6cbab86-dba9-5be6-b2f1-07ed15b091a1,,posthog-node,2025-05-28 20:19:10.445000+00:00 +0197188b-d7e5-7c78-a7fb-1878e9be4eff,project_created,darwin,bun,True,False,True,none,2.14.0,none,none,v22.14.0,4.18.0,next,none,none,none,False,posthog-node,2025-05-28T20:18:27.429Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 20:18:27.806000+00:00,162968,cli_1748463507427_43079840919b4094ad4ef6b6e0a42aa0,,2025-05-28 20:18:31.549000+00:00,turborepo,,,,,,,,,project_created,cli_1748463507427_43079840919b4094ad4ef6b6e0a42aa0,09f24890-4017-5006-914d-5d403e8aaf9c,,posthog-node,2025-05-28 20:18:27.806000+00:00 +01971885-6f46-79e7-a23c-42c136320799,project_created,darwin,bun,True,False,True,none,2.14.0,node,trpc,v22.14.0,4.18.0,next,prisma,next,sqlite,True,posthog-node,2025-05-28T20:11:27.431Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 20:11:27.834000+00:00,162968,cli_1748463087427_0b1d5100b036433e830cedd95eea1cae,,2025-05-28 20:11:31.101000+00:00,turborepo,,,,,,,,,project_created,cli_1748463087427_0b1d5100b036433e830cedd95eea1cae,102abf3b-72e0-536f-b6f4-dc95dd1ede5c,,posthog-node,2025-05-28 20:11:27.834000+00:00 +01971878-d98b-7386-a32b-452732b233e8,project_created,win32,bun,True,True,True,supabase,2.14.0,bun,orpc,v20.18.1,4.18.0,next,prisma,hono,postgres,True,posthog-node,2025-05-28T19:57:42.667Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 19:57:40.860000+00:00,162968,cli_1748462262663_94a3458699e3498b82a7644b172e9dcd,,2025-05-28 19:57:41.147000+00:00,turborepo,,,,,,,,,project_created,cli_1748462262663_94a3458699e3498b82a7644b172e9dcd,57798107-efdd-57d5-9f05-ced43bda34d7,,posthog-node,2025-05-28 19:57:40.860000+00:00 +01971876-18cf-714a-bc7e-d2749222db04,project_created,win32,bun,True,True,True,supabase,2.14.0,bun,orpc,v20.18.1,4.18.0,svelte,prisma,hono,postgres,True,posthog-node,2025-05-28T19:54:42.255Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 19:54:40.466000+00:00,162968,cli_1748462082251_2992c46e9a1d47ec9d591fd9dd58ea23,,2025-05-28 19:54:41.271000+00:00,turborepo,,,ai,,,,,,project_created,cli_1748462082251_2992c46e9a1d47ec9d591fd9dd58ea23,3266f01f-57f5-5e6d-a17b-4abdf445e20d,,posthog-node,2025-05-28 19:54:40.466000+00:00 +01971873-cdd6-762f-89f4-8805cc72101b,project_created,linux,bun,True,True,True,none,2.14.0,bun,trpc,v24.1.0,4.18.0,tanstack-router,prisma,hono,sqlite,True,posthog-node,2025-05-28T19:52:11.99Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 19:52:14.063000+00:00,162968,cli_1748461931987_8e048ff8368d46e6b2b180b349ef3a37,,2025-05-28 19:52:16.156000+00:00,turborepo,,,todo,,,native-nativewind,,,project_created,cli_1748461931987_8e048ff8368d46e6b2b180b349ef3a37,de374f51-a0b4-5745-b450-ee078c84ee3d,,posthog-node,2025-05-28 19:52:14.063000+00:00 +01971865-9e6d-7784-8b12-bb327e0e5a2b,project_created,darwin,npm,True,True,True,none,2.14.0,none,none,v20.9.0,4.18.0,tanstack-start,none,convex,none,False,posthog-node,2025-05-28T19:36:42.35Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 19:36:43.362000+00:00,162968,cli_1748461002346_431e4b707edb42d6a825478e51999c6a,,2025-05-28 19:36:43.999000+00:00,biome,husky,turborepo,todo,,,native-nativewind,,,project_created,cli_1748461002346_431e4b707edb42d6a825478e51999c6a,09ab3895-f414-5d45-a988-2a014e7877a3,,posthog-node,2025-05-28 19:36:43.362000+00:00 +01971861-7b51-7f56-9b12-9648b9a7f9b7,project_created,darwin,pnpm,True,True,True,neon,2.14.0,node,orpc,v22.15.0,4.18.0,next,drizzle,fastify,postgres,True,posthog-node,2025-05-28T19:32:11.217Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 19:32:11.548000+00:00,162968,cli_1748460731215_f38b8daa09fc406a85e421de057f5282,,2025-05-28 19:32:13.475000+00:00,turborepo,,,ai,,,,,,project_created,cli_1748460731215_f38b8daa09fc406a85e421de057f5282,989f6674-1b72-5871-94ad-7f40f5c27347,,posthog-node,2025-05-28 19:32:11.548000+00:00 +01971860-2968-7546-9465-ecf555a7b770,project_created,darwin,pnpm,True,True,True,neon,2.14.0,node,orpc,v22.15.0,4.18.0,next,drizzle,fastify,postgres,True,posthog-node,2025-05-28T19:30:44.712Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 19:30:45.040000+00:00,162968,cli_1748460644711_9968a491a413492c9e6f799e6208f1e9,,2025-05-28 19:30:45.489000+00:00,turborepo,,,ai,,,,,,project_created,cli_1748460644711_9968a491a413492c9e6f799e6208f1e9,5ad399e0-fd20-5dc1-b22d-e25efc8cdcb2,,posthog-node,2025-05-28 19:30:45.040000+00:00 +0197185b-845b-72d1-a4ed-dfbac13ce70a,project_created,darwin,bun,True,True,True,turso,2.14.0,bun,orpc,v22.14.0,4.18.0,solid,drizzle,hono,sqlite,True,posthog-node,2025-05-28T19:25:40.315Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 19:25:41.058000+00:00,162968,cli_1748460340309_03bed828cee941f7b0317d09610bb429,,2025-05-28 19:25:42.603000+00:00,biome,pwa,turborepo,,,,,,,project_created,cli_1748460340309_03bed828cee941f7b0317d09610bb429,2168e115-a9a0-507b-b478-14968ae0deef,,posthog-node,2025-05-28 19:25:41.058000+00:00 +01971845-fde2-713f-abae-57eaae6364e5,project_created,darwin,bun,True,True,False,none,2.14.0,none,none,v20.10.0,4.18.0,tanstack-start,none,convex,none,False,posthog-node,2025-05-28T19:02:09.635Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 19:02:10.189000+00:00,162968,cli_1748458929631_d4b141f852f04f6a8e8de8e21d5f62c6,,2025-05-28 19:02:10.806000+00:00,biome,turborepo,,todo,,,native-nativewind,,,project_created,cli_1748458929631_d4b141f852f04f6a8e8de8e21d5f62c6,ccdd7ea9-2a36-5b39-bc0e-116571f8eb89,,posthog-node,2025-05-28 19:02:10.189000+00:00 +01971832-5b08-7c04-8f1a-94030c1fc1a2,project_created,win32,bun,True,True,True,none,2.14.0,bun,trpc,v22.16.0,4.18.0,next,drizzle,next,sqlite,True,posthog-node,2025-05-28T18:40:42.761Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:40:44.952000+00:00,162968,cli_1748457642758_7c98c7a1dcf14740b0e7d4175577f716,,2025-05-28 18:40:45.179000+00:00,biome,,,,,,,,,project_created,cli_1748457642758_7c98c7a1dcf14740b0e7d4175577f716,119218f8-4e06-5c06-9d07-b40f31119ae8,,posthog-node,2025-05-28 18:40:44.952000+00:00 +01971831-bc66-7c88-939a-d60aa53971e0,project_created,win32,pnpm,True,True,True,none,2.14.0,none,none,v22.15.0,4.18.0,tanstack-router,none,none,none,False,posthog-node,2025-05-28T18:40:02.151Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:40:02.450000+00:00,162968,cli_1748457602136_f70d711b16d34314b2bcede8a849ee4d,,2025-05-28 18:40:04.494000+00:00,,,,,,,,,,project_created,cli_1748457602136_f70d711b16d34314b2bcede8a849ee4d,8ea19c42-aac1-5c25-8d4d-4aa2b44ea2b0,,posthog-node,2025-05-28 18:40:02.450000+00:00 +0197182b-5d2f-7599-b347-df1a92486079,project_created,darwin,bun,True,True,True,none,2.14.0,none,none,v23.11.0,4.18.0,next,none,convex,none,False,posthog-node,2025-05-28T18:33:04.559Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:33:05.030000+00:00,162968,cli_1748457184553_87d6b6e08be34aecb44e2371f2e963e0,,2025-05-28 18:33:07.236000+00:00,biome,turborepo,,todo,,,,,,project_created,cli_1748457184553_87d6b6e08be34aecb44e2371f2e963e0,38cf9402-0f23-5cbd-9f7e-4a0788b5f6de,,posthog-node,2025-05-28 18:33:05.030000+00:00 +0197182b-632a-79bd-a913-dc69be95fd20,project_created,win32,pnpm,True,True,True,none,2.14.0,bun,trpc,v22.14.0,4.18.0,tanstack-start,drizzle,hono,postgres,True,posthog-node,2025-05-28T18:33:06.09Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:33:04.872000+00:00,162968,cli_1748457186083_078f6983a7fe4b04b96fb274271078d1,,2025-05-28 18:33:05.240000+00:00,turborepo,,,todo,,,,,,project_created,cli_1748457186083_078f6983a7fe4b04b96fb274271078d1,8bdd63d4-d959-57c5-9bf9-5b05342a264d,,posthog-node,2025-05-28 18:33:04.872000+00:00 +01971829-f74f-743a-8df0-cd6dacb9a4f1,project_created,darwin,bun,True,True,True,none,2.14.0,bun,trpc,v22.6.0,4.18.0,next,prisma,hono,postgres,True,posthog-node,2025-05-28T18:31:32.943Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:31:33.333000+00:00,162968,cli_1748457092941_938b8a5a26f04a418f8ecf36f815eb73,,2025-05-28 18:31:33.651000+00:00,turborepo,,,,,,,,,project_created,cli_1748457092941_938b8a5a26f04a418f8ecf36f815eb73,964c40e1-a855-5c3e-87c8-c0641ae0b1af,,posthog-node,2025-05-28 18:31:33.333000+00:00 +01971826-3ab1-7c2e-a1d3-a4b70c69c917,project_created,win32,bun,True,True,True,none,2.14.0,bun,trpc,v22.16.0,4.18.0,next,drizzle,next,sqlite,True,posthog-node,2025-05-28T18:27:28.049Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:27:30.200000+00:00,162968,cli_1748456848046_22b1606733084b938cce318a8f4c574b,,2025-05-28 18:27:31.218000+00:00,biome,turborepo,,,,,,,,project_created,cli_1748456848046_22b1606733084b938cce318a8f4c574b,8e998324-d0df-5e8d-a36c-f0aab8c5cf3f,,posthog-node,2025-05-28 18:27:30.200000+00:00 +01971822-6e70-7739-a7cc-5527bfcc7dad,project_created,darwin,pnpm,True,False,True,none,2.14.0,node,trpc,v20.17.0,4.18.0,react-router,none,hono,none,False,posthog-node,2025-05-28T18:23:19.152Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:23:19.527000+00:00,162968,cli_1748456599145_30749dae99f54268a6cae91f162167e2,,2025-05-28 18:23:19.856000+00:00,,,,,,,,,,project_created,cli_1748456599145_30749dae99f54268a6cae91f162167e2,c0110d2d-3b03-51cf-b036-8179d46f8fde,,posthog-node,2025-05-28 18:23:19.527000+00:00 +01971822-3b43-751e-a718-54c408676609,project_created,linux,bun,True,True,True,none,2.14.0,bun,trpc,v24.1.0,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-28T18:23:06.051Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:23:13.096000+00:00,162968,cli_1748456586048_c7a1e6e2e8ff401f87050f036e23c360,,2025-05-28 18:23:14.657000+00:00,turborepo,,,,,,,,,project_created,cli_1748456586048_c7a1e6e2e8ff401f87050f036e23c360,cfc6ddaa-131f-5ee8-a6ee-d395480f18bb,,posthog-node,2025-05-28 18:23:13.096000+00:00 +01971820-e0e3-70f2-9956-d78a2dca906a,project_created,darwin,pnpm,True,False,True,none,2.14.0,node,trpc,v20.17.0,4.18.0,react-router,none,hono,none,False,posthog-node,2025-05-28T18:21:37.379Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:21:37.813000+00:00,162968,cli_1748456497372_a9edea897eb34d34bb575c523b17169a,,2025-05-28 18:21:44.523000+00:00,,,,,,,,,,project_created,cli_1748456497372_a9edea897eb34d34bb575c523b17169a,0463bd36-9c21-5537-81c1-795d8226ecb7,,posthog-node,2025-05-28 18:21:37.813000+00:00 +01971820-4498-77c4-b70d-c65cf4f88f38,project_created,darwin,pnpm,True,False,True,none,2.14.0,node,trpc,v20.17.0,4.18.0,react-router,none,hono,sqlite,False,posthog-node,2025-05-28T18:20:57.368Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:20:57.732000+00:00,162968,cli_1748456457361_3ad35526ba194291a57675e11c06d001,,2025-05-28 18:21:02.476000+00:00,,,,,,,,,,project_created,cli_1748456457361_3ad35526ba194291a57675e11c06d001,b570fd85-1b17-5dc0-ad7b-8b4b4d68ed33,,posthog-node,2025-05-28 18:20:57.732000+00:00 +0197181e-83b3-7fb8-a379-f8ff17685267,project_created,linux,bun,True,True,True,none,2.14.0,bun,trpc,v24.1.0,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-28T18:19:02.452Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:19:04.567000+00:00,162968,cli_1748456342449_ca19e8eaf4e64f3391a9375c3d82d3b1,,2025-05-28 18:19:04.978000+00:00,turborepo,,,,,,,,,project_created,cli_1748456342449_ca19e8eaf4e64f3391a9375c3d82d3b1,f73ddfe4-1d9f-57e8-8224-f323769cfd1c,,posthog-node,2025-05-28 18:19:04.567000+00:00 +0197181d-b8a3-7284-99e0-eeed85325b58,project_created,linux,bun,True,True,True,none,2.14.0,bun,orpc,v22.15.0,4.18.0,native-nativewind,drizzle,elysia,postgres,True,posthog-node,2025-05-28T18:18:10.467Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:18:10.743000+00:00,162968,cli_1748456290463_68e16c696c15419593422db1b757e1e5,,2025-05-28 18:18:11.309000+00:00,turborepo,,,,,,,,,project_created,cli_1748456290463_68e16c696c15419593422db1b757e1e5,c1962a70-73e4-5c03-b65e-1b83f14edaa8,,posthog-node,2025-05-28 18:18:10.743000+00:00 +01971819-2030-718a-b239-7e7b3541295e,project_created,win32,bun,True,True,True,turso,2.14.0,bun,trpc,v22.11.0,4.18.0,native-nativewind,drizzle,elysia,sqlite,True,posthog-node,2025-05-28T18:13:09.296Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:13:05.526000+00:00,162968,cli_1748455989291_f09463a1940f4bb3b696c7695d0fbf4d,,2025-05-28 18:13:05.944000+00:00,turborepo,,,,,,,,,project_created,cli_1748455989291_f09463a1940f4bb3b696c7695d0fbf4d,41b703ae-3132-5068-b753-631b48a9569c,,posthog-node,2025-05-28 18:13:05.526000+00:00 +01971814-9c17-786e-87c6-c2b2141037b5,project_created,linux,bun,True,False,True,none,2.14.0,bun,trpc,v24.1.0,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-28T18:08:13.336Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:08:15.407000+00:00,162968,cli_1748455693331_71cf6186b71f48f4bfc34dfcd6126402,,2025-05-28 18:08:20.919000+00:00,turborepo,,,,,,,,,project_created,cli_1748455693331_71cf6186b71f48f4bfc34dfcd6126402,dacc22b5-d4c7-5b65-9866-f3d4be7ca122,,posthog-node,2025-05-28 18:08:15.407000+00:00 +01971811-6b1c-78f7-a1a7-bc4d38dd3352,project_created,linux,npm,True,True,False,neon,2.14.0,node,none,v20.15.0,4.18.0,next,drizzle,next,postgres,True,posthog-node,2025-05-28T18:04:44.188Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:04:44.301000+00:00,162968,cli_1748455484186_51d84001d23847c6b64c8a7868663567,,2025-05-28 18:04:44.575000+00:00,,,,,,,,,,project_created,cli_1748455484186_51d84001d23847c6b64c8a7868663567,8eedc57c-337f-560f-89a0-42c420e06ad7,,posthog-node,2025-05-28 18:04:44.301000+00:00 +0197180f-ab7b-7659-bb4d-0261f8c1a3f3,project_created,linux,bun,True,True,True,none,2.14.0,bun,trpc,v24.1.0,4.18.0,tanstack-router,drizzle,hono,sqlite,True,posthog-node,2025-05-28T18:02:49.596Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 18:02:51.664000+00:00,162968,cli_1748455369589_0fe768454f514feebedf5629c04fe3a6,,2025-05-28 18:02:51.934000+00:00,turborepo,,,,,,,,,project_created,cli_1748455369589_0fe768454f514feebedf5629c04fe3a6,acdb602a-0266-5032-b44d-415be6ac4ce6,,posthog-node,2025-05-28 18:02:51.664000+00:00 +0197180a-9190-7e19-b642-c37fc8b6bda8,project_created,win32,bun,True,True,True,none,2.14.0,bun,trpc,v22.16.0,4.18.0,next,drizzle,hono,sqlite,True,posthog-node,2025-05-28T17:57:15.28Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 17:57:17.390000+00:00,162968,cli_1748455035275_ebf7e40529484aa4bd7f076f6b41f1d0,,2025-05-28 17:57:18.123000+00:00,biome,turborepo,,,,,,,,project_created,cli_1748455035275_ebf7e40529484aa4bd7f076f6b41f1d0,b44b989d-b282-571c-97b4-b5a2c06855aa,,posthog-node,2025-05-28 17:57:17.390000+00:00 +0197180a-1eca-7b4d-805f-90b544977026,project_created,darwin,bun,True,True,True,none,2.14.0,bun,orpc,v22.2.0,4.18.0,tanstack-start,drizzle,elysia,postgres,True,posthog-node,2025-05-28T17:56:45.899Z,IP Anonymization (01971718-ae6a-0000-59c6-768abd05a9b7),Property Filter (0197176d-380a-0000-8ad0-1921c6ff6e56),2025-05-28 17:56:46.889000+00:00,162968,cli_1748455005891_d52ce1202aeb4c639dd286b1b36e49e5,,2025-05-28 17:56:47.197000+00:00,,,,,,,,,,project_created,cli_1748455005891_d52ce1202aeb4c639dd286b1b36e49e5,87583b64-8dd9-5a85-a60b-bf5b6248d709,,posthog-node,2025-05-28 17:56:46.889000+00:00 diff --git a/apps/web/src/app/(home)/analytics/page.tsx b/apps/web/src/app/(home)/analytics/page.tsx new file mode 100644 index 0000000..a7fe5e9 --- /dev/null +++ b/apps/web/src/app/(home)/analytics/page.tsx @@ -0,0 +1,1619 @@ +"use client"; +import { + type ChartConfig, + ChartContainer, + ChartLegend, + ChartLegendContent, + ChartTooltip, + ChartTooltipContent, +} from "@/components/ui/chart"; +import discordLogo from "@/public/icon/discord.svg"; +import { format, parseISO } from "date-fns"; +import { Cpu, Download, Terminal, TrendingUp, Users } from "lucide-react"; +import Image from "next/image"; +import Link from "next/link"; +import Papa from "papaparse"; +import { useCallback, useEffect, useState } from "react"; +import { + Area, + AreaChart, + Bar, + BarChart, + CartesianGrid, + Cell, + Pie, + PieChart, + XAxis, + YAxis, +} from "recharts"; +import Navbar from "../_components/navbar"; + +interface AnalyticsData { + date: string; + cli_version: string; + node_version: string; + platform: string; + backend: string; + database: string; + auth: string; + api: string; + packageManager: string; + frontend0: string; + frontend1: string; + examples0: string; + examples1: string; + addons: string[]; + git: string; + install: string; +} + +const timeSeriesConfig = { + projects: { + label: "Projects Created", + color: "hsl(var(--chart-1))", + }, +} satisfies ChartConfig; + +const platformConfig = { + darwin: { + label: "macOS", + color: "hsl(var(--chart-1))", + }, + linux: { + label: "Linux", + color: "hsl(var(--chart-2))", + }, + win32: { + label: "Windows", + color: "hsl(var(--chart-3))", + }, +} satisfies ChartConfig; + +const packageManagerConfig = { + npm: { + label: "npm", + color: "hsl(var(--chart-1))", + }, + pnpm: { + label: "pnpm", + color: "hsl(var(--chart-2))", + }, + bun: { + label: "bun", + color: "hsl(var(--chart-3))", + }, + yarn: { + label: "yarn", + color: "hsl(var(--chart-4))", + }, + unknown: { + label: "Unknown", + color: "hsl(var(--chart-5))", + }, +} satisfies ChartConfig; + +const backendConfig = { + hono: { + label: "Hono", + color: "hsl(var(--chart-1))", + }, + express: { + label: "Express", + color: "hsl(var(--chart-2))", + }, + fastify: { + label: "Fastify", + color: "hsl(var(--chart-3))", + }, + next: { + label: "Next.js", + color: "hsl(var(--chart-4))", + }, + elysia: { + label: "Elysia", + color: "hsl(var(--chart-5))", + }, + convex: { + label: "Convex", + color: "hsl(var(--chart-1))", + }, + none: { + label: "None", + color: "hsl(var(--chart-6))", + }, +} satisfies ChartConfig; + +const databaseConfig = { + sqlite: { + label: "SQLite", + color: "hsl(var(--chart-1))", + }, + postgres: { + label: "PostgreSQL", + color: "hsl(var(--chart-2))", + }, + mysql: { + label: "MySQL", + color: "hsl(var(--chart-3))", + }, + mongodb: { + label: "MongoDB", + color: "hsl(var(--chart-4))", + }, + none: { + label: "None", + color: "hsl(var(--chart-6))", + }, +} satisfies ChartConfig; + +const apiConfig = { + trpc: { + label: "tRPC", + color: "hsl(var(--chart-1))", + }, + orpc: { + label: "oRPC", + color: "hsl(var(--chart-2))", + }, + none: { + label: "None", + color: "hsl(var(--chart-6))", + }, +} satisfies ChartConfig; + +const frontendConfig = { + "react-router": { + label: "React Router", + color: "hsl(var(--chart-1))", + }, + "tanstack-router": { + label: "TanStack Router", + color: "hsl(var(--chart-2))", + }, + "tanstack-start": { + label: "TanStack Start", + color: "hsl(var(--chart-3))", + }, + next: { + label: "Next.js", + color: "hsl(var(--chart-4))", + }, + nuxt: { + label: "Nuxt", + color: "hsl(var(--chart-5))", + }, + "native-nativewind": { + label: "Native NativeWind", + color: "hsl(var(--chart-6))", + }, + "native-unistyles": { + label: "Native Unistyles", + color: "hsl(var(--chart-7))", + }, + svelte: { + label: "Svelte", + color: "hsl(var(--chart-3))", + }, + solid: { + label: "Solid", + color: "hsl(var(--chart-4))", + }, + none: { + label: "None", + color: "hsl(var(--chart-6))", + }, +} satisfies ChartConfig; + +const nodeVersionConfig = { + "18": { + label: "Node.js 18", + color: "hsl(var(--chart-1))", + }, + "20": { + label: "Node.js 20", + color: "hsl(var(--chart-2))", + }, + "22": { + label: "Node.js 22", + color: "hsl(var(--chart-3))", + }, + "16": { + label: "Node.js 16", + color: "hsl(var(--chart-4))", + }, + other: { + label: "Other", + color: "hsl(var(--chart-5))", + }, +} satisfies ChartConfig; + +const cliVersionConfig = { + latest: { + label: "Latest", + color: "hsl(var(--chart-1))", + }, + outdated: { + label: "Outdated", + color: "hsl(var(--chart-5))", + }, +} satisfies ChartConfig; + +const authConfig = { + enabled: { + label: "Enabled", + color: "hsl(var(--chart-1))", + }, + disabled: { + label: "Disabled", + color: "hsl(var(--chart-5))", + }, +} satisfies ChartConfig; + +const gitConfig = { + enabled: { + label: "Git Initialized", + color: "hsl(var(--chart-1))", + }, + disabled: { + label: "No Git", + color: "hsl(var(--chart-5))", + }, +} satisfies ChartConfig; + +const installConfig = { + enabled: { + label: "Auto Install", + color: "hsl(var(--chart-1))", + }, + disabled: { + label: "Skip Install", + color: "hsl(var(--chart-5))", + }, +} satisfies ChartConfig; + +const examplesConfig = { + todo: { + label: "Todo App", + color: "hsl(var(--chart-1))", + }, + ai: { + label: "AI Example", + color: "hsl(var(--chart-2))", + }, + none: { + label: "No Examples", + color: "hsl(var(--chart-6))", + }, +} satisfies ChartConfig; + +const addonsConfig = { + pwa: { + label: "PWA", + color: "hsl(var(--chart-1))", + }, + biome: { + label: "Biome", + color: "hsl(var(--chart-2))", + }, + husky: { + label: "Husky", + color: "hsl(var(--chart-3))", + }, + turborepo: { + label: "Turborepo", + color: "hsl(var(--chart-4))", + }, + tauri: { + label: "Tauri", + color: "hsl(var(--chart-5))", + }, + starlight: { + label: "Starlight", + color: "hsl(var(--chart-6))", + }, + none: { + label: "No Addons", + color: "hsl(var(--chart-7))", + }, +} satisfies ChartConfig; + +export default function AnalyticsPage() { + const [data, setData] = useState([]); + const [lastUpdated, setLastUpdated] = useState(null); + const [loadingLastUpdated, setLoadingLastUpdated] = useState(true); + + const loadCSVData = useCallback(async () => { + try { + const response = await fetch("/export.csv"); + const csvText = await response.text(); + + Papa.parse(csvText, { + header: true, + complete: (results) => { + try { + const parsedData = (results.data as Record[]) + .map((row) => { + const timestamp = + row["*.timestamp"] || new Date().toISOString(); + const date = timestamp.includes("T") + ? timestamp.split("T")[0] + : timestamp.split(" ")[0]; + + const addons = [ + row["*.properties.addons.0"], + row["*.properties.addons.1"], + row["*.properties.addons.2"], + row["*.properties.addons.3"], + row["*.properties.addons.4"], + row["*.properties.addons.5"], + ].filter(Boolean); + + return { + date, + cli_version: row["*.properties.cli_version"] || "unknown", + node_version: row["*.properties.node_version"] || "unknown", + platform: row["*.properties.platform"] || "unknown", + backend: row["*.properties.backend"] || "none", + database: row["*.properties.database"] || "none", + auth: + row["*.properties.auth"] === "True" + ? "enabled" + : "disabled", + api: row["*.properties.api"] || "none", + packageManager: + row["*.properties.packageManager"] || "unknown", + frontend0: row["*.properties.frontend.0"] || "", + frontend1: row["*.properties.frontend.1"] || "", + examples0: row["*.properties.examples.0"] || "", + examples1: row["*.properties.examples.1"] || "", + addons, + git: + row["*.properties.git"] === "True" ? "enabled" : "disabled", + install: + row["*.properties.install"] === "True" + ? "enabled" + : "disabled", + }; + }) + .filter((item): item is AnalyticsData => + Boolean(item.date && item.platform !== "unknown"), + ); + + if (parsedData.length > 0) { + setData(parsedData); + console.log(`Loaded ${parsedData.length} records from CSV`); + } + } catch (error: unknown) { + console.error("Error parsing CSV:", error); + } + }, + error: (error: unknown) => { + console.error("Papa Parse error:", error); + }, + }); + } catch (error: unknown) { + console.error("Error loading CSV:", error); + } + }, []); + + const fetchLastUpdated = useCallback(async () => { + try { + const response = await fetch( + "https://api.github.com/repos/amanvarshney01/create-better-t-stack/commits?path=apps/web/public/export.csv&per_page=1", + ); + + if (response.ok) { + const commits = await response.json(); + if (commits.length > 0) { + const lastCommitDate = new Date(commits[0].commit.committer.date); + setLastUpdated( + lastCommitDate.toLocaleDateString("en-US", { + year: "numeric", + month: "short", + day: "numeric", + hour: "2-digit", + minute: "2-digit", + timeZone: "UTC", + }), + ); + } + } else { + console.warn("Could not fetch last updated date from GitHub"); + } + } catch (error) { + console.error("Error fetching last updated date:", error); + } finally { + setLoadingLastUpdated(false); + } + }, []); + + useEffect(() => { + loadCSVData(); + fetchLastUpdated(); + }, [loadCSVData, fetchLastUpdated]); + + const getPlatformData = () => { + const platformCounts = data.reduce( + (acc, item) => { + const platform = item.platform; + acc[platform] = (acc[platform] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return Object.entries(platformCounts).map(([name, value]) => ({ + name, + value, + })); + }; + + const getPackageManagerData = () => { + const packageManagerCounts = data.reduce( + (acc, item) => { + const pm = item.packageManager; + acc[pm] = (acc[pm] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return Object.entries(packageManagerCounts).map(([name, value]) => ({ + name, + value, + })); + }; + + const getBackendData = () => { + const backendCounts = data.reduce( + (acc, item) => { + const backend = item.backend || "none"; + acc[backend] = (acc[backend] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return Object.entries(backendCounts) + .map(([name, value]) => ({ + name, + value, + })) + .sort((a, b) => b.value - a.value); + }; + + const getDatabaseData = () => { + const databaseCounts = data.reduce( + (acc, item) => { + const database = item.database || "none"; + acc[database] = (acc[database] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return Object.entries(databaseCounts) + .map(([name, value]) => ({ + name, + value, + })) + .sort((a, b) => b.value - a.value); + }; + + const getAPIData = () => { + const apiCounts = data.reduce( + (acc, item) => { + const api = item.api || "none"; + acc[api] = (acc[api] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return Object.entries(apiCounts) + .map(([name, value]) => ({ + name, + value, + })) + .sort((a, b) => b.value - a.value); + }; + + const getFrontendData = () => { + const frontendCounts = data.reduce( + (acc, item) => { + const frontend = item.frontend0 || item.frontend1 || "none"; + if (frontend && frontend !== "none") { + acc[frontend] = (acc[frontend] || 0) + 1; + } + return acc; + }, + {} as Record, + ); + + return Object.entries(frontendCounts) + .map(([name, value]) => ({ + name, + value, + })) + .sort((a, b) => b.value - a.value); + }; + + const getTimeSeriesData = () => { + if (data.length === 0) return []; + + const dates = data + .map((item) => item.date) + .filter(Boolean) + .sort(); + if (dates.length === 0) return []; + + const startDate = new Date(dates[0]); + const endDate = new Date(dates[dates.length - 1]); + const today = new Date(); + + const actualEndDate = endDate > today ? today : endDate; + const daysDiff = Math.ceil( + (actualEndDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24), + ); + const maxDays = 60; + + let finalStartDate = startDate; + if (daysDiff > maxDays) { + finalStartDate = new Date( + actualEndDate.getTime() - maxDays * 24 * 60 * 60 * 1000, + ); + } + + const dateRange = []; + const currentDate = new Date(finalStartDate); + while (currentDate <= actualEndDate) { + dateRange.push(format(currentDate, "yyyy-MM-dd")); + currentDate.setDate(currentDate.getDate() + 1); + } + + const dailyCounts = data.reduce( + (acc, item) => { + acc[item.date] = (acc[item.date] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return dateRange.map((date) => ({ + date, + displayDate: format(parseISO(date), "MMM dd"), + count: dailyCounts[date] || 0, + })); + }; + + const getNodeVersionData = () => { + const versionCounts = data.reduce( + (acc, item) => { + const version = item.node_version.replace(/^v/, "").split(".")[0]; + acc[version] = (acc[version] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return Object.entries(versionCounts) + .map(([version, count]) => ({ + version, + count, + })) + .sort((a, b) => b.count - a.count) + .slice(0, 5); + }; + + const getCLIVersionData = () => { + const versionCounts = data.reduce( + (acc, item) => { + const version = item.cli_version || "unknown"; + acc[version] = (acc[version] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return Object.entries(versionCounts) + .map(([version, count]) => ({ + version, + count, + })) + .sort((a, b) => b.count - a.count) + .slice(0, 8); + }; + + const getAuthData = () => { + const authCounts = data.reduce( + (acc, item) => { + const auth = item.auth || "disabled"; + acc[auth] = (acc[auth] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return Object.entries(authCounts).map(([name, value]) => ({ + name, + value, + })); + }; + + const getGitData = () => { + const gitCounts = data.reduce( + (acc, item) => { + const git = item.git || "disabled"; + acc[git] = (acc[git] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return Object.entries(gitCounts).map(([name, value]) => ({ + name, + value, + })); + }; + + const getInstallData = () => { + const installCounts = data.reduce( + (acc, item) => { + const install = item.install || "disabled"; + acc[install] = (acc[install] || 0) + 1; + return acc; + }, + {} as Record, + ); + + return Object.entries(installCounts).map(([name, value]) => ({ + name, + value, + })); + }; + + const getExamplesData = () => { + const exampleCounts = data.reduce( + (acc, item) => { + const examples = [item.examples0, item.examples1].filter(Boolean); + if (examples.length === 0) { + acc.none = (acc.none || 0) + 1; + } else { + for (const example of examples) { + acc[example] = (acc[example] || 0) + 1; + } + } + return acc; + }, + {} as Record, + ); + + return Object.entries(exampleCounts) + .map(([name, value]) => ({ + name, + value, + })) + .sort((a, b) => b.value - a.value); + }; + + const getAddonsData = () => { + const addonCounts = data.reduce( + (acc, item) => { + if (!item.addons || item.addons.length === 0) { + acc.none = (acc.none || 0) + 1; + } else { + for (const addon of item.addons) { + if (addon) { + acc[addon] = (acc[addon] || 0) + 1; + } + } + } + return acc; + }, + {} as Record, + ); + + return Object.entries(addonCounts) + .map(([name, value]) => ({ + name, + value, + })) + .sort((a, b) => b.value - a.value); + }; + + const totalProjects = data.length; + const getAvgProjectsPerDay = () => { + if (data.length === 0) return 0; + const dates = data.map((item) => item.date).filter(Boolean); + if (dates.length === 0) return 0; + + const uniqueDates = new Set(dates); + const daysCovered = uniqueDates.size; + return daysCovered > 0 ? totalProjects / daysCovered : 0; + }; + + const avgProjectsPerDay = getAvgProjectsPerDay(); + const authEnabledPercent = + totalProjects > 0 + ? Math.round( + (data.filter((d) => d.auth === "enabled").length / totalProjects) * + 100, + ) + : 0; + + const frontendData = getFrontendData(); + const backendData = getBackendData(); + const mostPopularFrontend = + frontendData.length > 0 ? frontendData[0].name : "None"; + const mostPopularBackend = + backendData.length > 0 ? backendData[0].name : "None"; + + return ( +
+ +
+
+
+ + + ANALYTICS_DASHBOARD.EXE + +
+ + [{totalProjects} PROJECTS_ANALYZED] + +
+ +
+
+ $ + + # Analytics from Better-T-Stack CLI usage data + +
+
+ $ + + # Uses PostHog - no personal info tracked, runs on each project + creation + +
+
+ $ + + # Source:{" "} + + analytics.ts + + {" | "} + + export.csv + + +
+
+ $ + + # Last updated:{" "} + {loadingLastUpdated ? "CHECKING..." : lastUpdated || "UNKNOWN"} + +
+
+ + +
+
+ discord +
+ + DISCORD_NOTIFICATIONS.IRC + +

+ Join for LIVE project creation alerts +

+
+
+
+ + + JOIN + +
+
+ +
+ +
+
+ + SYSTEM_METRICS.LOG + +
+
+ +
+
+
+
+ + TOTAL_PROJECTS + + +
+
+
+
+ {totalProjects.toLocaleString()} +
+

+ $ ./create-better-t-stack executions +

+
+
+ +
+
+
+ + TOP_FRONTEND + + +
+
+
+
+ {mostPopularFrontend} +
+

+ $ most_selected_frontend.sh +

+
+
+ +
+
+
+ + TOP_BACKEND + + +
+
+
+
+ {mostPopularBackend} +
+

+ $ most_selected_backend.sh +

+
+
+ +
+
+
+ + TOP_DATABASE + + +
+
+
+
+ {getDatabaseData().length > 0 + ? getDatabaseData()[0].name + : "None"} +
+

+ $ most_selected_database.sh +

+
+
+ +
+
+
+ + TOP_API + + +
+
+
+
+ {getAPIData().length > 0 ? getAPIData()[0].name : "None"} +
+

+ $ most_selected_api.sh +

+
+
+ +
+
+
+ + AUTH_ADOPTION + + +
+
+
+
+ {authEnabledPercent}% +
+

+ $ auth_enabled_percentage.sh +

+
+
+ +
+
+
+ + TOP_PKG_MGR + + +
+
+
+
+ {getPackageManagerData().length > 0 + ? getPackageManagerData()[0].name + : "npm"} +
+

+ $ most_used_package_manager.sh +

+
+
+ +
+
+
+ + AVG_DAILY + + +
+
+
+
+ {avgProjectsPerDay.toFixed(1)} +
+

+ $ average_projects_per_day.sh +

+
+
+
+
+ +
+
+ + TIMELINE_ANALYSIS.CHARTS + +
+
+ +
+
+
+
+ + + PROJECT_TIMELINE.CHART + +
+

+ # Daily project creation timeline from actual data +

+
+
+ + + + + + } + labelFormatter={(value, payload) => { + const date = payload?.[0]?.payload?.date; + return date + ? format(parseISO(date), "MMM dd, yyyy") + : value; + }} + /> + + + +
+
+ +
+
+
+ + + PLATFORM_DISTRIBUTION.PIE + +
+

+ # Operating system distribution +

+
+
+ + + } + /> + + `${name} ${(percent * 100).toFixed(0)}%` + } + outerRadius={80} + fill="var(--color-platform)" + dataKey="value" + > + {getPlatformData().map((entry) => ( + + ))} + + } /> + + +
+
+
+
+ +
+
+ + STACK_CONFIGURATION.DB + +
+ + [CORE_COMPONENTS] + +
+ +
+
+
+ + + FRONTEND_FRAMEWORKS.BAR + +
+

+ # Frontend framework and meta-framework usage (Step 1) +

+
+
+ + + + + + } /> + + {getFrontendData().map((entry) => ( + + ))} + + + +
+
+ +
+
+
+
+ + + BACKEND_FRAMEWORKS.BAR + +
+

+ # Backend framework distribution (Step 2) +

+
+
+ + + + + + } /> + + {getBackendData().map((entry) => ( + + ))} + + + +
+
+ +
+
+
+ + + DATABASE_DISTRIBUTION.BAR + +
+

+ # Database technology distribution (Step 4) +

+
+
+ + + + + + } /> + + {getDatabaseData().map((entry) => ( + + ))} + + + +
+
+ +
+
+
+ + + API_LAYER.PIE + +
+

+ # API layer technology distribution (Step 6) +

+
+
+ + + } + /> + + {getAPIData().map((entry) => ( + + ))} + + } /> + + +
+
+ +
+
+
+ + + AUTH_ADOPTION.PIE + +
+

+ # Authentication implementation rate (Step 7) +

+
+
+ + + } + /> + + `${name} ${(percent * 100).toFixed(0)}%` + } + > + {getAuthData().map((entry) => ( + + ))} + + } /> + + +
+
+
+ +
+
+
+ + + ADDONS_USAGE.BAR + +
+

+ # Additional features and tooling adoption (Step 8) +

+
+
+ + + + + + } /> + + {getAddonsData().map((entry) => ( + + ))} + + + +
+
+ +
+
+
+ + + EXAMPLES_USAGE.BAR + +
+

+ # Example applications included in projects (Step 9) +

+
+
+ + + + + + } /> + + {getExamplesData().map((entry) => ( + + ))} + + + +
+
+
+ +
+
+ + DEV_ENVIRONMENT.CONFIG + +
+ + [TOOLING_PREFERENCES] + +
+ +
+
+
+
+ + + GIT_INITIALIZATION.PIE + +
+

+ # Git repository initialization rate (Step 11) +

+
+
+ + + } + /> + + `${name} ${(percent * 100).toFixed(0)}%` + } + > + {getGitData().map((entry) => ( + + ))} + + } /> + + +
+
+ +
+
+
+ + + PACKAGE_MANAGER.BAR + +
+

+ # Package manager usage distribution (Step 12) +

+
+
+ + + + + + } /> + + {getPackageManagerData().map((entry) => ( + + ))} + + + +
+
+ +
+
+
+ + + INSTALL_PREFERENCE.PIE + +
+

+ # Automatic dependency installation preference (Step 13) +

+
+
+ + + } + /> + + `${name} ${(percent * 100).toFixed(0)}%` + } + > + {getInstallData().map((entry) => ( + + ))} + + } /> + + +
+
+ +
+
+
+ + + NODE_VERSIONS.BAR + +
+

+ # Node.js version distribution (major versions) +

+
+
+ + + + + + } /> + + + +
+
+
+ +
+
+
+ + + CLI_VERSIONS.BAR + +
+

+ # CLI version distribution across project creations +

+
+
+ + + + + + } /> + + + +
+
+
+
+
+ ); +} diff --git a/apps/web/src/app/global.css b/apps/web/src/app/global.css index dee9293..ac24fb1 100644 --- a/apps/web/src/app/global.css +++ b/apps/web/src/app/global.css @@ -6,7 +6,7 @@ @custom-variant dark (&:where(.dark, .dark *)); /* .bg-noise { - background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)' opacity='0.4'/%3E%3C/svg%3E"); + background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)' opacity='0.4'/%3E%3C/svg%3E"); } */ .react-tweet-theme { @@ -107,6 +107,8 @@ --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); + --color-chart-6: var(--chart-6); + --color-chart-7: var(--chart-7); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); @@ -145,7 +147,6 @@ } :root { - --radius: 0.35rem; --background: oklch(1 0 0); --foreground: oklch(0.44 0.04 279.33); --card: oklch(1 0 0); @@ -164,11 +165,13 @@ --border: oklch(0.81 0.02 271.2); --input: oklch(0.86 0.01 268.48); --ring: #8839ef; - --chart-1: #8839ef; - --chart-2: #df8e1d; - --chart-3: #40a02b; - --chart-4: #fe640b; - --chart-5: #d20f39; + --chart-1: 12 76% 61%; + --chart-2: 173 58% 39%; + --chart-3: 197 37% 24%; + --chart-4: 43 74% 66%; + --chart-5: 27 87% 67%; + --chart-6: 210 80% 55%; + --chart-7: 330 75% 60%; --sidebar: oklch(0.93 0.01 264.52); --sidebar-foreground: oklch(0.44 0.04 279.33); --sidebar-primary: #8839ef; @@ -178,6 +181,7 @@ --sidebar-border: oklch(0.81 0.02 271.2); --sidebar-ring: #8839ef; --destructive-foreground: oklch(1 0 0); + --radius: 0.35rem; --font-sans: Montserrat, sans-serif; --font-serif: Georgia, serif; --font-mono: Fira Code, monospace; @@ -224,11 +228,13 @@ --border: #45475a; --input: #313244; --ring: #cba6f7; - --chart-1: #cba6f7; - --chart-2: #f9e2af; - --chart-3: #a6e3a1; - --chart-4: #fab387; - --chart-5: #f38ba8; + --chart-1: 220 70% 50%; + --chart-2: 160 60% 45%; + --chart-3: 30 80% 55%; + --chart-4: 280 65% 60%; + --chart-5: 340 75% 55%; + --chart-6: 50 70% 50%; + --chart-7: 100 60% 55%; --sidebar: #11111b; --sidebar-foreground: #cdd6f4; --sidebar-primary: #cba6f7; @@ -275,7 +281,6 @@ } } -/* Terminal-style animations and effects */ .terminal-cursor { animation: blink 1s infinite; border-right: 2px solid currentColor; @@ -347,7 +352,6 @@ font-weight: bold; } -/* File browser specific styles */ .file-browser-item { transition: all 0.15s ease; position: relative; diff --git a/apps/web/src/components/ui/card.tsx b/apps/web/src/components/ui/card.tsx new file mode 100644 index 0000000..d60c9d4 --- /dev/null +++ b/apps/web/src/components/ui/card.tsx @@ -0,0 +1,92 @@ +import type * as React from "react"; + +import { cn } from "@/lib/utils"; + +function Card({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ); +} + +function CardHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ); +} + +function CardTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ); +} + +function CardDescription({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ); +} + +function CardAction({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ); +} + +function CardContent({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ); +} + +function CardFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ); +} + +export { + Card, + CardHeader, + CardFooter, + CardTitle, + CardAction, + CardDescription, + CardContent, +}; diff --git a/apps/web/src/components/ui/chart.tsx b/apps/web/src/components/ui/chart.tsx new file mode 100644 index 0000000..bd11766 --- /dev/null +++ b/apps/web/src/components/ui/chart.tsx @@ -0,0 +1,354 @@ +"use client"; + +import * as React from "react"; +import * as RechartsPrimitive from "recharts"; + +import { cn } from "@/lib/utils"; + +// Format: { THEME_NAME: CSS_SELECTOR } +const THEMES = { light: "", dark: ".dark" } as const; + +export type ChartConfig = { + [k in string]: { + label?: React.ReactNode; + icon?: React.ComponentType; + } & ( + | { color?: string; theme?: never } + | { color?: never; theme: Record } + ); +}; + +type ChartContextProps = { + config: ChartConfig; +}; + +const ChartContext = React.createContext(null); + +function useChart() { + const context = React.useContext(ChartContext); + + if (!context) { + throw new Error("useChart must be used within a "); + } + + return context; +} + +function ChartContainer({ + id, + className, + children, + config, + ...props +}: React.ComponentProps<"div"> & { + config: ChartConfig; + children: React.ComponentProps< + typeof RechartsPrimitive.ResponsiveContainer + >["children"]; +}) { + const uniqueId = React.useId(); + const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`; + + return ( + +
+ + + {children} + +
+
+ ); +} + +const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => { + const colorConfig = Object.entries(config).filter( + ([, config]) => config.theme || config.color, + ); + + if (!colorConfig.length) { + return null; + } + + return ( +