BRD/PRD/TSD·self-hosted
Precise specs for product & engineering teams.
Jangka interviews you, shows what's still missing, and drafts BRDs, PRDs and TSDs into your templates. Self-hosted. Your LLM key. Your data.
$ curl -fsSL https://raw.githubusercontent.com/iqbalr3000/jangka/v1.0.0-rc.1/docker/docker-compose.yml -o docker-compose.yml$ echo "MASTER_KEY=$(openssl rand -base64 32)" > .env$ echo "JANGKA_VERSION=1.0.0-rc.1" >> .env$ docker compose up -dThe approach
A chat window writes the whole document. Then you hunt for what it invented.
Generic AI chat
4.2 Performance
The system shall support 10,000 concurrent users with 99.99% uptime, in line with the existing platform SLA.
3 claims nobody gave it
Jangka
4.2 PerformanceEmpty
Not enough information yet.
Ask me about this
How it works
Interview, check the gaps, review the draft.
- 01
Interview
The assistant asks for what the template needs before drafting anything.
- 02
See the gaps
Every section shows its state, so you know what's missing before anyone reviews it.
- 03
Draft and review
Sections stream in. Rewrites arrive as a diff you accept or discard.
Features
Writing, review and operations in one instance.
Writing
- Interview-first drafting
- BRD, PRD and TSD templates, plus your own
- Completeness check per section
- Rewrites shown as a diff
- Mermaid diagrams, edited as code
Collaboration
- Collections with group permissions
- Review with comments and approvals
- BRD → PRD → TSD traceability with impact flags
- Section history and audit log
- Full-text search
Operations
- DOCX and PDF export
- Anthropic, OpenAI-compatible, Gemini
- Password or SSO (Google, OIDC)
- Secrets encrypted at rest, AES-256-GCM
- No telemetry
Traceability
Change a business requirement. See every spec it touches.
Requirements link by ID from BRD to PRD to TSD. When an upstream requirement changes, the requirements that depend on it are flagged for review.
Self-hosted
One Docker image. One Postgres. Nothing else.
Jangka runs inside your network. Requirements go to the LLM provider you configure and nowhere else.
- LLM
- Bring your own key: Anthropic, OpenAI-compatible or Gemini.
- Secrets
- Encrypted with your
MASTER_KEY. - Telemetry
- None.
- Tenancy
- One instance per organization.
- License
- MIT.
Quick start
Running in three commands.
Then open http://localhost:3000 and follow the setup wizard.
# 1. Download the compose filecurl -fsSL https://raw.githubusercontent.com/iqbalr3000/jangka/v1.0.0-rc.1/docker/docker-compose.yml -o docker-compose.yml# 2. Generate the key that encrypts stored secretsecho "MASTER_KEY=$(openssl rand -base64 32)" > .env# 3. Pin the Jangka versionecho "JANGKA_VERSION=1.0.0-rc.1" >> .env# 4. Start Jangka and Postgresdocker compose up -dFAQ
Questions
Is it free?
Yes. Jangka is MIT licensed and runs on your own infrastructure. The only running cost is what your LLM provider charges for tokens.
Which LLMs does it support?
Anthropic, any OpenAI-compatible API (including self-hosted models behind one), and Google Gemini. Your organization configures its own key.
Does my data leave my server?
Only as requests to the LLM provider you configure. Jangka sends no telemetry and there is no hosted service in between.
What do I need to run it?
Docker and Postgres 18. The compose file starts both.
Can I use my own templates?
Yes. BRD, PRD and TSD templates ship by default. Duplicate one, edit its sections and guidance, and publish it; the completeness check follows your structure.