01 — Problem
The problem
Teams keep writing the same throwaway scripts to summarise a page, query a PDF or mock an API for frontend work. Each copy has its own bugs, no access control and no cost limits.
02 — Role
My role
- Defined the toolkit’s scope and the shared platform concerns: auth, quotas and tracing.
- Built the FastAPI tool services with LangChain, plus the custom TensorFlow/Keras models.
- Delivered the Next.js portal with streaming results for long-running jobs.
03 — Architecture
How it fits together
01 Portal
- Next.js UI
- Auth & quotas
02 Tools
- Web summariser
- PDF Q&A
- Mock API generator
- Code validator
03 ML
- LLM via LangChain
- TensorFlow/Keras models
- Embeddings
04 Data
- PostgreSQL
- Document chunks
- Result cache
Key decisions
- Answers require citations; PDF Q&A keeps page-level provenance.
- Summaries are cached by URL hash, and fetched pages are treated as untrusted (prompt-injection and SSRF checks).
- Per-team token budgets, so a runaway job can’t burn the month’s budget.
04 — Results
Results
- One supported tool instead of several team-specific scripts
- Usage and cost visible per team through shared tracing and quotas
05 — Retrospective
What I’d do differently
Ship fewer tools and make each one better. Every tool costs maintenance whether or not people use it.
Give each tool an owner and an SLA on day one, so it is treated as an internal product, not a demo.
Working on something similar?
I’m happy to talk through architecture, trade-offs or a role.
Get in touch