Native app · Private beta · 2026
Tidelog
Your day, in blocks.
A day planner for macOS and iOS. Pick a Jira ticket and the Clockify or Toggl timer runs, pauses on every break, and the rest of the day shifts when you fall behind.
- Platforms
- macOS · iOS
- Timers
- Clockify · Toggl
- Data
- User's iCloud
- Tracking
- None
- Native Swift and SwiftUI on Mac and iPhone.
- Jira tickets drive the Clockify or Toggl timer, which stops on every break.
- Flexible blocks move on their own when the day slips.
- No analytics and no tracking. Data stays in the user's iCloud.
- Landing on Cloudflare Workers, served with no-transform so the CDN injects nothing.
Stack Swift, SwiftUI, Jira API, Clockify API, Toggl API, Cloudflare Workers
tidelog.appSecurity · Agents · Completed · 2026
CaseLens
A multi-tenant agent where a prompt injection can't cross the tenant line.
A Cohere-native agent that triages warranty claims over a simulated multi-tenant domain. It runs a Command tool-use loop that retrieves policy with RAG, reads claims scoped to the caller’s tenant, and proposes status changes behind RBAC and a deterministic state machine. Every action is written to an append-only audit log.
- Tenant scoping
- Below the model
- Citations
- Cohere-native
- Audit trail
- Append-only
- Golden evals
- 13 + 5
- Tenant scope is bound below the model, so injected instructions can't reach another tenant's data.
- Command tool-use loop with four tools: RAG search, tenant-scoped claim reads, and an RBAC-guarded status update.
- Grounded RAG over pgvector: Embed 4 for vectors, rerank-v3.5, and native inline citations over the final answer.
- Append-only audit log for every tool call, scoped read, mutation, and denied attempt.
- Human-in-the-loop actions: the agent proposes a status change and a human confirms it through a guarded endpoint.
- Two golden-set eval harnesses (retrieval and agent) plus CI running the linters and tests against a pgvector Postgres.
Stack Python 3.11, FastAPI, Cohere, PostgreSQL, pgvector, Next.js 16, React 19, Tailwind CSS, Docker, GitHub Actions
Open repoFull-stack · Agents · In progress · 2026
LedgerLens
Chat with an agent about your bank statements. It explains; the code does the arithmetic.
Upload your bank statements and chat with an agent that reasons over your finances. Built determinism-first: the LLM decides and explains, deterministic code does the math, and money is handled as currency-aware integers so there is no floating-point drift.
- Boundary
- Determinism-first
- Core
- Custom MCP server
- Quality
- Eval gate in CI
- Status
- Deployed on Azure
- Streaming agent chat with live tool calls over SSE.
- Read-only MCP server exposing finance tools to the agent, scoped per account.
- Deterministic ingestion and money handling, no FX.
- Eval harness with a golden set gating CI.
- Deployed to Azure Container Apps, CI/CD via GitHub Actions with OIDC (no long-lived cloud secrets).
Stack TypeScript, pnpm workspaces, Next.js, NestJS, PostgreSQL, Drizzle, Claude Agent SDK, MCP, Zod, Vitest, Testcontainers, Docker, Azure Container Apps, OpenTelemetry
Open repoML · Completed · 2025
GeoPlay Recommender
Player segmentation and geospatial recommendation for location-based mobile games.
End-to-end ML system for a synthetic Pokémon GO-style game. It generates realistic behavior data, segments players into archetypes via clustering, and ranks geographic hexes (H3) by visit probability using learning-to-rank.
- Synthetic events
- 146M
- NDCG@10 (ranking)
- 0.63 · +137%
- Clustering ARI
- 0.864
- Phases completed
- 10 / 10
- Streaming feature engineering over 146M partitioned events, without loading everything into memory.
- Leak-free temporal splits: the ranker features are computed only over the training period.
- Hard negative mining: negatives are drawn from each player’s visited-hex universe, not random.
- LightGBM Ranker (LambdaRank) tuned by random search; MLflow for tracking and registry.
- Containerized FastAPI service that serves from an exported bundle, with no MLflow dependency at runtime.
Stack Python 3.12, LightGBM, H3, HDBSCAN, MLflow, FastAPI, Docker, pytest, Ruff
Open repoML · Local LLM · In progress · 2026
VGC Replay Coach
Local-LLM coach for Pokémon VGC replays: it grounds every fact in real game mechanics and flags your misplays.
Takes a Pokémon Showdown replay, reconstructs the battle turn by turn, computes the hard facts that decide each turn, and lets a local language model reason over those facts to write a short coaching report. It runs entirely on your machine through Ollama, with no API keys and no cost.
- Runtime
- Fully local
- Damage
- @smogon/calc
- Opponent read
- Bayesian prior
- Facts
- Tool-grounded
- Damage, speed order, type effectiveness, and usage priors are computed in code and handed to the model as ground truth.
- The model reasons only over serialized facts and returns a CoachReport validated with Pydantic, so it never invents mechanics.
- Bayesian inference reweights spread hypotheses from real Smogon usage, using the replay’s own speed and damage evidence.
- A misplay-detection eval harness scores the coach against hand-labeled replays with turn-level precision, recall, and F1.
Stack Python 3.11, Pydantic, Ollama, Gemma 4, Node.js, @smogon/calc, uv, Ruff, pytest
Open repo