No Scratch Nav
Built a community route-sharing platform for coach and bus drivers with AI — 221 tests, 30+ API endpoints, CI/CD, live in production
View Source on GitHub View Live AppOverview
No Scratch Nav is a community platform for professional coach and bus drivers. Drivers share Google Maps routes they have driven safely — through narrow city centres, under low bridges, into tight hotel and airport approaches — so other drivers can trust a route before they commit to it. Built entirely with AI assistance.
The Problem
Standard navigation apps assume a car. A 14-metre coach fails where a car fits: narrow historic city centres, low-bridge and height-restricted zones, and tight hotel, airport, or attraction approaches. There is no way to know whether a route actually works for a large vehicle until you are already committed to it. The safest route is one another experienced driver has already driven successfully.
Constraints
- No prior coding experience when starting
- Must stay fully compliant with Google Maps Terms of Service — no scraping, no API bypassing, user-submitted links only
- Must work well on mobile — drivers use it on the road
- Community trust: shared routes need signals (upvotes, verified drivers) so drivers can trust them
- Zero budget for third-party mapping APIs
Approach
Built incrementally with AI pair programming. Started with a React + TypeScript + Material UI frontend and a Node.js + Express API, then added PostgreSQL for routes, requests, users, and upvotes; Redis for caching and rate limiting; and a Telegram bot for notifications. Features shipped one at a time: sharing routes, searching and filtering, route requests, and a drag-and-drop trip planner.
Key Decisions
AI tools work better with a single coherent context. Shared types, a single CI config, and one codebase to prompt around made every iteration faster.
- Separate frontend and backend repos
- Microservices architecture
The domain is inherently relational — users, routes, route requests, and upvotes reference each other — and we search across country, city, and keywords. PostgreSQL provides relational integrity, full-text search, and JSONB for flexible fields in one system. AI tooling also has deep Postgres training data, which made iteration faster.
- MongoDB for flexibility
- SQLite for simplicity
We do not compute or score routes algorithmically — parsing map data to do that would break Google's Terms of Service. Instead, trust is community-driven: upvotes and verified-driver counts surface the routes real professionals have actually driven. It is a deliberate product decision, not a technical shortcut.
- Automated route scoring from map data
- Editorial curation by admins
AI can iterate faster when deployment is automated. The pipeline catches bugs before they reach production.
- Manual deploy after features are complete
- Single server with no containerization
Tech Stack
- React
- TypeScript
- Material UI
- Node.js
- Express
- PostgreSQL
- Redis
- Docker
- Nginx
- GitHub Actions
- Telegram Bot API
- Jest
Impact
Live at noscratchnav.shareroute.org with automated CI/CD. A real community product for coach and bus drivers — trusted routes, route requests, upvotes, and a Telegram bot. It demonstrates that AI-assisted development can ship a production platform, not just demos.
Key Learnings
- Monorepo structure makes AI prompting more coherent
- Investment in CI/CD early saves debugging time later
- AI can handle full-stack development when given clear, constrained problems
- Testing is critical when you can't manually validate every edge case
- Product constraints (like Google Maps ToS) can shape architecture and lead to better product decisions