     (read-string s)))
 
 (defn read-project-clj [repo-owner repo-name]
-  (let [url (str "https://raw.github.com/" repo-owner "/" repo-name "/master/project.clj")]
-    (edn/read (PushbackReader. (io/reader url)))))
-
+  (try
+    (let [url (str "https://raw.github.com/" repo-owner "/" repo-name "/master/project.clj")]
+      (edn/read (PushbackReader. (io/reader url))))
+    (catch Exception e
+      nil)))
+
+(defn read-build-boot [repo-owner repo-name]
+  (try
+    (let [url (str "https://raw.github.com/" repo-owner "/" repo-name "/master/build.boot")]
+      (safe-read (slurp url)))
+    (catch Exception e
+      nil)))
+
+(defn read-boot-deps [repo-owner repo-name]
+  (if-let [parsed-build-file (read-build-boot repo-owner repo-name)]
+    (some->> parsed-build-file
+            rest
+            (apply hash-map)
+            :dependencies
+            last)))
 
 (defn check-deps [deps]
   (map #(conj % (anc/artifact-outdated? % {:snapshots? false :qualified? false})) deps))

                    stats (calculate-stats deps)
                    plugins-stats (calculate-stats plugins)
                    result (assoc info-map
                             :name project-name
                             :repo-name repo-name
                             :repo-owner repo-owner

                             :stats stats
                             :plugins-stats plugins-stats)]
                (log/info "project map" result profiles)
                result)))))

(defn project-map [repo-owner repo-name]
  (let [lein-result (future (lein-project-map repo-owner repo-name))
        boot-result (future (boot-project-map repo-owner repo-name))]
    (if (nil? @lein-result)
      @boot-result
      @lein-result)))

(defn- repo-redirect [{:keys [params]}]
  (log/info params)
