# Companies currently using Go throughout the world

## United States

  * [Google](http://google.com/) - the core Go team work at Google. Most uses of Go at Google are confidential.
    * [Kubernetes](http://kubernetes.io/)
    * The [YouTube](http://youtube.com/) team have released their [MySQL scaling infrastructure](http://vitess.io/) as open source software [1](https://www.youtube.com/watch?v=5yDO-tmIoXY), [2](https://www.youtube.com/watch?v=qATTTSg6zXk), [3](https://www.youtube.com/watch?v=midJ6b1LkA0&sns=gp)
    * dl.google.com is written in Go: [mailing list discussion](https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/BNUNbKSypE0) / [OSCON slides](http://talks.golang.org/2013/oscon-dl.slide#1)
    * [Flywheel: Google's Data Compression Proxy for the Mobile Web](http://research.google.com/pubs/pub43447.html), [blog post on the rewrite](http://matt-welsh.blogspot.co.uk/2013/08/rewriting-large-production-system-in-go.html)
    * [A lot of scripts that earlier were written in Sawzall](http://www.unofficialgoogledatascience.com/2015/12/replacing-sawzall-case-study-in-domain.html)
    * [Seesaw load balancer](http://google-opensource.blogspot.nl/2016/01/seesaw-scalable-and-robust-load.html) -[github repo](https://github.com/google/seesaw)
    * Other known uses include
      * the [Turkey Doodle (2011)](http://blog.golang.org/2011/12/from-zero-to-go-launching-on-google.html),
      * the [Santa Tracker (2012)](https://www.youtube.com/watch?v=fc25ihfXhbg),
      * [writing map/reduce jobs](http://simplystatistics.org/2013/02/15/interview-with-nick-chamandy-statistician-at-google/),
      * [Jam With Chrome](http://www.jamwithchrome.com/technology),
      * the [CubeSlam Chrome Experiment](https://code.google.com/p/cubeslam/),
      * Google Helpouts,
      * [Doorman, Global Distributed Client Side Rate Limiting](https://github.com/youtube/doorman)
      * and the [pprof command line tool](https://codereview.appspot.com/153750043/).
  * [6Wunderkinder](http://www.6wunderkinder.com/) - [video](https://www.youtube.com/watch?v=sVpMc0hwqps)
  * [99designs](http://www.99designs.com) - [golang-nuts](https://groups.google.com/d/msg/golang-nuts/eeAmkzaRt-w/rmxBZszJUCcJ)
  * [Abot](https://www.itsabot.org) - [github](https://github.com/itsabot/abot)
  * [ActiveState](http://www.activestate.com) - [github](https://github.com/activestate)
  * [Acquia](https://www.acquia.com) - [blog](https://dev.acquia.com/blog/open-sourcing-statsgod-a-statsd-implementation-in-go/16/11/2015/8171)
  * [adeven](http://www.adeven.com) - [blog](http://big-elephants.com/2012-10/deploying-go-with-capistrano/)
  * [Adobe](https://www.adobe.com/)
  * [Adori Labs](http://www.adorilabs.com/)
  * [AeroFS](https://www.aerofs.com/) - [github](https://github.com/aerofs/gockerize), [blog](https://www.aerofs.com/blog/introducing-gockerize/)
  * [Aerospike](http://www.aerospike.com) - [blog](https://groups.google.com/d/msg/golang-nuts/GA902tHnjdM/ARRaBS2g4zEJ)
  * [AgileBits — 1Password for Teams](https://teams.1password.com)
  * [Airbrake](http://airbrake.io/)
  * [Airware](http://airware.com/) - [eng blog](https://makers.airware.com), [github](https://github.com/airware)
  * [Apcera ](http://www.apcera.com) - [blog](http://gigaom.com/2012/09/13/will-go-be-the-new-go-to-programming-language/)
  * [Apeiron Data Systems](http://apeirondata.com/)
  * [Appbase](https://appbase.io/)
  * [Append Media](https://append.media/)
  * [Appoxy](http://appoxy.com) - [twitter](https://twitter.com/appoxy)
  * [AppsCode Inc.](https://appscode.com) - [github](https://github.com/appscode), [twitter](https://twitter.com/appscodehq)
  * [Arista Networks](http://www.arista.com/en/) - [twitter](https://twitter.com/tsunanet/status/665998079724621825)
  * [Ardan Studios/Labs](http://www.ardanstudios.com) - [twitter](https://twitter.com/ardanlab)
  * [Aruba Networks](http://www.arubanetworks.com/) - [golang-nuts](https://groups.google.com/d/msg/golang-nuts/M2koiSyoF6E/8rUujT5RCwEJ)
  * [Ascendant Compliance Manager](https://www.ascendantcompliancemanager.com/) - Batch process millions of security trades per day.
  * [Atatus](http://www.atatus.com/) - [blog](http://www.atatus.com/blog/golang-auto-build-versioning/)
  * [Avocet](http://avocet.io/) - [blog](http://blog.avocet.io/from-0-to-6-2-billion-requests/)
  * [Awake Networks](http://www.awakenetworks.com)
  * [Axioms](http://axioms.io) - [blog](http://axioms.io/zen/2014-11-06-swift-go/)
  * [Basecamp](https://basecamp.com/) - [blog](https://signalvnoise.com/posts/3897-go-at-basecamp)
  * [BBC](http://www.bbc.co.uk) - [source](https://github.com/bbc/mozart-api-common)
  * [BBC Worldwide](http://www.bbcworldwide.com/) - [source](http://www.quora.com/Go-programming-language/Is-Google-Go-ready-for-production-use/answer/Kunal-Anand)
  * [Beachfront Media](http://www.beachfrontmedia.com) [article](http://arstechnica.com/information-technology/2013/05/my-favorite-programming-language-googles-go-has-some-coders-raving/)
  * [Beam](https://beam.pro) - [github](https://github.com/WatchBeam)
  * [Beehively](http://beehively.com) - [Presentation](https://speakerdeck.com/nexneo/joy-of-single-purpose-services-in-go)
  * [Beme](http://beme.com) - [job post](http://beme.com/jobs.html#product-engineer)
  * [Betable](https://betable.com) - [talk #1](http://rcrowley.org/talks/surge-2013.html), [talk #2](http://rcrowley.org/talks/strange-loop-2013.html)
  * [BigCommerce](https://www.bigcommerce.com/) - [blog](http://www.bigeng.io/what-keeps-us-going/), [github](https://github.com/bigcommerce)
  * [Bitbucket](https://bitbucket.org/) - [source](http://www.reddit.com/r/golang/comments/1pjn0k/bitbucket_hiccup_reveals_go_usage/)
  * [bitly](http://bit.ly) - [github](https://github.com/bitly/nsq) [blog](http://word.bitly.com/post/33232969144/nsq)
  * [Blippar](http://blippar.com)
  * [Blink Analytics](https://blinkanalytics.com) - [github](https://github.com/blinkanalytics)
  * [Bolt](http://bolt.com)
  * [bol.com](http://bol.com) - [github](https://github.com/emicklei/go-restful) [blog](http://ernestmicklei.com/2015/07/04/testing-your-rest-api-in-go-with-forest/)
  * [botvs.com](http://botvs.com)
  * [Booking.com](http://booking.com) - [source](http://www.techworld.com/careers/perl-developers-dispel-doubts-about-codes-longevity-3599357/)
  * [Bread Finance](https://www.getbread.com)
  * [Bridgevine](https://bridgevine.com/) - [github](https://github.com/Bridgevine)
  * [Brightcove](https://brightcove.com)
  * [BuySellAds](https://buysellads.com)
  * [BuzzFeed](https://buzzfeed.com) - [talk](https://go-talks.appspot.com/github.com/jonmorehouse/gateway-golang-talk/main.slide#1)
  * [Byndr](http://www.byndr.org)
  * [Canonical](http://canonical.com/) - [source](http://www.youtube.com/watch?v=7QDVRowyUQA), [email](https://groups.google.com/d/msg/golang-nuts/jLnMsUbYwrQ/isfMUvBOkEIJ)
  * [Carbon Games](http://carbongames.com/) - [source](http://carbongames.com/opensource.html#the_go_programming_language_bsd)
  * [Clearblade](http://clearblade.com/) - [github](https://github.com/ClearBlade/Go-SDK)
  * [Clever](https://clever.com/) - [github](https://github.com/clever) [blog](http://engineering.clever.com/)
  * [CloudFlare](http://www.cloudflare.com/) - [blog](http://blog.cloudflare.com/go-at-cloudflare) [article](http://arstechnica.com/information-technology/2013/02/cloudflare-blows-hole-in-laws-of-web-physics-with-go-and-railgun/)
  * [Cloud Foundry](http://www.cloudfoundry.com) - [blog](http://pivotallabs.com/a-rubyist-learning-go-a-basic-go-program/) [github](https://github.com/cloudfoundry)
  * [CloudWalk](https://www.cloudwalk.io) - [github](https://github.com/cloudwalkio/)
  * [clypd](http://www.clypd.com) - [blog](http://www.clypd.com/getting-to-go/)
  * [Cockroach Labs](http://www.cockroachlabs.com/) - [blog](http://www.cockroachlabs.com/blog/why-go-was-the-right-choice-for-cockroachdb/) [github](https://github.com/cockroachdb/)
  * [Codeship](http://codeship.com) - [blog](http://blog.codeship.com/creating-fakes-in-go-with-channels/)
  * [Comcast](http://corporate.comcast.com/) - [github](https://github.com/comcast)
  * [Conformal Systems](http://www.conformal.com) - [github](https://github.com/conformal)
  * [Copper.IO](http://copper.io) - [blog](https://blog.copper.io/building-a-scaleable-app-that-can-actually-scale/)
  * [CoreOS](https://coreos.com/) - [github](https://github.com/coreos/), [blog](http://blog.gopheracademy.com/birthday-bash-2014/go-at-coreos/)
  * [Couchbase](http://www.couchbase.com/) - [github](https://github.com/couchbaselabs)
  * [Crashlytics](http://try.crashlytics.com/) - [tweet](https://twitter.com/brianhatfield/status/360866306276327424)
  * [Crowdstrike](http://www.crowdstrike.com/) - [blog](http://jimplush.com/talk/2015/12/19/moving-a-team-from-scala-to-golang/)
  * [Cupcake](https://cupcake.io) - [tweet](https://jonathan.cupcake.is/posts/QweOXcW6rmbdj16aXlEdNA) [github](https://github.com/cupcake)
  * [CURT Manufacturing](https://www.curtmfg.com) - [github](https://github.com/curt-labs/)
  * [CustomerIO](http://www.customer.io) - [tweet](https://twitter.com/jrallison/status/365560974251540481)
  * [Dailymotion](http://www.dailymotion.com) - [github](https://github.com/dailymotion), [blog](http://engineering.dailymotion.com/our-way-to-go/)
  * [Datadog](https://www.datadoghq.com) - [blog](http://blog.gopheracademy.com/birthday-bash-2014/go-at-datadog/)
  * [Datascale](http://datascale.io)
  * [DeferPanic](https://deferpanic.com) - [github](https://github.com/deferpanic)
  * [Dell](https://www.dell.com)
  * [DigitalOcean](http://www.digitalocean.com/) - [blog](http://www.digitalocean.com/company/blog/get-your-development-team-started-with-go/)
  * [Disqus](http://disqus.com/) - [blog](http://blog.disqus.com/post/51155103801/trying-out-this-go-thing), [blog](http://highscalability.com/blog/2014/5/7/update-on-disqus-its-still-about-realtime-but-go-demolishes.html)
  * [DNSimple](https://dnsimple.com/) - [blog](http://blog.dnsimple.com/a-golang-redirection-service/)
  * [Docker](https://www.docker.com/) - [docker](https://github.com/docker/docker) [slides]
  * [domainr](http://domai.nr/) - [tweet](https://twitter.com/rr/status/368988340848037889)
  * [DotDashPay](https://www.dotdashpay.com) - [github](https://github.com/dotdashpay)
  * [DoubleDutch](https://www.doubledutch.me)
(http://www.slideshare.net/jpetazzo/docker-and-go-why-did-we-decide-to-write-docker-in-go)
  * [Doximity](https://www.doximity.com)
  * [DramaFever](https://www.dramafever.com/) - [github](https://github.com/DramaFever)
  * [drone.io](http://drone.io) - [post](https://groups.google.com/d/msg/golang-nuts/Lo7KP3rWP3o/GvNju75FgPIJ) [github](https://github.com/drone)
  * [Dropbox](http://www.dropbox.com) - [blog](https://tech.dropbox.com/2014/07/open-sourcing-our-go-libraries/), [github](https://github.com/dropbox/godropbox)
  * [eBay](http://www.ebay.com/) - [github](https://github.com/eBay/fabio), [meetup](http://www.meetup.com/golang-amsterdam/events/222001978/)
  * [Economist](http://www.economist.com/) - [github](https://github.com/EconomistDigitalSolutions/ramlapi)
  * [Embedly](http://embed.ly) - [blog](http://blog.embed.ly/post/45149878472/167857590)
  * [EMC Cloud Services](http://www.emc.com/campaign/emc-cloud-services/index.htm) - [tweet](https://twitter.com/chadlung/status/622118049500364800)
  * [ERNIT](http://www.ernit.com) - [Medium](https://medium.com/@amandeep.midha/case-for-kubernetes-go-google-appengine-gae-rabbitmq-and-hitting-the-glass-ceiling-51d6a60d307d)
  * [Everything.me](http://everything.me) - [blog](http://geeks.everything.me/2015/05/03/adventures-with-disque/)
  * [Facebook](https://facebook.com) - [github](https://github.com/facebookgo/), [blog](http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/)
  * [Factom](http://www.factom.org) - [github](https://github.com/FactomProject)
  * [Fastly](http://www.fastly.com) - [blog](https://www.fastly.com/blog), [twitter](https://twitter.com/fastly) - The only real-time content delivery network designed to seamlessly integrate with your development stack.
  * [Foize](https://www.foize.com) - [github](https://github.com/foize/)
  * [Flipboard](http://www.flipboard.com)  - [source (job post)](https://news.ycombinator.com/item?id=6140956)
  * [FLXOne](http://flxone.com) - [blog](https://medium.com/@robin.verlangen/billions-of-request-per-day-meet-go-1-5-362bfefa0911)
  * [Fullstory](https://www.fullstory.com/) - [blog](http://blog.gopheracademy.com/birthday-bash-2014/go-at-fullstory/)
  * [Gatherer](http://gathererapp.com/) - [twitter](https://twitter.com/codepushr/status/653880049343537153)
  * [Gamegos](https://github.com/gamegos)
  * [Gemfury](https://gemfury.com)
  * [General Electric Software](https://www.gesoftware.com/) - [tweet](https://twitter.com/cemezberci/status/623179382505390080), [jobs](https://xjobs.brassring.com/tgwebhost/jobdetails.aspx?partnerid=54&siteid=5346&jobid=1254417)
  * [Gengo](http://www.gengo.com)  - [blog](http://blog.gengo.com/go-gengo/)
  * [Getty Images](http://www.gettyimages.com) - [tweet](https://twitter.com/TrevorBramble/status/441372661336113152) [tweet](https://twitter.com/ickypop/status/441470245492908032)
  * [GitHub](https://github.com) - [blog post](http://techno-weenie.net/2013/11/2/key-value-logs-in-go/)
  * [GlobalSign](https://www.globalsign.com)
  * [Granify](http://granify.com/) - [blog](http://leonsbox.com/blog/2013/06/04/improving-testing-by-using-real-traffic-from-production/)
  * [GrayMeta, Inc.](https://www.graymeta.com)
  * [Grovo](https://grovo.com)
  * [Hailo](http://www.hailocab.com) - [slides](https://speakerdeck.com/mattheath/youre-good-to-go)
  * [Happy Pancake](http://www.happypancake.com/) - [blog](https://abdullin.com/happypancake/)
  * [HashiCorp](https://hashicorp.com/) - [github](https://github.com/hashicorp)
  * [HER](https://weareher.com/)
  * [Heroku](http://heroku.com/) - [Go blog post](http://blog.golang.org/2011/04/go-at-heroku.html), [news](http://www.theregister.co.uk/2011/05/05/google_go/)
  * [Home24](http://www.home24.de) - [github](https://github.com/home24)
  * [Hooklift](https://github.com/hooklift) - [github](https://github.com/hooklift)
  * [HyperDev](https://hyperdev.com/) - [blog post](http://stackshare.io/hyperdev/the-hyperdev-tech-stack-powering-over-1m-containers)
  * [IBM](http://www.ibm.com/) - [Clampify](https://developer.ibm.com/open/clampify/), [i18n4go](https://developer.ibm.com/open/i18n4go/), [libsecurity](https://developer.ibm.com/open/libsecurity/)
  * [Igneous](http://www.igneous.io/)
  * [Imagefly](http://imagefly.io/)
  * [Imgix](https://www.imgix.com) - [StackShare](http://stackshare.io/imgix/how-imgix-built-a-stack-to-serve-100-000-images-per-second), [job posting](https://www.imgix.com/jobs#752d046c-c795-47ea-9f90-117d761a557e)
  * [Imgur](http://imgur.com/) - [github](https://github.com/Imgur/mandible/)
  * [InfluxData](https://influxdata.com/) - [blog](http://blog.gopheracademy.com/birthday-bash-2014/why-influxdb-uses-go/) [github](https://github.com/influxdata)
  * [Instela](https://tr.instela.com)
  * [Intel](http://www.intel.com) - [snap telemetry framework](https://github.com/intelsdi-x/snap), [caio cloud orchestration](https://github.com/01org/ciao)
  * [identakid.com] (http://identakid.com)
  * [Ionic Security] (https://www.ionic.com/about/careers)
  * [ISDC - InsideSales.com] (http://insidesales.com)
  * [Iron.io](http://iron.io/) - [source](http://www.youtube.com/watch?v=kKQLhGZVN4A) [blog:"30 servers to 2"](http://blog.iron.io/2013/03/how-we-went-from-30-servers-to-2-go.html) [blog:"2 years of production Go"](http://blog.iron.io/2013/08/go-after-2-years-in-production.html)
  * [JelloLabs](http://www.jellolabs.com)
  * [Jimdo](http://www.jimdo.com) - [tweet](https://twitter.com/mlafeldt/status/351661314017476608) [github](https://github.com/jimdo)
  * [Jive](https://jive.com) - [github](https://github.com/jive)
  * [Jive Software](http://www.jivesoftware.com) - [github](https://github.com/jivesoftware)
  * [Karma](http://www.yourkarma.com) - [blog](https://blog.yourkarma.com/how-we-use-mqtt-at-karma)
  * [Kayako](http://www.kayako.com/) - [twitter](https://twitter.com/freatbeater/status/654689942254161920)
  * [Keybase.io](http://keybase.io) - [github](https://github.com/keybase)
  * [Kingsoft](http://www.kingsoft.com/) - [github](https://github.com/flike/kingshard)
  * [Kochava](https://www.kochava.com/)
  * [Koding](http://www.koding.com) - [quora](http://www.quora.com/Node-js/Why-did-Koding-switch-from-Node-js-to-Go)
  * [LabStack](http://labstack.com/) - [github](https://github.com/labstack/echo), [website](http://echo.labstack.com/)
  * [Leader](http://leader.io)
  * [Lean Labs](http://kanban.leanlabs.io/) - [git release](https://gitlab.com/leanlabsio/kanban/blob/master/CHANGELOG.md#130-2015-09-06)
  * [Lincoln Loop](http://lincolnloop.com/) - [blog (as part of https://botbot.me/ , #go-nuts IRC logging)](http://lincolnloop.com/blog/djangonaut-building-webapp-go-gorilla/)
  * [LocalRaces](https://localraces.com/) - [website](https://localraces.com/about)
  * [LogPacker](https://logpacker.com/) - [website](https://logpacker.com)
  * [Lovoo](https://lovoo.com/) - [github](https://github.com/lovoo)
  * [Luckie &amp; Company](http://luckie.com)
  * [Lyft](http://lyft.com) - [github](https://github.com/lyft)
  * [Magic Leap](http://www.magicleap.com) - [twitter](https://twitter.com/MrGossett/status/724926614065270786)
  * [Maldive](https://www.maldive.com)
  * [MalwareBytes](https://www.malwarebytes.org/) - [blog](http://marcio.io/2015/07/handling-1-million-requests-per-minute-with-golang/)
  * [MaxCDN](http://www.maxcdn.com) - [blog](http://blog.maxcdn.com/learned-stop-worrying-love-logs/)
  * [Medium](https://medium.com) - [blog](https://medium.com/medium-eng/how-medium-goes-social-b7dbefa6d413)
  * [MediaMath](https://mediamath.com) - [github](https://github.com/MediaMath/grim), [youtube](https://youtu.be/eDRoaxXerOM)
  * [Mesosphere](https://mesosphere.com) - [github](https://github.com/mesosphere)
  * [Meta Search](https://www.meta.sc/) - [twitter](https://twitter.com/AndyHaskell2013/status/651528742330855424)
  * [Microcosm](http://www.microco.sm) - [slides](https://speakerdeck.com/mattcottingham/building-an-api-with-go-at-microco-dot-sm)
  * [Minio](https://minio.io/) - [github](https://github.com/minio/minio) [blog](https://github.com/minio/minio)- Object Storage compatible with Amazon S3 API
  * [Modcloth](http://www.modcloth.com) - [github](https://github.com/modcloth-labs)
  * [Moovweb](http://www.moovweb.com) - [github](https://github.com/moovweb) [source](https://groups.google.com/forum/#!topic/golang-nuts/MeiTNnGhLg8/discussion)
  * [MongoDB](http://www.mongodb.com) - [blog](http://blog.mongodb.org/post/51643994762/go-agent-go)
  * [Monsoon Commerce](https://www.monsooncommerce.com/) - [blog](https://www.monsooncommerce.com/2015/10/open-source-go-uptime/)
  * [Mozilla](https://go.mozilla.org) - [github](https://github.com/search?o=desc&q=org%3Amozilla+org%3Amozilla-services+org%3Amozilla-it+language%3AGo&ref=searchresults&s=stars&type=Repositories&utf8=%E2%9C%93)
  * [MROffice](http://mroffice.org/) - [source](http://www.youtube.com/watch?v=7QDVRowyUQA)
  * [Namely](http://www.namely.com/) - [blog](https://medium.com/namely-labs/postgres-in-go-cf794adc4c52)
  * [Netflix](http://www.netflix.com) - [github](https://github.com/Netflix/rend), [blog](http://techblog.netflix.com/2016/05/application-data-caching-using-ssds.html)
  * [New Relic](http://newrelic.com/) - [HN](https://news.ycombinator.com/item?id=10661031)
  * [New York Times](http://nyt.com/) - [source](http://open.blogs.nytimes.com/2014/07/10/emr-streaming-in-go/?_php=true&_type=blogs&_r=0)
  * [Newspaper](http://www.newspaper.io/) - [source](https://angel.co/newspaperio)
  * [Nexway](http://www.nexway.com)
  * [Ninchat](https://ninchat.com/) - [twitter](https://twitter.com/timosavola/status/555993344766390272)
  * [Novartis](http://www.novartis.com) - [g+ post](https://plus.google.com/114945221884326152379/posts/d1SVaqkRyTL)
  * [Odoscope](http://www.odoscope.com) - [twitter](https://twitter.com/odoscope/status/642383738249322496), [job](http://www.odoscope.com/career-at-odoscope/developer-vacancy/)
  * [Ooyala](http://www.ooyala.com/) - [github](https://github.com/ooyala/)
  * [Opendoor](https://www.opendoor.com/) - [HN](https://news.ycombinator.com/item?id=10657348)
  * [OpenShift](https://www.openshift.com/) - [blog](http://blog.gopheracademy.com/birthday-bash-2014/openshift-3-old-dogs-new-tricks/)
  * [Ottemo](https://ottemo.io) - Managed Commerce Platform written in golang
  * [Outdoorsy](https://www.outdoorsy.co)
  * [OvrClk](https://www.ovrclk.com/) - [github](https://github.com/ovrclk)
  * [Oyster Books](https://www.oysterbooks.com/) - [blog](http://engineering.oysterbooks.com/post/79458380259/resizing-images-on-the-fly-with-go)
  * [Pachyderm.io](http://www.pachyderm.io/) - [github](https://github.com/pachyderm/pachyderm)
  * [Packet](https://www.packet.net/) - [github](https://github.com/packethost)
  * [Pagoda Box/Nanopack](https://pagodabox.io/) - [github](https://github.com/nanopack/yoke)
  * [Pantheon](https://pantheon.io/) - [blog](https://pantheon.io/blog/improving-performance-and-reliability-edge-golang-overhaul)
  * [Parse.com](http://www.parse.com/) - [blog](http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/)
  * [Partner Fusion](http://www.partnerfusion.com)
  * [Percona](http://www.percona.com) - [blog](http://www.mysqlperformanceblog.com/2014/05/14/tips-benchmarking-go-mysql/)
  * [pet.io](http://pet.io)
  * [Pinshape](https://pinshape.com/) - [job](https://twitter.com/MusicHackFest/status/639219466262454272)
  * [Pinterest](https://www.pinterest.com/) - [github](https://github.com/pinterest)
  * [Pivotal](https://pivotal.io/) - [Cloud Foundry](https://github.com/cloudfoundry) and [Cloud Foundry Incubator](https://github.com/cloudfoundry-incubator)
  * [PocketList](http://pocketlist.co)
  * [Points.com](https://points.com/) - Points Loyalty Wallet 
  * [pool.ntp.org](http://pool.ntp.org/) - [blog](http://news.ntppool.org/2012/10/new-dns-server.html) [status](http://dns-status.ntppool.org/)
  * [Poptip](https://poptip.com/) - [blog](http://thenewstack.io/from-node-js-to-go-why-one-startup-made-the-switch/), [job posting](https://groups.google.com/d/msg/golang-nuts/cQ0uuLCcQQQ/4nNm_YYh_l4J)
  * [Pressly](https://www.pressly.com) - [github](https://github.com/pressly), [product](https://www.pressly.com)
  * [Pronovix](http://pronovix.com) - [blog](http://pronovix.com/blog/walkhub-walkthrough-microservice-written-go-no-longer-drupal-distribution), [github](https://github.com/Pronovix), [product](http://pronovix.com/walkhub)
  * [Public Good Corp](https://publicgood.com/) - [meetup](http://www.meetup.com/ChicaGoLang/events/222224696/)
  * [Rackspace](http://www.rackspace.com) - [github](https://github.com/rackspace/rack)
  * [Raintank](http://www.raintank.io/) - [blog](https://blog.raintank.io/where-and-why-we-use-go/)
  * [Rakuten Marketing](http://marketing.rakuten.com)
  * [RapidLoop](https://www.rapidloop.com/) - [product](https://www.opsdash.com/)
  * [Rawstream ](http://www.rawstream.com) - [tweets](https://twitter.com/brianazzopardi/status/387920069327872000)
  * [Raygun](http://raygun.io) - [blog](http://raygun.io/blog/2013/11/5-reasons-go-will-kick-ass-in-your-next-project/)
  * [Reddit](https://reddit.com) - [AMA post](https://www.reddit.com/r/sysadmin/comments/3h0o7u/were_reddits_ops_team_aua/cu3f88n/)
  * [ReelDx](https://reeldx.com/) - [medvid.io](https://medvid.io), [twitter](https://twitter.com/andrewreeldx)
  * [Remember The Milk](https://www.rememberthemilk.com/)
  * [Remind101](https://www.remind.com/) - [github](https://github.com/remind101/empire), [blog](http://engineering.remind.com/introducing-empire/)
  * [Rendered :Text](http://renderedtext.com/) - [blog](http://renderedtext.com/blog/2013/08/28/building-our-first-app-in-go/)
  * [Replicated] (https://www.replicated.com)
  * [Repustate](http://www.repustate.com)
  * [ReverbNation](https://www.reverbnation.com)
  * [ReviewTrackers](http://www.reviewtrackers.com/) - [HN](https://news.ycombinator.com/item?id=10660780)
  * [Revolving Cow](https://revolvingcow.com)
  * [Riot Games](http://www.riotgames.com/) - [talk](https://www.youtube.com/watch?v=2s5l9ErNL3s)
  * [Room for More](https://roomformore.com)
  * [Rounds](http://www.rounds.com) - [blog](http://www.rounds.com/blog/joys-affordable-concurrency/)
  * [RueBaRue](http://www.ruebarue.com)
  * [Runscope](http://www.runscope.com) - [blog](http://blog.runscope.com/posts/go-at-runscope)
  * [Sagan Systems](http://sagansystems.com/) - [HN](https://news.ycombinator.com/item?id=10659830)
  * [Secret](https://www.secret.ly/) - [blog](https://medium.com/secret-den/12ab82fda29f)
  * [Segment](https://segment.com/) - [github](https://github.com/segmentio?query=go)
  * [SendGrid](http://sendgrid.com/) - [blog](http://sendgrid.com/blog/convince-company-go-golang/)
  * [SendHub](https://www.sendhub.com/) - [source (shipbuilder PaaS)](http://shipbuilder.io/)
  * [SessionM](https://www.sessionm.com) - [HN](https://news.ycombinator.com/item?id=10659861)
  * [Shopify](http://www.shopify.com) [tweet](https://twitter.com/burkelibbey/status/312328030670450688)
  * [Showyou](http://www.showyou.com) [source](https://plus.google.com/101522949595361604155/posts/8n4CSePMwgV)
  * [Shutterfly](http://www.shutterfly.com)
  * [SignalFx](https://signalfx.com/) - [blog](http://blog.signalfx.com/why-the-signalfx-metric-proxy-is-written-in-go)
  * [SmartyStreets](http://smartystreets.com) - [github](https://github.com/smartystreets), [blog](https://smartystreets.com/blog)
  * [SmugMug](http://www.smugmug.com/) - [blog](http://sorcery.smugmug.com/2012/04/06/deriving-json-types-in-go/)
  * [Skimlinks](http://www.skimlinks.com) [blog](https://speakerdeck.com/rjohnsondev/go-at-skimlinks)
  * [SoundCloud](http://soundcloud.com) - [blog](http://backstage.soundcloud.com/2012/07/go-at-soundcloud/)
  * [SoundHound] (http://soundhound.com)
  * [Sourcegraph](https://sourcegraph.com) - [talk](http://www.youtube.com/watch?v=-DpKaoPz8l8), [github](https://github.com/sourcegraph)
  * [Space Monkey](http://www.spacemonkey.com) - [blog](https://www.spacemonkey.com/blog/posts/go-space-monkey)
  * [SpaceX](http://www.spacex.com/) - [reddit](https://www.reddit.com/r/golang/comments/3pu3nl/spacex_is_using_go_for_its_telemetry_system/)
  * [Splice](http://splice.com) - [tweet](https://twitter.com/mattetti/status/387935640513683456), [blog](http://blog.gopheracademy.com/birthday-bash-2014/go-shaped-splice-engineering-culture/), [blog](https://blog.splice.com/golang-improved-simplicity-reduced-maintenance/)
  * [Springer](http://joinit.springer.com) - [tweet](https://twitter.com/quii/status/575647166091370497)
  * [Square](http://www.squareup.com) - [blog](http://corner.squareup.com/2014/05/evaluating-go-frameworks.html)
  * [StackEngine](http://www.stackengine.com) - [blog](http://stackengine.com/golang-with-circleci/)
  * [Stack Exchange](http://stackexchange.com/) - [blog](http://blog.stackoverflow.com/2014/11/announcing-bosun-our-new-open-source-monitoring-alerting-system/), [github](https://github.com/bosun-monitor/bosun), [website](http://bosun.org/)
  * [StatHat](http://stathat.com/) - [Go blog post](http://blog.golang.org/2011/12/building-stathat-with-go.html)
  * [Steals.com](http://steals.com) [blog](http://blog.gopheracademy.com/day-15-shopping-with-go)
  * [SteelSeries](http://www.steelseries.com) - [blog](http://techblog.steelseries.com/golisp/index.html)
  * [StorReduce](http://storreduce.com)
  * [SumoLogic](https://www.sumologic.com/) - [github](https://github.com/SumoLogic/sumoshell)
  * [SuperHuman](http://superhuman.com/) - [HN](https://news.ycombinator.com/item?id=10660225)
  * [SyndicatePro](http://syndicatepro.com/) - [source](https://groups.google.com/d/msg/golang-nuts/eeAmkzaRt-w/rHpoRAGeLD8J)
  * [Tamber](http://www.tamber.com/) - [blog](http://www.tamber.com/posts/ferret.html)
  * [Tapglue](https://www.tapglue.com/)
  * [Tapjoy](http://home.tapjoy.com/) - [blog](http://basho.com/posts/technical/built-on-riak-dynamiq-by-tapjoy/), [github](https://github.com/Tapjoy/dynamiq)
  * [Teamwork](http://teamwork.com/) - [blog](http://engineroom.teamwork.com/our-future-stack-or-why-we-love-knockout-coffeescript-redis-and-go/)
  * [Teespring](https://teespring.com/)
  * [Telit IoT Portal](http://www.telit.com/products-and-services/iot-platforms/iot-portal/)
  * [Tendermint](http://tendermint.com/) - [github](https://github.com/tendermint/tendermint)
  * [TF2Stadium](http://tf2stadium.com) - [github](https://github.com/TF2Stadium), [blog](http://blog.tf2stadium.com/how-it-works-basics/)
  * [The Plant](http://theplant.jp) - [Qortex](http://qortex.com), [QoR](http://getqor.com)
  * [Thisissoon](http://thisissoon.com/) - [github](https://github.com/thisissoon/yam)
  * [Thomson Reuters Eikon](https://github.com/ThomsonReutersEikon) - [github](https://github.com/ThomsonReutersEikon) [source](https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/ikt3hcIqicA), [video](https://www.youtube.com/watch?v=mDTg1dLUqBE)
  * [thoughtbot](https://thoughtbot.com/services/go) - [blog](https://robots.thoughtbot.com/tags/go) [github](https://github.com/thoughtbot)
  * [Thumbtack](http://thumbtack.com) - [Go Hercule blog post](http://www.thumbtack.com/engineering/go-hercule/)
  * [TIBCO](http://www.tibco.com)
  * [Timehop](http://timehop.com/) - [blog](https://medium.com/building-timehop/why-timehop-chose-go-to-replace-our-rails-app-2855ea1912d)
  * [TinkerCad](http://tinkercad.com/)
  * [Toggl](http://www.toggl.com) - [blog](http://blog.toggl.com/2012/09/moving-to-go/)
  * [Torbit ](http://www.torbit.com) - [blog](http://torbit.com/blog/2013/02/19/big-data-at-torbit/)
  * [Total Care Auto](http://www.totalcareauto.com/)
  * [Transloadit](https://transloadit.com) - [blog](https://transloadit.com/blog/2014/11/releasing-our-new-go-sdk/)
  * [Treetop Commons, NobleHour](http://www.treetopcommons.com/#intro) - [tweet](https://twitter.com/aimeelevens/status/664124807286427648)
  * [Trisoft](https://www.wearetrisoft.com) - software development company with offices in San Francisco and Romania
  * [Tumblr ](http://www.tumblr.com) - [github](https://github.com/tumblr/gocircuit) [source](https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/qelU5Lrq-uA)
  * [Tune](https://www.tune.com/)
  * [TurboBytes](http://turbobytes.com) - [github](https://github.com/turbobytes?utf8=%E2%9C%93&query=+only%3Asources+), [tweet](https://twitter.com/sajal/status/626287855111835648?s=09)
  * [Twitch](http://www.twitch.tv/) - [blog](http://blog.twitch.tv/2014/04/technically-speaking-group-chat-and-general-chat-engineering/)
  * [Twitter](https://twitter.com) - [blog](https://blog.twitter.com/2015/handling-five-billion-sessions-a-day-in-real-time)
  * [TweetQureet](http://qureet.com) - [blog](http://www.qureet.com/blog/golang-technology-stack/)
  * [Uber](http://uber.com) - [blog](https://eng.uber.com/go-geofence/) [github](https://github.com/uber?language=go) [tweet](https://twitter.com/conormyhrvold/status/816345560143642624)
  * [Ulele](https://en.ulule.com/) - [tweet](https://twitter.com/thoas/status/638355320071409664)
  * [Umbel](http://umbel.com) - [tweet](https://twitter.com/findmjob/status/624255179227967488)
  * [Upskill](https://upskill.io) - [github](https://github.com/APXLabs)
  * [Undisclosed.ch](https://undisclosed.ch/) - [github](https://github.com/xoba/goutil)
  * [Vertamedia](https://vertamedia.com/) - [github](https://github.com/Vertamedia)
  * [VerveMobile](http://www.vervemobile.com/)
  * [VividCortex](https://vividcortex.com/) - [blog](https://vividcortex.com/blog/2014/11/20/in-case-you-missed-it-developing-mysql-apps-with-go/), [github](https://github.com/VividCortex/)
  * [VMware](http://www.vmware.com) - [github](https://github.com/vmware/govmomi)
  * [VSCO](http://www.vsco.co) - [blog post](http://www.grpc.io/blog/vscogrpc)
  * [Weave](http://www.getweave.com)
  * [Weaveworks](http://weave.works)
  * [Wercker](http://wercker.com) - [github](https://github.com/wercker)
  * [Whim](http://joinwhim.com/) - [meetup](http://www.meetup.com/golangsf/events/223166815/), [tweet](https://twitter.com/_peggyli/status/629176462155755520)
  * [Wikia](http://www.wikia.com)
  * [Wireless Registry](http://www.wirelessregistry.com) - [github](https://github.com/wirelessregistry)
  * [Workiva](https://www.workiva.com/) - [github](https://github.com/workiva/go-datastructures)
  * [Yahoo](http://yahoo.com) - [github](https://github.com/search?utf8=%E2%9C%93&q=user%3Ayahoo+language%3Ago)
  * [Yandex](http://yandex.ru) - [blog](https://habrahabr.ru/company/yandex/blog/237985)
  * [Yik Yak](http://www.yikyakapp.com/) - [tweet](https://twitter.com/ardanlab/status/629002599484813312/photo/1)
  * [Zalando](http://tech.zalando.com/) - [github](https://github.com/zalando) 
  * [Zenoss] (http://www.zenoss.com/) - [github](https://github.com/control-center/serviced)
  * [ZITEC](http://www.zitec.de)
  * [Zumba](https://www.zumba.com) - [github](https://github.com/zumba)
  * [Zynga](http://www.zynga.com) - [github](https://github.com/zbase)


## Australia
  * [Atlassian](http://atlassian.com/)
  * [Buildkite](https://buildkite.com/) - [github](https://github.com/buildkite/agent)
  * [Dgraph Labs](http://dgraph.io) - [github](https://github.com/dgraph-io/dgraph)
  * [OneConfig](http://www.oneconfig.com) - [my.oneconfig.com](https://my.oneconfig.com/devices)
  * [Sajari](https://www.sajari.com) - [github](https://github.com/sajari) [blog](https://www.sajari.com/blog/upgrading-sajari-to-go-15)

## Austria
  * [Gatherer](http://www.gathererapp.com/)

## Bangladesh
  * [AppsCode Ltd.](https://appscode.com) (BD subsidiary of AppsCode Inc.) - [facebook](https://www.facebook.com/appscodebd/), [github](https://github.com/appscode), [twitter](https://twitter.com/appscodehq)
  * [Telenor Health](https://www.mytonic.com)(A health service company) built USSD server with go

## Brazil
  * [Beauty Date](http://www.beautydate.com.br)
  * [Benefício Fácil](http://valetransporte.beneficiofacil.com.br/) - [forums](https://forum.golangbridge.org/t/weekly-wiki-wrapup-2015-11-07/1461/2)
  * [Coderockr](http://coderockr.com)
  * [Compufácil](http://compufacil.com.br)
  * [FourTwo](https://www.fourtwo.com.br/) - [github](https://github.com/F0urTw0/)
  * [GissOnline](http://www.gissonline.com.br)
  * [Globo.com](http://www.globo.com) - [github](https://github.com/globocom) [article](http://www.wired.com/wiredenterprise/2013/03/tsuru)
  * [Hotel Urbano](http://www.hotelurbano.com)
  * [Magazine Luiza](http://www.magazineluiza.com.br) - [github](https://github.com/luizalabs)
  * [Mendelics](http://www.mendelics.com) - [github](https://github.com/mendelics)
  * [Moip Pagamentos](https://www.moip.com.br)
  * [Neoway Business Solutions](http://www.neoway.com.br) - [github](https://github.com/NeowayLabs)
  * [Nic.br](http://www.nic.br) - [github](https://github.com/registrobr)
  * [Planrockr](http://planrockr.com)
  * [Resultados Digitais](http://www.resultadosdigitais.com.br/trabalhe-conosco)
  * [ServiceNet](http://www.servicenet.com.br)
  * [SiBBr.gov.br](http://www.sibbr.gov.br) - [github](https://github.com/sibbr)
  * [TOTVS](http://en.totvs.com/cloud)  
  * [Ulife](http://www.ulife.com.br) - [github](https://github.com/ulifebr)
  * [Walmart](http://www.walmart.com.br)

## Belgium
  * [Pronovix](http://pronovix.com/) - [github](https://github.com/Pronovix)
  * [Be-Mobile](http://www.be-mobile.com/)

## Bulgaria
  * [clouWay](http://clouway.com/) - [github](https://github.com/clouway)

## Canada
  * [Go2Mobi](http://www.go2mobi.com/) - [HN](https://news.ycombinator.com/item?id=10660847)
  * [Koho](https://www.koho.ca/)
  * [Pressly](https://www.pressly.com/) - [github](https://github.com/goware/httpcoala)
  * [ThinkSquare](https://www.thinksquare.io)
  * [Wattpad](https://www.wattpad.com/)
  * [500px](https://500px.com) - [blog](https://developers.500px.com/how-500px-serves-up-over-500tb-of-high-res-photos-fa81a376c594#.35tz2wtg2) - [github](https://github.com/500px)

## Chile
  * [Prey](https://preyproject.com) - [blog](https://preyproject.com/blog) - [github](https://github.com/prey)
 
## China   
  * [163yun](http://www.163yun.com/) - [github](https://github.com/163yun) - Netease Public Cloud
  * [Qiniu](http://www.qiniu.com/) - [github](https://github.com/qiniu)

## Croatia
  * [Nivas](http://www.nivas.hr/) - [github](https://github.com/nivas)

## Colombia
  * [Wawandco](https://wawand.co) - [github](https://github.com/wawandco)

## Denmark
  * [SYBO Games](http://sybogames.com)

## France
  * [Digikong](http://digikong.io)
  * [Objenious](http://www.objenious.com)
  * [Rive](http://app.rive.world)
  * [Batch.com](https://batch.com)
  * [IRI France](http://www.iri-labs.com)
  * [Teads.tv](http://teads.tv/)

## Germany
  * [Bürkert](https://www.burkert.com/en/)
  * [Fraugster](https://fraugster.com/)
  * [HaCon Ingenieurgesellschaft mbH](http://hacon.de/)
  * [HelloFresh](http://www.hellofreshgroup.com/) - [github](https://github.com/hellofresh)
  * [JustWatch](https://www.justwatch.com/us) - [HN](https://news.ycombinator.com/item?id=10658330)
  * [Streetspotr](http://streetspotr.com) - [blog](https://thcyron.de/2015/go-at-streetspotr.html) - [tweet](https://twitter.com/thcyron/status/372350650580865024)
  * [Sixt](https://www.sixt.com)
  * [Weaveworks](http://weave.works)

## Hong Kong
  * [PassKit](https://passkit.com/) - [github](https://github.com/PassKit)

## Hungary
  * [Pronovix](http://pronovix.com/) - [github](https://github.com/Pronovix)

## India
  * [Betacraft](http://www.betacraft.co/)
  * [BookMyShow](http://www.bookmyshow.com/)
  * [C42 Engineering](http://c42.in/)
  * [CodeIgnition](http://codeignition.co/) - [twitter](https://twitter.com/AjeyGore/status/667515185486102529)
  * [Company 0](https://www.companyzero.com/)
  * [Exotel](http://exotel.in) - [website](http://www.gophercon.in/#sponsor)  
  * [Fastah (Blackbuck Computing)](https://angel.co/blackbuck-computing/)
  * [GeekTrust](http://geektrust.in/)
  * [Gloop](http://gloop.io/)
  * [Ithaka](http://ithaka.travel)
  * [Jabong](http://www.jabong.com)
  * [Josh Software](http://www.joshsoftware.com/)
  * [JusTickets - built with Go](https://www.justickets.in/cities)
  * [Kayako](http://www.kayako.com/)
  * [Qwinix](https://www.qwinixtech.com/)
  * [Sahaj Software Solutions](http://www.sahajsoft.com/)
  * [Siminars](http://siminars.com)
  * [SoStronk](https://www.sostronk.com/)
  * [Synerzip](http://synerzip.com/)
  * [Techequity Technologies](http://www.techequity.in/)
  * [Testbook](http://testbook.com/)
  * [ThoughtWorks](https://thoughtworks.com/)
  * [Unbxd](http://unbxd.com)

## Indonesia
  * [Auditsi Executive Recruitment Services](http://auditsi.com)
  * [Brodo](http://www.bro.do/)
  * [Bukalapak](http://bukalapak.com)
  * [Codemi Learning Management System](http://codemi.co.id)
  * [GO-JEK](https://www.go-jek.com)
  * [Ice House Corp](https://www.icehousecorp.com)
  * [HappyFresh Indonesia](https://www.happyfresh.id)
  * [Kelir.tv](http://kelir.tv)
  * [Lazada](http://www.lazada.co.id)
  * [LionJobs](http://lionjobs.com)
  * [Matahari Mall](http://mataharimall.com)
  * [Magicsoft Asia Systems](http://magicsoft-asia.com)
  * [Michael Page Indonesia](http://www.michaelpage.co.id)
  * [Midtrans Payment Gateway](http://midtrans.com)
  * [Nodeflux](https://www.nodeflux.io/)
  * [Pinjam Indonesia - FinTech](https://pinjam.co.id)
  * [President University](http://presuniv.com)
  * [Qasico Teknologi Indonesia](https://qasico.com)
  * [RajaMall Energia Syakha Tech](http://www.lokerindonesia.com/teknologi-informasi/programmer/lowongan-programmer-di-bandung.html)
  * [Raydar](http://goraydar.com)
  * [RebelWorks](http://www.rebelworks.io)
  * [RedtreeMobile](http://redtreemobile.com)
  * [Rimbun Job Agency](http://www.rimbunjob.com)
  * [SAP Indonesia](http://go.sap.com/corporate/en/company/office-locations/indonesia.html)
  * [Tokopedia](http://tokopedia.com)
  * [Zelos](http://zelos.id)

## Iran
  * [AlAlam](http://en.alalam.ir/) -- AlAlam news network TV channel
  * [Aparat](http://www.aparat.com) -- Most popular video sharing platform in Iran
  * [Kikojas](http://www.kikojas.com) -- Kikojas is a LBS, focusing on local businesses of the whole country of Iran

## Ireland
  * [Intercom](http://intercom.io/)
 
## Israel
  * [353Solutions](http://353solutions.com) 
  * [BigPanda](http://bigpanda.io) 
  * [Dragontail Systems](http://www.dragontailsystems.com) 
  * [Elastifile Ltd](http://elastifile.com) 
  * [EyeSight](http://eyesight-tech.com) 
  * [Fiverr](http://Fiverr.com/) 
  * [Gett](http://gett.com/) 
  * [ironSource](http://www.ironsrc.com) 
  * [Jewish Interactive](http://jewishinteractive.org) 
  * [JFrog](https://www.jfrog.com/) - [github](https://github.com/JFrogDev/jfrog-cli-go)
  * [Nexar](https://www.getnexar.com/)
  * [PushApps](https://www.pushapps.mobi/) 
  * [Protected Media](http://www.protected.media) 
  * [Rimoto](http://www.rimoto.com/)
  * [Rounds](http://www.rounds.com)
  * [StreamRail](https://www.streamrail.com/)
  * [Surge Media](https://surge.media)
  * [TechedUp](http://www.techedup.net) - ([Blog](http://blog.techedup.net/category/go/)) 
  * [uponit](https://uponit.com/) 
  * [Yodas](https://yodas.com) 
  * [Yotpo](https://www.yotpo.com/) 

## Italy
  * [Hastega](http://www.hastega.it) - ([github](https://github.com/tockins/realize)) -- Go build system for dev with file watchers and live reload. Run, build and watch file changes with custom paths
  * [Qurami](http://www.qurami.com) - [github](https://github.com/qurami)
  * [Trenìt!](http://www.trenit.info) - ([FB post](https://www.facebook.com/photo.php?fbid=907728379283787)) -- Most popular mobile app for Italian trains schedules

## Japan
  * [Cybozu](https://www.cybozu.com) - [github](https://github.com/cybozu-go)
  * [DeNA Co.,Ltd.](https://dena.com)
  * [eureka](https://eure.jp)
  * [Fenrir](http://www.fenrir-inc.com/jp/)
  * [HDE Inc](https://www.hde.co.jp/en/)
  * [Hatena](http://hatenacorp.jp/)
      * [Mackerel](https://mackerel.io) - Monitoring as a Service ([github](https://github.com/mackerelio))
  * [Intelligence](http://www.inte.co.jp/)
  * [KAYAC Inc.](https://www.kayac.com/) - [github](https://github.com/kayac)
  * [LINE](https://linecorp.com/)
  * [mediba](http://www.mediba.jp/)
  * [Mercari](https://www.mercari.com/jp/about/)
      * [Gaurun](https://github.com/mercari/gaurun) - Gaurun is the general push notification server in Go
  * [Preferred Networks](https://www.preferred-networks.jp/en/)
      * [SensorBee](https://github.com/sensorbee) - Lightweight streaming processing engine for IoT
  * [SAKURA Internet Inc.](https://www.sakura.ad.jp/) - [github](https://github.com/sakura-internet)
      * [Arukas](https://arukas.io/en/) - [github](https://github.com/arukasio) - Docker Container Hosting
      * [Web Accelerator](http://cloud.sakura.ad.jp/specification/web-accelerator/)
      * [Sakura IoT Platform β](https://iot.sakura.ad.jp/)
  * [Souzoh](https://www.souzoh.com/jp/)
      * [Mercari Atte](https://www.mercariatte.com/jp/)
  * [Nulab](https://nulab-inc.com/) - [github](https://github.com/nulab)
  * [Bengo4.com,Inc.](https://corporate.bengo4.com/)
      * [CloudSign](https://www.cloudsign.jp/)
  * [HEARTBEATS](https://heartbeats.jp/)
      * [happo-agent](https://github.com/heartbeatsjp/happo-agent) - Yet another Nagios nrpe
  * [VOYAGE GROUP](https://voyagegroup.com/)

## Kazakhstan
  * Kolesa LLC - microservices for classified ads websites and mobile applications backend ([Kolesa](http://kolesa.kz), [Krisha](https://krisha.kz), [Market](https://market.kz))

## Korea (South)
  * [Digitalidea](http://www.digitalidea.co.kr) - inhouse tool for VFX

## Lithuania
  * [DATA-DOG](https://github.com/DATA-DOG)

## Mexico
  * [Segundamano](https://www.segundamano.mx/)
  
## Middle East 
  * [aspros Wallet](http://asprosinstant.money/) ([Video](https://www.youtube.com/watch?v=BmsQYZpz1Ws))

## Moldova
  * [Emphatic Spark](http://emphaticspark.com/)

## Morocco
  * [Avito](http://www.avito.ma)

## Netherlands
  * [Jexia](http://jexia.com) - [github](https://github.com/jexia-inc)
  * [localsensor](http://localsensor.com/)
  * [MessageBird](https://www.messagebird.com/) - [github](https://github.com/messagebird)
  * [Nextail](https://www.nextail.nl/)
  * [Poki](http://poki.com/) - [company website](http://poki.com/company/), [github](https://github.com/pokibv)
  * [The Things Network](http://thethingsnetwork.org/) - [github](https://github.com/TheThingsNetwork/)
  * [Wercker](http://wercker.com) - [github](https://github.com/wercker)
  * [Xebia](https://xebia.com/) - [github](https://github.com/xebia)
  * [Yonego](https://www.bambelo.com/)

## New Zealand
  * [Hapara](http://hapara.com) - [github](https://github.com/Hapara)
  * [Vend](http://www.vendhq.com) - [github](https://github.com/vend)
  * [Weta Digital](http://www.wetafx.co.nz) - [Slides](https://talks.godoc.org/github.com/justinfx/demos/go_at_weta/go_at_weta.slide)

## Philippines
  * [ULAPPH](http://www.ulapph.com)
  * [EngageSPARK](https://www.engagespark.com)

## Poland
 * [allegro](http://allegro.pl) - [blog](http://allegro.tech) - biggest polish e-commerce platform
 * [hostit.pl](https://hostit.pl) - [blog](https://hostit.pl/blog/375,go-gadget-go.html)
 * [Brainhub](https://brainhub.eu) - [blog](https://brainhub.eu/golang-software-development.html)
 * [CloudThing](https://www.cloudthing.io) - IoT cloud platform
 * [Husar Labs](http://www.husarlabs.com) - software development company

## Portugal
  * [AppGeneration](http://appgeneration.com/)

## Romania
* [Trisoft](https://www.wearetrisoft.com) - software development company with offices in San Francisco and Romania

## Russia
* [ITooLabs](http://itoolabs.com)
* [PostmanQ](https://github.com/actionpay/postmanq) - High performance Mail Transfer Agent (MTA)

## Slovenia
  * [Visionect d.o.o.](http://www.visionect.com)

## Southeast Asia
  * [Grab](http://www.grab.co/)
  * [engageSPARK](https://www.engagespark.com/) - [HN](https://news.ycombinator.com/item?id=10655752)
  * [Tokopedia](https://www.tokopedia.com/)
  * [Pocketmath](http://www.pocketmath.com/)
  * 🇻🇳 [Dwarves Foundation](http://www.dwarvesf.com) - [github](https://github.com/dwarvesf)

## Spain
  * [alea soluciones](https://github.com/aleasoluciones/)
  * [Bugfender](https://bugfender.com/)
  * [Cabify](https://cabify.com/) - [github](https://github.com/cabify/), [twitter](https://twitter.com/cabifydev)
  * [jobandtalent](https://www.jobandtalent.com)
  * [Ximdex](http://www.ximdex.com)
  * [puzzlopia](http://www.puzzlopia.com) - [github](https://github.com/puzzlopia/puzzle-solvers)

## Sweden
  * [Kiliaro](https://kiliaro.com/)
  * [Min Doktor](https://mindoktor.se/)
  * [Slagkryssaren] (https://slagkryssaren.com/)
  * [TV4](http://www.tv4.se/) - [blog](http://http.tv4.se/2014/12/04/tv4-tech-peter-hellberg-kristian-saebdal-tv4-vara-topplistor-i-go/)
  * [Greta](https://greta.io/)
  * [Booli](https://www.booli.se/)

## Switzerland
  * [AgFlow SA](http://www.agflow.com/)
  * [Centralway Numbrs AG] (https://www.centralway.com/en/)
  * [Perron2 GmbH](http://www.perron2.ch)
  * [Proton Technologies AG] (https://protonmail.com)
  
## Thailand
  * [AIS](http://www.ais.co.th/)  
  * [DTAC](http://www.dtac.co.th/)
  * [Insightera](https://www.insightera.co.th/)

## Turkey
  * [GramGames](http://gram.gs/)

## Ukraine
  * [ElifTech](http://www.eliftech.com)

## United Kingdom
  * [GOV.UK](http://www.gov.uk) - [slides](https://speakerdeck.com/nickstenning/http-building-a-new-router-for-gov-dot-uk) [github](https://github.com/alphagov/router) [blog](https://gdstechnology.blog.gov.uk/2013/12/05/building-a-new-router-for-gov-uk/)
  * [HM Treasury, UK.gov](http://hm-treasury.gov.uk/) - [github](https://github.com/guidance-guarantee-programme/)
  * [New Bamboo](http://www.new-bamboo.co.uk) - [blog](http://blog.new-bamboo.co.uk/2013/09/17/micro-network-daemons-in-go)
  * [XTX Markets](http://www.xtxmarkets.com) - [github](https://github.com/XTXMarkets)
  * [Badoo](https://badoo.com) - [github](https://github.com/badoo/thunder)
  * [Geckoboard](https://www.geckoboard.com)
  * [Restorepoint](http://www.restorepoint.com)
  * [Songkick](https://www.songkick.com)
  * [Sainsbury's](http://www.sainsburys.co.uk)
  * [Ryanair](http://www.ryanair.com) - [source](https://youtu.be/CWCHT3GClMM?t=15m)
  * [Belua] (https://www.belua.com)
  * [Intern Avenue] (https://www.internavenue.com/)
  * [Pusher](https://pusher.com) - [github](https://github.com/pusher) [blog](https://blog.pusher.com)
  * [Tyk](https://tyk.io) - [github](https://github.com/TykTechnologies/tyk)
  * [Fortifi](http://fortifi.uk) - [github](https://github.com/fortifi)
  * [Monzo](https://monzo.com/) - [github](https://github.com/monzo), [blog](https://monzo.com/blog/2016/09/19/building-a-modern-bank-backend/)
  * [Weaveworks](http://weave.works)
  * [StorageOS](http://storageos.com)

See also [Success Stories](SuccessStories)