• Grey Facebook Icon
  • Grey Twitter Icon
  • Grey YouTube Icon

Droidcon is a registered trademark of Mobile Seasons GmbH

Kotlin Internal DSL - Create your own Language!

Vignesh Ramakrishnan

Senior Software Engineer


Vignesh Ramakrishnan is an Senior Android Developer at Freshworks building their Android apps and also working on the GoMobile tool for mobile apps to solve the problem of cross-platform development. Excited with what Kotlin offers on the table, he has been using it extensively to solve common problems during development, trying to make use of the pool of features and solutions they provide. When he isn't building apps, he is driven by music and football.


Want to make your code eloquent? artistic? expressive? remove boilerplate? Lets make your code begin to read like English :). DSL (Domain specific language) though around for quite some time, it has gained more momentum in the recent times with Kotlin - which provides some powerful language features giving us the advantage of building internal DSLs. This talk introduces and highlights custom DSLs with Kotlin features. You will learn, - Our use cases with custom Kotlin DSL’s at Freshworks. - DSL and its benefits. - Why Internal DSL? - Key differences and why Kotlin makes a great DSL host language. - Kotlin Building Blocks(Features) to create DSLs. - Live Coding -- Multiple nifty DSL usage and example use cases(Let's build it together). -- Using Kotlin DSL in Android apps. - What next?(Advanced) - Disadvantages.

Introductory and overview