CaliLuke/mike

Mike fork being rewritten as Luke: a local-first, single-user job-search workbench targeting Ollama, SurrealDB, and an eventual Go backend

Active and diverging. CaliLuke is landing both maintenance fixes and migration infrastructure in the same run, with the fork identity commit being the load-bearing change. Expect continued movement toward the Go backend and SurrealDB milestones.

View on GitHub →

CaliLuke/mike started as a standard Mike fork and is now actively rebranding as Luke, with a documented 8-milestone plan to replace the cloud stack. Supabase Auth, Postgres, R2 storage, and Express are all on the way out in favor of embedded SurrealDB/SurrealKV, a Loom-generated Go backend, Romancy durable workflows, and local file storage. Ollama is the default AI surface; gemma4 is the default model across all tiers.

The fork still ships upstream-compatible maintenance work - a shared_with encoding bugfix, inline project creation in the tabular-review modal - alongside the migration infrastructure. The M0 persistence spike (a Rust FFI bridge to SurrealKV via CGO) is already committed. A Codex Supabase MCP config is present for dev tooling.

For an outside evaluator: the maintenance commits (shared-with bug, modal UX, auth-gated reload) are selectively importable. The local-first architecture work is not - it assumes a single-user no-cloud deployment and introduces a macOS arm64-verified Rust build dependency. The LICENSE file was deleted from the repository; the README carries only a one-line AGPL reference.

What's in it

Direction

brandingpersonasinfrastructure

Activity

Themed changes and pull requests touching this fork, newest first. Themed changes that haven't been turned into a public post yet still appear — they're real work even without a published writeup.

📝 Codex Supabase MCP configuration 2 commits 2mo ago minor change

Threads of work (detailed view)

8 threads have been distilled into posts.

Fix silent shared-project misses in Supabase queries

Two of three call sites passing user email to Supabase's `.contains("shared_with", ...)` were sending a raw JS array instead of a JSON-encoded string, so the `@>` predicate matched nothing. Users with shared projects saw empty lists.

Ollama provider and plain-text document support; all defaults flipped to gemma4

Adds Ollama as a third LLM provider and extends the document pipeline to handle Markdown and plain-text files. The useful parts are well-isolated - but the fork also flips every model default to gemma4 and runs a schema migration to match, which breaks any deployment without a local Ollama server.