diff --git a/dashboard/builders.go b/dashboard/builders.go
index 6953460..87e0abc 100644
--- a/dashboard/builders.go
+++ b/dashboard/builders.go
@@ -993,21 +993,6 @@
 		}
 	}
 
-	if repo == "exp" {
-		if !strings.HasPrefix(c.Name, "android-") && c.Name != "linux-amd64" {
-			return false
-		}
-	}
-	if repo == "term" {
-		// no code yet in repo
-		return false
-	}
-	if repo == "perf" && c.Name == "linux-amd64-nocgo" {
-		// The "perf" repo requires sqlite, which
-		// requires cgo. Skip the no-cgo builder.
-		return false
-	}
-
 	if p := c.buildsRepo; p != nil {
 		return p(repo, branch, goBranch)
 	}
@@ -1017,7 +1002,13 @@
 	if !c.SplitMakeRun() {
 		return false
 	}
-	if repo == "mobile" {
+	switch repo {
+	case "go":
+		return true
+	case "term":
+		// no code yet in repo
+		return false
+	case "mobile":
 		// Mobile is opt-in.
 		return false
 	}
@@ -1161,9 +1152,8 @@
 				return true
 			}
 		}
-		// TODO: remove items from this set once these repos have go.mod files:
 		switch proj {
-		case "grpc-review", "exp", "mobile", "term":
+		case "grpc-review":
 			return false
 		}
 		return true
@@ -1386,6 +1376,16 @@
 		HostType:  "host-linux-jessie",
 		MaxAtOnce: 1,
 		Notes:     "cgo disabled",
+		buildsRepo: func(repo, branch, goBranch string) bool {
+			switch repo {
+			case "perf":
+				// Requires sqlite, which requires cgo.
+				return false
+			case "mobile":
+				return false
+			}
+			return true
+		},
 		env: []string{
 			"CGO_ENABLED=0",
 			"GO_DISABLE_OUTBOUND_NETWORK=1",
diff --git a/dashboard/builders_test.go b/dashboard/builders_test.go
index 130e4dd..45c8c6e 100644
--- a/dashboard/builders_test.go
+++ b/dashboard/builders_test.go
@@ -155,6 +155,19 @@
 				"windows-amd64-2016",
 			},
 		},
+		{
+			repo:   "exp",
+			branch: "master",
+			want: []string{
+				"freebsd-amd64-12_0",
+				"linux-386",
+				"linux-amd64",
+				"linux-amd64-race",
+				"openbsd-amd64-64",
+				"windows-386-2008",
+				"windows-amd64-2016",
+			},
+		},
 	}
 	for i, tt := range tests {
 		if tt.branch == "" || tt.repo == "" {
@@ -398,6 +411,10 @@
 		{b("linux-amd64-longtest", "net"), onlyPost},
 		{b("linux-amd64-longtest@go1.12", "go"), onlyPost},
 		{b("linux-amd64-longtest@go1.12", "net"), none},
+
+		// Experimental exp repo.
+		{b("linux-amd64", "exp"), both},
+		{b("windows-386-2008", "exp"), both},
 	}
 	for _, tt := range tests {
 		t.Run(tt.br.testName, func(t *testing.T) {
