# Ruby lands on ICP!

**URL:** <https://forum.dfinity.org/t/ruby-lands-on-icp/75735>\
**Category:** Developers\
**Created:** [September 21, 2026, 11:11am UTC](https://forum.dfinity.org/t/ruby-lands-on-icp/75735 "2026-09-21T11:11:05Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![graial](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/graial/32/39419_2.png) [@graial](https://forum.dfinity.org/u/graial)\
**Post date:** [September 21, 2026, 11:11am UTC](https://forum.dfinity.org/t/ruby-lands-on-icp/75735/1 "2026-09-21T11:11:05Z")

</div>

Greetings folks!

I’m pleased to report that ruby is now bootable and runnable on ICP!

[https://xcdhl-gaaaa-aaaal-as2jq-cai.icp0.io/](https://xcdhl-gaaaa-aaaal-as2jq-cai.icp0.io/)

Persistence works, as demo’d by the visitor counter. I’ll be evolving the build from here.

Looks like we’ve got lots of room (in both cycles and diskspace) to get more fancy from here.

I can share diagnostics etc for anyone who may be curious.

Some initial impressions.

- ~400kb png images are visibly slow to load
- I used the dfx cli because I still have unspent credits on there
- the backend call seems to be as slow as the images

I don’t know yet what I’d use this for. But I’m looking forward to more conversations.

Cheers.

Special thanks to @michael-weigelt @skilesare for the early feedback to help me get to this spot.

---

<div class="post-metadata">

**Author:** ![marc0olo](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/marc0olo/32/17290_2.png) [@marc0olo](https://forum.dfinity.org/u/marc0olo)\
**Post date:** [September 21, 2026, 11:36am UTC](https://forum.dfinity.org/t/ruby-lands-on-icp/75735/2 "2026-09-21T11:36:22Z")

</div>

nice, thanks for sharing! 🙂

> [@graial](#):
>
> - I used the dfx cli because I still have unspent credits on there

do you mean a cycles balance on one of the identities or what kind of “credits” are you referring to? 🤔 note that you can use the identities also with icp-cli, this is covered in the migration guide.

I think it would be nice if you could switch to icp-cli. you can create your own recipe that uses the `rust_wasm_builder` and create a template that uses it so that it’s a one-line command with icp-cli for anybody who wants to explore it.

the command would be sth. like, assuming there is a `hello-world` folder inside that repo for the template:

- `icp new hello-icp --git https://github.com/<user/org>/<template-repo> --subfolder hello-world`

the recipe would then be referenced accordingly in the project manifest of your template.

---

<div class="post-metadata">

**Author:** ![Lorimer](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/lorimer/32/17601_2.png) [@Lorimer](https://forum.dfinity.org/u/Lorimer)\
**Post date:** [September 21, 2026, 6:08pm UTC](https://forum.dfinity.org/t/ruby-lands-on-icp/75735/3 "2026-09-21T18:08:29Z")

</div>

Great job! Now what I’d love to see is a game of Bejeweled​💎 on the IC written in Ruby (seems fitting). Also a massively multiplayer version of Go written in [Go](https://forum.dfinity.org/t/writing-smart-contracts-on-icp-in-go-a-first-step/42909) would also be very cool.

I salute you for your contributions to the network  
🫡

---

<div class="post-metadata">

**Author:** ![graial](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/graial/32/39419_2.png) [@graial](https://forum.dfinity.org/u/graial)\
**Post date:** [September 22, 2026, 1:33am UTC](https://forum.dfinity.org/t/ruby-lands-on-icp/75735/4 "2026-09-22T01:33:55Z")

</div>

Hi @marc0olo

ya cycles, sorry. I’d looked into migrating back before I did my wasm deep dive. I don’t remember what stopped me at the time.

I’ll look again and shift to the ICP tooling/cli at some point. perhaps next month.

The `icp new` command should port fairly easily cuz I followed the format in these folders [https://github.com/dfinity/icp-cli-templates/tree/main/hello-world](https://github.com/dfinity/icp-cli-templates/tree/main/hello-world)

ruby supports a wasi target already. so that got me part of the way. but I had to re-build ruby from scratch with a couple extra shims to successfully deploy to ICP. I spent extra time on this because I encountered some wasi\_sdk version specific gotchas [https://gitlab.com/phrug/ruby\_wasm\_builder](https://gitlab.com/phrug/ruby_wasm_builder)

---

<div class="post-metadata">

**Author:** ![graial](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/graial/32/39419_2.png) [@graial](https://forum.dfinity.org/u/graial)\
**Post date:** [September 22, 2026, 1:43am UTC](https://forum.dfinity.org/t/ruby-lands-on-icp/75735/5 "2026-09-22T01:43:46Z")

</div>

Cheers. ya haha bejewelled would be neat. Or maybe some retro tunneling game like Lemmings or this one: [https://www.indieretronews.com/2019/03/aminer-arcade-mining-game-released-for.html](https://www.indieretronews.com/2019/03/aminer-arcade-mining-game-released-for.html)

I’m not a game dev personally and stopped following the blockchain space for a few years (right around the time zksnarks were just starting to come into alpha. So I’m definitely not up to speed with the state of the art in smart contracts these days.

The place where I see myself leaning into blockchain patterns and datastructures is in telematics for rotating stock/inventory.

Or Ostrom-inspired, game-theory/economic simulations.

Not sure how any of that would mesh with what’s working well on ICP at the moment.

Cheers

---

<div class="post-metadata">

**Author:** ![graial](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/graial/32/39419_2.png) [@graial](https://forum.dfinity.org/u/graial)\
**Post date:** [October 15, 2026, 11:56am UTC](https://forum.dfinity.org/t/ruby-lands-on-icp/75735/6 "2026-10-15T11:56:07Z")

</div>

Greetings @marc0olo , this repo is now setup to run from the icp-cli using

```auto
icp new hello-ruby-on-icp --git --subfolder hello-ruby-on-icp cd hello-ruby-on-icp rake setup && rake network:start && rake deploy

```

Apparently `icp new` does its own static site generation which interferes with the tool I use (bridgetown). A flag to skip this feature would be useful though I was able to work around it.

Cheers
