diff --git a/lib/farside/instances.ex b/lib/farside/instances.ex
index 7a07827..625bbb4 100644
--- a/lib/farside/instances.ex
+++ b/lib/farside/instances.ex
@@ -43,10 +43,16 @@ defmodule Farside.Instances do
 
   def update() do
     {:ok, file} = File.read(@services_json)
-    {:ok, json} = Poison.decode(file, as: [%Service{}])
+    {:ok, json} = Jason.decode(file)
 
     # Loop through all instances and check each for availability
-    for service <- json do
+    for service_json <- json do
+      service_atom = for {key, val} <- service_json, into: %{} do
+        {String.to_existing_atom(key), val}
+      end
+
+      service = struct(%Service{}, service_atom)
+
       IO.puts("#{@debug_header}#{service.type}")
 
       result =
diff --git a/mix.exs b/mix.exs
index 229987e..80cc121 100644
--- a/mix.exs
+++ b/mix.exs
@@ -26,7 +26,6 @@ defmodule Farside.MixProject do
       {:jason, "~> 1.1"},
       {:plug_attack, "~> 0.4.2"},
       {:plug_cowboy, "~> 2.0"},
-      {:poison, "~> 5.0"},
       {:quantum, "~> 3.0"},
       {:redix, "~> 1.1"}
     ]
diff --git a/test/farside_test.exs b/test/farside_test.exs
index d508b27..ff7ac35 100644
--- a/test/farside_test.exs
+++ b/test/farside_test.exs
@@ -45,7 +45,7 @@ defmodule FarsideTest do
 
   test "/:service" do
     {:ok, file} = File.read(@services_json)
-    {:ok, service_list} = Poison.decode(file, as: [%{}])
+    {:ok, service_list} = Jason.decode(file)
 
     service_names =
       Enum.map(