Hi, my name is
Joel Tobler
I build AI agents, Obsidian plugins, and LLM tooling — software that makes working with language models feel native and effortless.
About
I'm Joel Tobler, a software developer from eastern Switzerland focused on developing with AI. I build systems that do real work — from multi-agent orchestration to apps with integrated AI.
I care about clean TypeScript, test-driven cores, and interfaces that get out of the way. Whether it's routing a task across specialist agents or turning a receipt into validated data, the goal is the same: software that's genuinely useful, not just a demo.
Projects
- Obsidian Plugin2026
Agentic OS Pro
An AI-agent companion that lives inside Obsidian.
Running AI agents means jumping between a terminal, a browser, and scattered notes. Context gets lost, token spend is invisible, and daily work never lands where you actually think — in your notes.
- TypeScript
- Obsidian API
- esbuild
- Streaming JSON
- Node
- Obsidian Plugin2026
Agent Manager
A control panel for managing Claude agents from Obsidian.
As the number of custom AI agents grows, there is no single place to configure, inspect, and drive them — and no way to test the logic without booting a full editor around it.
- TypeScript
- Obsidian API
- Vitest
- Node
- esbuild
- RAG · Agentic AI2026
RegelWerk
RAG that refuses to answer without a verified legal citation.
Most RAG demos stop at retrieval and happily hallucinate citations. For a legal-rules assistant, an unbacked claim is worse than no answer.
- Next.js
- TypeScript
- Gemini
- Supabase pgvector
- Zod
- AI Agent2026
Ticket Triage Agent
An autonomous support-triage agent — hand-rolled, no LangChain.
Support teams drown in repetitive tickets, but full automation is risky: a wrong auto-reply on a billing issue, or one leaking a card number, is worse than a slow human.
- Python 3.11
- Pydantic v2
- Tool-use
- pytest
- Vision LLM · Pipeline2026
Receipt Extract
Receipt / invoice → validated, queryable structured data.
Receipts are messy: faded print, multi-page PDFs, foreign VAT. Naive 'ask the LLM for JSON' pipelines emit malformed output, silently hallucinate totals, and give you no ground truth.
- Python 3.11
- Anthropic Vision
- Pydantic v2
- SQLite
- pypdfium2
- LLMOps2026
LLM Observability
Provider-agnostic tracing, cost, and latency for LLM apps.
LLM apps fail in ways normal software doesn't: cost balloons silently with token usage, latency drifts, models error under load. Without tracing you're flying blind.
- Python 3.11
- SQLite
- Pydantic
- HTML dashboards
- ML · RAG Retrieval2026
Embedding Finetune RAG
Fine-tune the retriever so RAG actually finds the right law.
A RAG pipeline is only as good as its retriever. A generic multilingual embedding model doesn't know that, in Swiss tenancy law, 'Kaution' and 'Sicherheitsleistung' mean the same thing under the same article — so the right passage lands far down the ranking and the LLM never sees it.
- Python 3.11
- sentence-transformers
- PyTorch
- Apple MPS
- pytest
- App · AI Mentor2026
AI-Mentor
A personality assessment that becomes a coach who knows you.
Generic AI chatbots give the same advice to everyone. They don't know your traits, your blind spots, or what you're working toward — so 'coaching' stays shallow and forgettable, resetting to zero every conversation.
- Next.js
- TypeScript
- Supabase
- AI SDK
- Ollama
- App · NL → SQL2026
SQL Copilot
Ask in plain language, get transparent SQL and results.
Non-technical users can't query a database, and 'just trust the AI' tools hide the SQL they run — so you can never check what actually hit your data.
- ASP.NET Core 8
- C#
- Npgsql
- Ollama
- Supabase
Tech Stack
- TypeScript
- JavaScript
- Python
- C#
- HTML
- CSS
- React
- Next.js
- Node.js
- Tailwind CSS
- Motion
- Obsidian API
- Vitest
- Git
- Docker
- PostgreSQL
- Supabase
- Ollama
- OpenAI
- Claude / LLM APIs
- LangChain
- LangGraph
- esbuild
- REST APIs