Planit Consulting
Planit Consulting: AI search across planning documents, with answers that point back to their original sources.
Updated on
Hours to seconds
Search time
15,801 docs
Coverage
Per answer
Citations
About 40%
Daily work automated

About Planit Consulting
Planit Consulting is a town planning and architectural design consultancy based at Innovation Place in Godalming, Surrey, serving London and the South East of England. It advises on planning applications, appeals, permitted development, certificates of lawfulness and rural and Green Belt schemes, alongside architectural design for new homes, masterplanning and agricultural and estate projects. Several of its planners hold RTPI (Royal Town Planning Institute) accreditation. A lot of its work sits in sensitive town and countryside locations such as the Surrey Hills National Landscape, where a scheme often hinges on prior cases and appeal outcomes, which is exactly what makes a searchable precedent archive worth so much.
The challenge
Planit Consulting had an archive of 18,429 .docx documents: planning statements, design and access, heritage, appeal, pre-app, cover letters and conditions. To find a precedent or a relevant passage, consultants had to open files and read them by hand. That is slow, error-prone Ctrl+F work, and on schemes that turn on prior cases and appeal outcomes it cost hours per piece of research. The archive held the answers, but nobody could get to them quickly.
The analysis
The archive contains 14 document types across 3 tiers, from primary documents to files used only for metadata. We adjusted passage splitting to those differences, so a planning statement receives different handling from a covering letter.
We started with classification. In the archive of 18,429 .docx files, 514 documents couldn't be reliably classified and were handled separately. The final search index contains 15,801 documents and 95,592 passages. The archive total, exceptions and search index describe different parts of the processing.
We used OpenAI text-embedding-3-large with 3072 dimensions for embeddings. Cost monitoring works at passage level so processing doesn't require the whole archive to be embedded again each time.
Consultants ask follow-up questions about a subject. The app therefore stores conversations and messages in SQLite so users can return to an earlier line of enquiry.
What we built
Document classification pipeline
Before anything could be searched, the archive had to be sorted. A Python pipeline classifies each .docx into one of 14 types across 3 tiers, from primary documents down to metadata-only files, so retrieval later knows what it is pulling.
3 parts
- Processes the archive of 18,429 .docx files using 14 document types across 3 tiers: primary, secondary and metadata-only.
- The 514 documents that could not be reliably typed are split off and handled separately, instead of polluting the searchable set.
- The document type determines how a file is split and made available for search.
Semantic chunking and embedding with cost control
Selected documents are split into passages using their sections, then converted into vectors with OpenAI text-embedding-3-large. We added cost monitoring per passage and separate handling for passages that are too long.
3 parts
- Semantic chunking with section detection produces 95,592 chunks from 15,801 documents.
- Embeddings through OpenAI text-embedding-3-large with 3072 dimensions.
- Oversized chunks get separate handling, and cost is controlled at the chunk level rather than re-embedding everything blindly.
ChromaDB vector store and FastAPI backend
Embeddings and metadata sit in a persistent ChromaDB database. A FastAPI backend retrieves relevant passages for the chat when a user asks a question.
3 parts
- ChromaDB vector store with persistent storage holds all 95,592 chunks and their metadata.
- FastAPI backend exposes REST endpoints with CORS for the chat UI to call.
- Semantic search compares meaning, so it can retrieve passages even when the wording differs from the question.
Planit AI chat UI with conversation history
A React TypeScript chat interface, named Planit AI, is where consultants actually work. It is built for the way they ask questions, one follow-up after another, with a sidebar that keeps every line of enquiry organised.
3 parts
- React TypeScript UI with a sidebar that groups conversations, plus rename and delete.
- Conversations and messages persist in SQLite, so a consultant can pick up an earlier line of questioning.
- Designed around iterative questioning, the way consultants narrow in on the precedent they need.
RAG answering via Claude with source citations
Claude receives the retrieved passages as context for its answer. References to the original .docx files help consultants check the text and its context. A citation helps with that review; it isn't proof that an answer is correct.
3 parts
- Retrieved passages from the firm's archive provide context for Claude's answer.
- References to the original .docx files alongside the answer.
- Consultants can open the cited documents to assess a retrieved passage in context.
The blueprint
- 1Classification
- 2Chunking
- 3Embedding
- 4Vector DB
- 5RAG chat
Results
Search time
Hours to seconds
Planit describes the change as hours of manual searching compared with seconds using the search tool.
Coverage
15,801 docs
95,592 searchable chunks with metadata, from an 18,429-document archive.
Citations
Per answer
References to the original .docx files help consultants verify the answer.
Daily work automated
About 40%
Planit's own estimate of the daily consultancy work the tool now handles.
Tech & tools

“We are genuinely amazed by how well this works. About 40% of our daily consultancy work is now automated. Finding relevant precedents that used to take hours now happens in seconds, with citations back to the original document so we can always verify.”
Janet Long
Founder, Planit Consulting
Part of our service: Custom Applications
Why teams build with TopDevs
- Fixed price, agreed up front
- 100% code ownership, no lock-in
- Prototypes in days, live in weeks
- Modern, AI-native & secure tech
Ready to build something that actually works?
Book a no-obligation call. We'll look at where the biggest win sits — fixed price, your code, no lock-in.
Start your own projectMore case studies

Bag of Dreams
Games
Bag of Dreams: a cozy roguelike card game, built from concept to release on Steam by two of the owners of TopDevs.
Roguelite deckbuilder
Genre
March 2026
Release

Castle of Blackwater
Games / Web3
Castle of Blackwater: a multiplayer social deduction game, built from first sketch to worldwide launch on Steam by two of the owners of TopDevs.
Up to 10
Players per round
91% positive
Steam reviews

Fair Play Collective
Web3 gaming
Fair Play Collective: logo, identity, design and an animated website for a partnership in Web3 gaming.
Brand, design and site
Made
Home, blog and article
Pages

