Skip to content

Redesign and clean project homepage#113

Draft
OriolAbril wants to merge 1 commit intopymc-devs:mainfrom
OriolAbril:homepage
Draft

Redesign and clean project homepage#113
OriolAbril wants to merge 1 commit intopymc-devs:mainfrom
OriolAbril:homepage

Conversation

@OriolAbril
Copy link
Member

My idea is to improve the homepage so it acts as a landing page for the project and library,
for now I have still kept the example code, but I think it is probably better to convert
that into a "getting started" page instead. I think we should also think about a different
view for the ecosystem section, open to ideas and to keeping only a handful of libraries
as a highlight.

The main inspirations have been the arviz and the polars pages,
but most landing pages nowadays have a similar feel of large column layout with ~screen size
rows of content with little text and grids/icons.

@twiecki
Copy link
Member

twiecki commented Dec 26, 2025

Love the new look! In terms of flow, I wonder if there shouldn't be like a 3-line hello-world example directly after the heading. The current example which comes a bit later feels a bit heavy.

@fonnesbeck
Copy link
Member

fonnesbeck commented Dec 26, 2025

Maybe an engaging plot in the upper right corner here? I think it needs something visual on the landing page. Maybe a dynamic image that slowly changes among several graphcs?

image

@zaxtax
Copy link

zaxtax commented Dec 27, 2025 via email

@OriolAbril
Copy link
Member Author

I am currently leaning towards not having any code on the landing page, but I could be easily convinced otherwise.

My reasoning is the people reading this landing page will mostly be people who don't know what PyMC is and are probably not very technical. Users will directly click somewhere on the navbar (if they don't directly go there), more technical people will probably either land on github or quickly go to the "getting started" button or examples nabvar section.

If we add a full fledged example like we have now it will be too much and discourage people looking for a conceptual high level intro from going over the landing page. If we add a simple code example I think it will be skipped by people not interested in it but also won't really be valuable for people looking for a code-first intro either.

I really liked how clean and streamlined the page used to be

I also agree it is an improvement over the current state. However, it also feels more like a github readme than an actual landing page for a project website. It still feels a bit too cramped, with a lot of small font text and the badges would clash with the style/aesthetic of the page if we added them back.

Maybe an engaging plot in the upper right corner here? I think it needs something visual on the landing page.

I agree it is a bit too empty and simple right now (no image, no changing background between "rows", no animation).

@canyon289
Copy link
Member

My 2 cents is you dont need code on the front page anymore either. Most sense is most people building a pymc model these days is likely using a AI model of some sort and the need for basic starter code like this is going away

@twiecki
Copy link
Member

twiecki commented Jan 4, 2026

Putting myself into the shoes of a user, I'd like to really just see any line of code to get a rough idea of the direction this is going. Maybe it's literally just x = pymc.Normal("x", mu=0, sigma=1) and say that the primitives are these random variables you use to represent belief and what that line does. That way we also give a very high-level intuition for the non-technical user.

@aloctavodia
Copy link
Member

I would like to keep the home page minimal in that way is easier to effectively highlightoymc features and guide user to the content they want. Having the "get started" and "examples" butons at the top should be enough to move users into the code.

@twiecki
Copy link
Member

twiecki commented Jan 22, 2026

Would we still list "intuitive syntax (x = pm.Normal("x"))" as a feature?

:::{grid-item}
:class: key-features-body

Write your models using friendly Python syntax. [Learn Bayesian modeling](https://www.pymc.io/projects/docs/en/latest/learn.html#) from the many [example notebooks](https://www.pymc.io/projects/examples/en/latest/gallery.html).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following @twiecki suggestion, we could have something like

Suggested change
Write your models using friendly Python syntax. [Learn Bayesian modeling](https://www.pymc.io/projects/docs/en/latest/learn.html#) from the many [example notebooks](https://www.pymc.io/projects/examples/en/latest/gallery.html).
Build models from intuitive primitives called random variables. For example, `x = pm.Normal("x", mu=0, sigma=1) defines an unknown quantity x with a Normal distribution.

And we can move the text Learn Bayesian modeling from the many example notebooks. to some other place, maybe add a new "card" "easily to learn" or "well-documented" saying that there are a lot of resources to learn, videos, books, tutorials, etc...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that a lot, especially the first sentence.

:::{grid-item}
:class: key-features-body

Uses {doc}`PyTensor <pytensor:index>` as its computational backend to compile through C, Numba or JAX, [run your models on the GPU](https://www.pymc-labs.io/blog-posts/pymc-stan-benchmark/), and benefit from complex graph-optimizations.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Uses {doc}`PyTensor <pytensor:index>` as its computational backend to compile through C, Numba or JAX, [run your models on the GPU](https://www.pymc-labs.io/blog-posts/pymc-stan-benchmark/), and benefit from complex graph-optimizations.
PyMC runs fast even for complex models. Thanks to a high-performance computational graph engine, {doc}PyTensor <pytensor:index>, your models are compiled through C, Numba, or JAX to run on CPU or GPU and benefit from automatic graph optimizations—without you even noticing.

Or something like this to have a balance between technical language and punchier language

:::{grid-item}
:class: key-features-body

Write your models using friendly Python syntax. [Learn Bayesian modeling](https://www.pymc.io/projects/docs/en/latest/learn.html#) from the many [example notebooks](https://www.pymc.io/projects/examples/en/latest/gallery.html).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following @twiecki suggestion, we could have something like

Suggested change
Write your models using friendly Python syntax. [Learn Bayesian modeling](https://www.pymc.io/projects/docs/en/latest/learn.html#) from the many [example notebooks](https://www.pymc.io/projects/examples/en/latest/gallery.html).
Build models from intuitive primitives called random variables. For example, `x = pm.Normal("x", mu=0, sigma=1) defines an unknown quantity x with a Normal distribution.

And we can move the text Learn Bayesian modeling from the many example notebooks. to some other place, maybe add a new "card" "easily to learn" or "well-documented" saying that there are a lot of resources to learn, videos, books, tutorials, etc...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I adapted the elements in the "key features grid" from the old bullet points, but we can change/modify those as much as we do their descriptions, also add more and have a 4x2 grid, or 3x3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants