Macroid is the most badass modular functional user interface creation language for Android, implemented with Scala macros. Some people say it’s also a dead noodle.

Striving to be focused on one thing (GUI), Macroid promotes composability and high-level abstractions.

Prerequisites: Scala 2.10.x or 2.11.x, Android API 9+.

Join the chat at


Version 2.0.0-M5

Macroid is packaged in the AAR format and published to Maven Central.

Assuming sbt version 0.13.x and android-sdk-plugin version 1.2.20 and above, you can add it to your project like this:

libraryDependencies ++= Seq(
  aar("org.macroid" %% "macroid" % "2.0.0-M5")

If you want to use the SNAPSHOT version you need to add the Sonatype SNAPSHOT repo

resolvers +=
  "Sonatype OSS Snapshots" at ""

libraryDependencies ++= Seq(
  aar("org.macroid" %% "macroid" % "2.0-SNAPSHOT")


Macroid has been implemented with Scala macros


Modular functional user interface creation language for Android

Open Source

By opening its development, we hope that the community helps us to expand and improve this project. Macroid wants you!