Lankan Urban Dictionary is a platform for crowdsourcing and archiving Sri Lankan slang — specifically Sinhalese terms that exist in everyday speech but nowhere else in written form. Think Urban Dictionary, but for a language and culture that’s largely underdocumented online.
The idea started simple: a place to look up a word your parents used that you didn’t understand, or to submit the slang your friend group invented. It grew into something with real organic traction.
Performance optimisation
The original codebase had load times exceeding 1 second on cold visits. For a content-first site where most users arrive from search, that’s a significant drop-off risk.
I worked through the full stack to bring initial load times from over 1 second to under 400ms:
- MongoDB query optimisation — Rewrote the most common queries to use proper indexes, avoiding collection scans on the hot paths (word lookup, recent submissions). Compound indexes on frequently co-queried fields made a measurable difference.
- Database transactions — Upvote and submission flows involved multiple writes that had to be atomic. Moving these into MongoDB transactions eliminated the edge cases where partial writes left the DB in an inconsistent state.
- SvelteKit serverless compute — Migrated the API layer to SvelteKit’s server routes running as serverless functions, reducing cold start overhead compared to the previous setup.
SEO
The site’s content — slang terms with definitions, examples, and community votes — is exactly what people search for, but only if it’s indexed properly.
I invested in the technical SEO foundations: semantic HTML structure, proper meta tags, canonical URLs, and structured data for dictionary entries. The result was organic growth to over 3,000 clicks per month from search, without any paid promotion.
Infrastructure
The app is containerised with Docker and deployed to Google Cloud Run, which gave me a production environment that scales to zero when idle (keeping costs low) and scales up cleanly under traffic spikes.
Key learnings
This project made MongoDB’s document model genuinely click for me — not just the happy path, but the failure modes. Multi-document transactions, index planning, and the performance implications of denormalisation all became concrete through debugging real traffic patterns rather than synthetic examples.