Multi-tenant SaaS · flagship
AgencyDesk
Featured
A multi-tenant client & project management platform where one deployment serves many isolated agencies — each with its own clients, projects, and a separate client portal. Tenant isolation and internal-vs-client visibility are enforced with PostgreSQL row-level security and composite foreign keys, so cross-tenant access is impossible even if application code is wrong. Schema, roles, and access policies live in hand-written Alembic migrations; the API connects as an unprivileged role that cannot bypass RLS. Backed by 70 automated tests proving isolation, containerized with Docker Compose, and CI on every push.
ReactFastAPIPostgreSQL 16Row-Level SecurityAlembicDocker ComposeGitHub Actions
Data tooling
Data Analysis Agent
A Python analysis tool to upload and analyze CSV, Excel, and JSON datasets. Automates exploratory data analysis — missing-value checks, duplicate detection, descriptive statistics, correlations, skewness, and kurtosis — with visual outputs, anomaly detection, and downloadable PDF reports.
FastAPIPandasNumPySQLAlchemyscikit-learnMatplotlib
Agentic · data
Multi-Agent Data Analyst
A Streamlit and command-line CSV analyst built from specialized agents for profiling, insight discovery, and review. Handles ingestion for CSV and Excel with encoding fallback, delimiter detection, missing-value handling, and quality warnings — then generates structured reports covering shape, column types, correlations, group-level differences, and suggested next steps.
StreamlitPythonPandasCLI
Retrieval · measured
CiteRAG
A cite-everything RAG system over messy 10-K PDFs, built against a golden-set eval harness rather than vibes — every change is scored before it is kept. Retrieval recall@5 went from 0.37 to 0.77 against a measured ceiling of 0.85, and the largest gains came from repairing PDF text extraction — run-together words, capital-aware segmentation — not from clever retrieval. Every answer cites the source span it came from. Embeddings and re-ranking run locally with no API key, so the retrieval numbers hold independently of whichever model writes the answer.
FastAPISQLite + sqlite-vecsentence-transformersbge-rerankerpdfplumberAlembicGitHub Actions
Agentic · benchmarked
schemablind
A SQL agent handed a database it has never seen, with no schema — it gets four verbs and a question, and has to find its own way to the answer. Scored on execution accuracy against BIRD: run the agent's query and the reference query, compare the rows. No rubric, no judge model. Everything the model composes runs through a read-only path with four independent layers, and CI asserts the database is byte-identical after attempts to delete, drop, update, attach, and smuggle a write past a semicolon. The harness proves itself before it grades anything — an oracle solver must score 100% and a mute solver 0%, or the scorer is broken. There is no complete model run yet: runs that hit the free-tier token cap are abandoned rather than scored, because unreached questions would count as wrong answers.
PythonSQLiteBIRD Mini-DevTool-use agentspytestGitHub Actions
Local-first · ledger
moneytrail
Turns bank statements into a ledger that provably adds up. Most finance tools begin by categorising transactions — the wrong first step, because if the parse silently dropped a row, every total built on top of it is quietly wrong and nothing in the product will ever say so. So the first component here is a reconciliation gate, checked against arithmetic the bank already published: a chain check that walks the running-balance column and localises a fault to a line number, and a totals check that catches faults the chain cannot see, including rows lost off the end. Parses CSV, PDF, and Excel statements; the core carries zero required dependencies and statements never leave the machine.
PythonpdfplumberopenpyxlpytestCLIGitHub Actions
Agentic · gated actions
AgentOps
An AI support engineer that can take real actions on a user's behalf, but only from behind a policy and escalation gate — the model proposes, the gate decides, and anything outside policy escalates to a human instead of being attempted. The LLM sits behind a provider-agnostic seam (Anthropic, OpenAI, Google) with a LangGraph runner implementing the same interface, so orchestration can be swapped without touching the tools. Ships with an eval harness that scores tool selection, task success, escalation correctness, grounding, cost, and latency.
FastAPILangGraphAnthropicOpenAISQLAlchemyAlembicstructlog
MLOps · QA @ L&T Finance
Nostradamus — Pipeline QA
End-to-end validation of a production MLOps platform integrating 8 ML models across EWS, Banking, Self-Cure, and Collections. Ran data-integrity checks, SQL verification, and UAT on Google Cloud Platform and Kubeflow, catching a critical EWS output-formatting defect before deployment.
PythonSQLGoogle CloudKubeflowUAT