        :last-tweet-id (-> user :status :id)})
     (catch Exception _ nil)))
 
+(defn format-tweet
+  [t]
+  {:id (:id t)
+   :tags (->> t :entities :hashtags (mapv :text))})
+
 (defn get-tweets-before-tweet-id
   [creds screen-name id]
   (let [get-raw-tweets

                                           twh/exception-rethrow))
        f (go-loop [s (json/parsed-seq r true)]
                   (when-not @end?
                     (>! chan (first s))
                     (recur (rest s))))]
    ;; TODO: There may be a small memory leak here: if statuses-filter
    ;;       is stopped in the middle of a JSON string, the lazy seq may

                             (twh/response-throw-error resp)))
                         twh/exception-rethrow)))
        tweets (->> (get-raw-tweets)
                    (map format-tweet))]
    (if (= id (:id (first tweets)))
      (rest tweets)
      tweets)))
