# Announcing Genie Builder, a no-code plugin to quickly build web GUIs & dashboards

**URL:** <https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643>\
**Category:** Package Announcements\
**Tags:** web, webapps, vscode, genie, no-code\
**Created:** [July 22, 2022, 4:40pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643 "2022-07-22T16:40:11Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [July 22, 2022, 4:40pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/1 "2022-07-22T16:40:11Z")

</div>

Hi!

I’m very excited to share that we’ve just released Genie Builder (beta), a free VSCode plugin built on top of Genie Framework that helps you build interactive web GUIs for your Genie/Julia apps without writing code. With Genie Builder, you can just drag & drop UI elements such as text, sliders, data tables, and plots to create data apps in minutes without worrying about the front-end code.

Click [here](https://marketplace.visualstudio.com/items?itemName=GenieBuilder.geniebuilder) to check it out.

Here’s a quick guide to get you started: 👉[Genie Builder - Quick Start Tutorial - YouTube](https://youtu.be/zPKrrpCoWfw)

Don’t miss [our JuliaCon talk](https://live.juliacon.org/talk/BH8WSR) on July 29 for a more detailed tutorial.

If you find Genie Builder useful, you can join our [Discord](https://discord.com/invite/9zyZbD6J7H) for support, feedback, and feature requests. Can’t wait to hear your thoughts and suggestions!

Thank you,

Adrian

---

<div class="post-metadata">

**Author:** ![EvoArt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/evoart/32/25357_2.png) [@EvoArt](https://discourse.julialang.org/u/EvoArt)\
**Post date:** [July 22, 2022, 11:42pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/2 "2022-07-22T23:42:51Z")

</div>

Fantastic! Thanks to all involved for your hardwork

---

<div class="post-metadata">

**Author:** ![Nathan\_Boyer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nathan_boyer/32/14825_2.png) [@Nathan\_Boyer](https://discourse.julialang.org/u/Nathan_Boyer)\
**Post date:** [July 23, 2022, 2:54am UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/3 "2022-07-23T02:54:13Z")

</div>

I am curious how the experience compares with Dash and Makie GUIs, though I know next to nothing about any of them. Very excited for your JuliaCon talk!

---

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [July 23, 2022, 3:57am UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/4 "2022-07-23T03:57:22Z")

</div>

When I follow the link for your Discord channel, I get this

> NO TEXT CHANNELS.  
> You find yourself in a weird place.

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [July 25, 2022, 2:25pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/5 "2022-07-25T14:25:59Z")

</div>

That’s strange, sounds like a Discord server issue. Can you please try again and let me know if it works well this time?

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [July 25, 2022, 2:28pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/6 "2022-07-25T14:28:05Z")

</div>

If I understand your question correctly, the fundamental difference is that with GenieBuilder you create the GUI visually, by dragging and dropping UI elements onto the page – while with Dash and Makie you have to build your GUI by writing code.

---

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [July 25, 2022, 4:29pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/7 "2022-07-25T16:29:59Z")

</div>

that works today

---

<div class="post-metadata">

**Author:** ![anon69491625](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@anon69491625](https://discourse.julialang.org/u/anon69491625)\
**Post date:** [August 1, 2022, 11:40am UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/8 "2022-08-01T11:40:17Z")

</div>

Maybe just me but I’s getting

```julia
julia> import Pkg

julia> Pkg.add("GenieBuilder")
ERROR: The following package names could not be resolved:
 * GenieBuilder (not found in project, manifest or registry)

Stacktrace:
  [1] pkgerror(msg::String)
    @ Pkg.Types ~/julia-1.7.0/share/julia/stdlib/v1.7/Pkg/src/Types.jl:68
  [2] ensure_resolved(manifest::Pkg.Types.Manifest, pkgs::Vector{Pkg.Types.PackageSpec}; registry::Bool)
    @ Pkg.Types ~/julia-1.7.0/share/julia/stdlib/v1.7/Pkg/src/Types.jl:915
  [3] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
    @ Pkg.API ~/julia-1.7.0/share/julia/stdlib/v1.7/Pkg/src/API.jl:257
  [4] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API ~/julia-1.7.0/share/julia/stdlib/v1.7/Pkg/src/API.jl:149
  [5] add(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API ~/julia-1.7.0/share/julia/stdlib/v1.7/Pkg/src/API.jl:144
  [6] #add#27
    @ ~/julia-1.7.0/share/julia/stdlib/v1.7/Pkg/src/API.jl:142 [inlined]
  [7] add
    @ ~/julia-1.7.0/share/julia/stdlib/v1.7/Pkg/src/API.jl:142 [inlined]
  [8] #add#26
    @ ~/julia-1.7.0/share/julia/stdlib/v1.7/Pkg/src/API.jl:141 [inlined]
  [9] add(pkg::String)
    @ Pkg.API ~/julia-1.7.0/share/julia/stdlib/v1.7/Pkg/src/API.jl:141
 [10] top-level scope
    @ REPL[10]:1

```

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [August 1, 2022, 11:50am UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/9 "2022-08-01T11:50:00Z")

</div>

Sorry, I don’t understand what you’re trying to do.

I assume what you want is the actual no-code app builder, which is distributed as a VSCode plugin that you should install from the marketplace, by using the links shared in the actual post?

---

<div class="post-metadata">

**Author:** ![anon69491625](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@anon69491625](https://discourse.julialang.org/u/anon69491625)\
**Post date:** [August 1, 2022, 12:00pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/10 "2022-08-01T12:00:47Z")

</div>

Hi there  
Yep I want to try out GenieBuilder and got the error. I followed the instructions to add manually when the ext install didn’t work and that’s where I am now.

followed instructions ran

```julia
ext install GenieBuilder.geniebuilder

```

got the extentions installed and hit start on GENIE BUILDER SERVER

got this in Repl

```julia
dave@deepthought:~/.vscode/extensions/geniebuilder.geniebuilder-0.1.8/scripts$ julia rungb.jl
 ___________ _ _ _
| __|___  ___|_|___ | __|_ _|_| |_| |___ ___
| | | -_| | | -_| | __ -| | | | | . | -_| _|
| _____|___ |_|_|_| ___| |_____ | ___|_|_|___ |___|_|

LOADING -- PLEASE WAIT.

  Activating project at `~/.julia/geniebuilder`
    Updating registry at `~/.julia/registries/General.toml`
┌ Warning: The active manifest file at `/home/dave/.julia/geniebuilder/Manifest.toml` has an old format that is being maintained.
│ To update to the new format run `Pkg.upgrade_manifest()` which will upgrade the format without re-resolving.
└ @ Pkg.Types /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/Pkg/src/manifest.jl:287
  No Changes to `~/.julia/geniebuilder/Project.toml`
  No Changes to `~/.julia/geniebuilder/Manifest.toml`
ERROR: ArgumentError: Package GenieBuilder not found in current path:
- Run `import Pkg; Pkg.add("GenieBuilder")` to install the GenieBuilder package.

Stacktrace:
 [1] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:967
ERROR: LoadError: failed process: Process(`julia --startup-file=no --depwarn=no -e '
            using Pkg;
            Pkg.activate(".");
            Pkg.update();
            using GenieBuilder;
            GenieBuilder.postinstall();'`, ProcessExited(1)) [1]

Stacktrace:
 [1] pipeline_error
   @ ./process.jl:531 [inlined]
 [2] run(::Cmd; wait::Bool)
   @ Base ./process.jl:446
 [3] run
   @ ./process.jl:444 [inlined]
 [4] |>
   @ ./operators.jl:966 [inlined]
 [5] installgb()
   @ Main.RunGB ~/.vscode/extensions/geniebuilder.geniebuilder-0.1.8/scripts/rungb.jl:32
 [6] startgb()
   @ Main.RunGB ~/.vscode/extensions/geniebuilder.geniebuilder-0.1.8/scripts/rungb.jl:57
 [7] top-level scope
   @ ~/.vscode/extensions/geniebuilder.geniebuilder-0.1.8/scripts/rungb.jl:72
in expression starting at /home/dave/.vscode/extensions/geniebuilder.geniebuilder-0.1.8/scripts/rungb.jl:72
dave@deepthought:~/.vscode/extensions/geniebuilder.geniebuilder-0.1.8/scripts$ 

```

followed intructions to add GenieBuilder Where did I go wrong?

**SOLUTION**

**It seems to have been the OLD julia version.**

I removed the directory `~/.julia/geniebuilder`

`I changed the julia version to 1.7.3`

`reran the "ext install GenieBuilder.geniebuilder"`

`and it WORKED!!`

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [August 1, 2022, 12:08pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/12 "2022-08-01T12:08:10Z")

</div>

Thanks, I understand.

You’re on Julia 1.7 on a linux?

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [August 1, 2022, 12:10pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/14 "2022-08-01T12:10:45Z")

</div>

OK - I’ll follow up with DM so we don’t spam the thread.

---

<div class="post-metadata">

**Author:** ![anon69491625](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@anon69491625](https://discourse.julialang.org/u/anon69491625)\
**Post date:** [August 1, 2022, 12:48pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/16 "2022-08-01T12:48:58Z")

</div>

**It seems to have been the OLD julia version.**

I removed the directory `~/.julia/geniebuilder`

`I changed the julia version to 1.7.3`

`reran the "ext install GenieBuilder.geniebuilder"`

`and it WORKED!!`

---

<div class="post-metadata">

**Author:** ![PharmCat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pharmcat/32/6953_2.png) [@PharmCat](https://discourse.julialang.org/u/PharmCat)\
**Post date:** [August 13, 2022, 9:18am UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/17 "2022-08-13T09:18:49Z")

</div>

Hi! Great package!

Is any working example to make file upload with builder?

No idea how to implement examples from [StippleDemos](https://github.com/GenieFramework/StippleDemos) ☹

---

<div class="post-metadata">

**Author:** ![PharmCat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pharmcat/32/6953_2.png) [@PharmCat](https://discourse.julialang.org/u/PharmCat)\
**Post date:** [August 13, 2022, 9:32am UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/18 "2022-08-13T09:32:07Z")

</div>

> [@essenciary](#):
>
> If you find Genie Builder useful, you can join our [Discord](https://discord.com/invite/9zyZbD6J7H) for support, feedback, and feature requests.

I try to make some test and I found that mechanics is low-documented, so I think primary feature request is more minimal working examples for buttons, file upload, ets… and documentation about views html design.

some things is unclear:

what `@reactive` exactly do? and how to use it?

```julia
on(model.message) do message
    model.isprocessing = true
    model.message[] = "Hello to you too!"
    model.isprocessing = false
  end

```

What is `model.message[]` and what is `model.message` and so on…

---

<div class="post-metadata">

**Author:** ![PharmCat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pharmcat/32/6953_2.png) [@PharmCat](https://discourse.julialang.org/u/PharmCat)\
**Post date:** [August 14, 2022, 9:08pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/19 "2022-08-14T21:08:33Z")

</div>

Hi! It will be very useful to get few small examples with minimal realization with annotation of:

- file upload
- graphics update
- buttons mechanics
- registration / authentication
- file download

Now it hard to understand how some methods work - because there is no docs (for example for PlotData)

I saw Oscar and Scoring - but there are too much code that more make confused that help

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [August 15, 2022, 11:47am UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/20 "2022-08-15T11:47:28Z")

</div>

Thanks - yes, I agree, current demos are too complex. We’ll prepare some small nuggets and recipes to implement useful individual features.

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [November 23, 2022, 5:16pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/21 "2022-11-23T17:16:29Z")

</div>

Hi [@everyone](https://discourse.julialang.org/groups/everyone)! Today I’m excited to announce [Genie Builder v0.2](https://genieframework.com/blog/genie-builder-v02-speed-up-julia-app-development/), a major update of our VSCode plugin to help you build Julia apps more quickly and productively.

**What’s new?**

✅ We’ve integrated the new Genie Framework API, which lets you create apps with less backend code

✅ The no-code UI editor is more powerful and polished featuring automatic loading of binding variables and other improvements.

✅ The app template is more streamlined, making the app building process more intuitive.

👀 Read more in our release post: [Genie Builder v0.2: speed up your Julia app development](https://genieframework.com/blog/genie-builder-v02-speed-up-julia-app-development/)

To install this new version, download or update Genie Builder via VSCode: [Genie Builder - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=GenieBuilder.geniebuilder)

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [November 23, 2022, 5:34pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/22 "2022-11-23T17:34:42Z")

</div>

Amazing work as usual @essenciary 👏 Thank you for the awesome user experience.

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [November 23, 2022, 6:03pm UTC](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643/23 "2022-11-23T18:03:51Z")

</div>

Thank you @juliohm ! Very happy to say that it’s a team effort – I’m lucky to be working with great colleagues at Genie (and we’re hiring!) 🙂

[Next page](https://discourse.julialang.org/t/announcing-genie-builder-a-no-code-plugin-to-quickly-build-web-guis-dashboards/84643.md?page=2)
