Paris-based developer. Small, opinionated desktop and web tools in Swift and TypeScript — the kind where every setting earns its place and every number shown is auditable.
Trained at 42. Still writing like the IDE is optional.
| Project | What it does | Stack |
|---|---|---|
| 🧹 MacSift |
Transparent macOS disk cleaner. Groups files by the app that owns them, always moves to Trash — never hard-deletes. Built for macOS Tahoe. Site | Swift · SwiftUI · Liquid Glass |
| ⛓️💥 Claude God |
Menu-bar tracker for Claude usage — quota, burn rate, session cost, ROI, heatmaps, desktop widget, multi-account. Zero telemetry. claudegod.app | Swift · SwiftUI |
| 🧭 Boussole 2027 | Neutral voting-advice tool for the 2027 French presidential election. 8 to 40 questions, every candidate position sourced, no data collected. Ships as a Claude skill and a site. | Python · TypeScript |
| 🐝 BeeTime | Time tracking that doesn't feel like surveillance. | TS · React · Node |
| 🌿 claude-branch | Git-style branching for Claude Code conversations. Fork, explore, merge. | TypeScript |
Both Mac apps install in two lines:
brew tap lcharvol/macsift && brew install --cask macsift
brew tap lcharvol/tap && brew install --cask claude-god- Opinionated over configurable. Every setting has to earn its place.
- No black boxes. If it cleans, it lists what it cleaned. If it tracks, it shows the numbers. If it tells you who to vote for, it cites the source.
- Performance is a feature, not a phase. A freeze is a bug — it never gets the "we'll optimize later" treatment.
- Copy matters. The difference between a trustworthy tool and a suspicious one is usually three sentences of honest writing.
- Dry run should be the default for anything that touches user files. "Are you sure?" is not a safety net.
- Every
TODO:comment older than six months is a lie. Either do it or delete it. - Most UI freezes are fixable with
Task.detachedand some honesty about what runs on the main thread. - The best onboarding is a feature that doesn't need onboarding.
- Any tool with more settings than features has lost the plot.
- A Homebrew cask is the best install button a Mac app can have.
Swift / SwiftUI for native Mac. TypeScript / React for the web. Node when the back end is mine to choose. Python when a Claude skill needs a script. Docker for infra, deployed wherever's easiest that week.
Daily tools: macOS, Claude Code, Neovim, Figma.
Remote-friendly, Paris time zone. Open to short-term product and performance work — especially apps already in production that need their latency fixed and their copy rewritten. Start the conversation at beetime.fr.
| Rollbacks this year | 0 |
| Production incidents caught in <15 minutes | 1/1 |
| Files MacSift has hard-deleted | 0 |
| Bytes of telemetry Claude God has sent | 0 |
| Animated SVGs in this README | 0 |
| Typing-robot GIFs | 0 |
| Hours spent tweaking this README | ¯\_(ツ)_/¯ |
| Coffees between first commit and ship | depends on the bug |
Too much League of Legends (hence
MidOrFeed, a team-comp maker).
A handful of 42 C projects from 2018 if you want to see how we used to
write code without IDEs — and how my Makefile muscle memory started.
If you scrolled this far and didn't find a rainbow gradient anywhere, that was intentional.





