Mobile support to come.
Feb 7
wip - wire up our user dto creation
baepaul•11:41 PM
making signup form also work without js, minimal as is
baepaul•10:47 PM
refactoring validate user -> hasUser and wiring up signup form
baepaul•10:33 PM
updating sign up to use signin with otp instead
baepaul•5:25 PM
migration to disable creating user on auth user
baepaul•4:47 PM
Feb 6
for the subways
baepaul•11:10 PM
deleted unused import
mikkel•8:28 PM
chained user router
mikkel•8:26 PM
refactoring to head -> /user/{username} for username existence checks
baepaul•8:23 PM
a lot of footguns eh
baepaul•7:49 PM
updated public url to include www
mikkel•8:00 PM
wired up commit service in backend
mikkel•7:18 PM
added commit repo and service
mikkel•7:14 PM
created commits table
mikkel•7:05 PM
Feb 5
removed unnecessary envs
mikkel•9:55 PM
replaced create_user api with validate_name api
mikkel•9:54 PM
created temporary signup page
mikkel•8:37 PM
fixed sending request to wrong url
mikkel•7:51 PM
Feb 3
added reserved user names to avoid
mikkel•9:53 PM
implemented create user endpoint
mikkel•6:24 AM
created supabase client
mikkel•5:18 AM
updated server url in cli to gitdot.io
mikkel•4:54 AM
enabled git ops directly via gitdot.io
mikkel•4:52 AM
making commit.author work with legacy commit stats apis
baepaul•12:21 AM
updated commits api to return gitdot user info if exist
mikkel•12:01 AM
Feb 2
enabling dark mode based on system preference for blog & landing page only
baepaul•10:41 PM
sorting entries
baepaul•10:15 PM
explaining my sins
baepaul•9:33 PM
doing something risky and ill-advised :)
baepaul•9:13 PM
updated preview to only return blobs
mikkel•8:14 PM
baepaul•Feb 02, 2026 10:41:51 PM
enabling dark mode based on system preference for blog & landing page only
3 files changed
5 weight: ["400", "700"],6});78export default function Layout({ children }: { children: React.ReactNode }) {9 return <div className={league_spartan.className}>{children}</div>;10}11
5 weight: ["400", "700"],6});78export default function Layout({ children }: { children: React.ReactNode }) {9 return <div className={`${league_spartan.className} blog-root`}>{children}</div>;10}11
1011export default function Home() {12 return (13 <div14 className={`${league_spartan.className} min-h-screen grid place-items-center`}15 >16 <div className={`w-full max-w-160 px-4 sm:px-8 py-4`}>17 <div className="mb-4">18 <Image
1011export default function Home() {12 return (13 <div14 className={`${league_spartan.className} blog-root min-h-screen grid place-items-center`}15 >16 <div className={`w-full max-w-160 px-4 sm:px-8 py-4`}>17 <div className="mb-4">18 <Image
1@import "tailwindcss";2@import "tw-animate-css";3@plugin "tailwind-scrollbar";45@custom-variant dark (&:is(.dark *));67@theme inline {8 --font-sans: var(--font-ibm-plex-sans);9 --font-mono: var(--font-inconsolata);
1@import "tailwindcss";2@import "tw-animate-css";3@plugin "tailwind-scrollbar";45@custom-variant dark {6 &:is(.dark *) {7 @slot;8 }9
146 @apply bg-background text-foreground;147 }148}149..................................................................
146 --downvote: oklch(0.929 0.013 255.508);147 --vote: oklch(50.2% 0.02 256.788);148 }149}151152.blog-root {153 background-color: var(--background);154 color: var(--foreground);155}156157@media (prefers-color-scheme: dark) {158 .blog-root {159 --background: oklch(0.129 0.042 264.695);160 --foreground: oklch(0.984 0.003 247.858);161 --card: oklch(0.208 0.042 265.755);162 --card-foreground: oklch(0.984 0.003 247.858);163 --popover: oklch(0.208 0.042 265.755);164 --popover-foreground: oklch(0.984 0.003 247.858);165 --primary: oklch(0.929 0.013 255.508);166 --primary-foreground: oklch(0.208 0.042 265.755);167 --secondary: oklch(0.279 0.041 260.031);168 --secondary-foreground: oklch(0.984 0.003 247.858);169 --muted: oklch(0.279 0.041 260.031);170 --muted-foreground: oklch(0.704 0.04 256.788);171 --accent: oklch(0.279 0.041 260.031);172 --accent-foreground: oklch(0.984 0.003 247.858);173 --destructive: oklch(0.704 0.191 22.216);174 --border: oklch(1 0 0 / 10%);175 --input: oklch(1 0 0 / 15%);176 --ring: oklch(0.551 0.027 264.364);177 --chart-1: oklch(0.488 0.243 264.376);178 --chart-2: oklch(0.696 0.17 162.48);179 --chart-3: oklch(0.769 0.188 70.08);180 --chart-4: oklch(0.627 0.265 303.9);181 --chart-5: oklch(0.645 0.246 16.439);182 }183}