Skip to content

[Research] How do open-source desktop apps lay out their public websites? ​

Question ​

Before building the PlayPets site (landing page, user guide, release pages, developer docs), we checked on real pages how well-known open-source desktop apps and desktop pet projects handle the order of the landing page, download buttons, use of screenshots, changelog structure, docs layout, multiple languages, and trust signals. The research date is 2026-10-03, and every observation comes from reading the pages directly on that day.

Findings ​

Sites read ​

GroupSites
Large open-source desktop appsZed, Obsidian, Warp, Bruno, Cap, Beekeeper Studio, Spacedrive
Solo-maker macOS utilitiesMaccy, Rectangle, Ice, AltTab, Loop, Stats
ChangelogsZed releases, Raycast changelog, Linear changelog, Obsidian changelog, Cap changelog, Warp changelog
VitePress docs sitesVite, Vitest, Slidev, UnoCSS, VitePress
Desktop petsBongoCat, BongoCat README, OpenPets, Clawd on Desk, clawd-pet, CoPet, WindowPet, deskpet, eSheep
Tauri showcaseThe official showcase was discontinued (Discussion #7643). Instead: awesome-tauri, madewithtauri.com

Could not read: the hoppscotch.io landing page (JavaScript only, so there is no body text), Arc release notes (403).

Landing page and download button ​

SiteFirst screenDownload
Zed4-word headline, buttons "Download now" and "Clone source"No OS detection, "Available for macOS, Linux, and Windows"
Obsidian3-word headline"Get Obsidian for Windows" + a "More platforms" link
BrunoOne "Download" button and "Explore docs"One line under the button: "Free and open source · macOS, Windows & Linux · No account needed"
Cap"Record. Edit. Share.""Download free for macOS" + an "Also available on" row of icons
Maccy, RectangleProduct name as the headline, one sentenceDirect file link, minimum macOS version shown
AltTabTwo sentences"Download Free for Mac", a block of numbers (downloads, stars)
Spacedrive"Take back your data."No download button on the first screen, only the blog and GitHub

What they share: the clearest sites show what you get within 2 seconds on the first screen, and put one line of trust (free, open source, runs locally) right under the button. Dozens of testimonials, pricing tables, and 10 FAQs are not used by solo open-source projects (even Zed has 5 testimonials).

Screenshots and motion ​

  • Ice, Rectangle: one screenshot per feature.
  • Loop, Clawd on Desk: the first screen is a short looping video or GIF.
  • Clawd on Desk: 24 GIFs, one per state, in a 3-column grid. For a pet app, this shows what it does at a glance.
  • A pet app page with no pictures at all leaves the visitor guessing what the pet looks like and does.

Changelogs and release pages ​

SiteStructureWorth noting
ZedList + a separate page per versionOne-paragraph summary, Features/Bug Fixes/Breaking Changes, PR links and "thanks @user", download buttons per OS and architecture on the version page
RaycastLong page, platform tabsOne image per entry, "✨ New / 💎 Improvements / 🐞 Fixes"
LinearA unique address per entryDate, title, hero image or video
ObsidianPaginationLabels "New / Improvements / No longer broken / Developers", RSS
CapLong page, platform tabsHeadline sentence + collapsible notes

Zed is the only one with download buttons on each version page, and Raycast and Linear are the only ones with a screenshot for every entry.

Docs layout ​

  • Zed: user docs and "Developing Zed" on one site, with the developer section at the bottom of the sidebar. Welcome (Getting Started, Installation, Update, Uninstall, Troubleshooting) → features → Platform Support (macOS/Windows/Linux) → Reference.
  • Obsidian: user help and developer docs are separate sites.
  • Vite, Vitest, Slidev: language and version switchers at the top right. "On this page", "Suggest changes", and previous/next on every page.
  • Bruno, Zed, Slidev, Pake: provide llms.txt.

Multiple languages ​

  • Obsidian: 13 languages in a header dropdown. AltTab: 22 languages, /de/ /ko/ paths. BongoCat: Chinese by default, a footer switcher with 10 languages (including Korean). Clawd on Desk: README in 4 languages (including Korean).
  • Solo projects run multilingual sites too. A switcher at the top right is easy to find; one in the footer is hard to find.

Trust signals ​

  • Bruno "Your data never leaves your machine", Beekeeper "By default we don't even know when you install the app", Maccy "Everything is stored on your computer", AltTab "No tracking, no telemetry", Spacedrive "no cloud, no account, no subscription, no telemetry".
  • Star count badges: Cap (22k) and Spacedrive (37k) show them in the menu. When the number is small, just the icon.
  • Maccy: a banner warning about fake sites. Stats: "Open source, but not open contribution", stating what to expect from a solo maintainer.

Patterns PlayPets avoids ​

These are patterns that would work against a small desktop app like PlayPets. They are general patterns, not a verdict on any site; several of the sites above make these choices on purpose for their own audience.

PatternWhy PlayPets avoids it
The stock VitePress home layout as is (big logo on the right, 2 buttons, 4-card feature grid)It reads as a docs site rather than an app
A product home page without a download buttonVisitors who want the app have to hunt for it
An empty download button, no version shown, a stale copyright yearIt looks unmaintained even when it is not
A landing page that renders only with JavaScriptCrawlers and link previews get no content
Many sections, a pricing table and a long FAQIt reads as a commercial service rather than a free app
Enterprise jargon on a tool for individualsThe visitor cannot tell what the app does
A changelog with no screenshots and no download linksVisitors cannot see the change or get the version they read about

Limits of this research ​

  • It was read over one day, and sites change. It reflects 2026-10-03.
  • Visitor response (conversion rates and so on) is unknown. Only structure and appearance were looked at.
  • Among pets that react to coding agents, the projects read (Clawd on Desk, CoPet, buddy-desktop, nchiyi/desktop-pet) were documented in their READMEs and had no separate site.

Conclusion and recommendations ​

This is how the PlayPets site is laid out. This research is the basis for the decision "Publish the introduction, user guide, per-version pages and developer docs as one VitePress site on GitHub Pages".

  1. First screen: a 3–5 word headline, one sentence, an OS-detecting download button + links for other platforms (Obsidian, Cap), one trust line under the button (Bruno), and instead of text, moving pets (Loop, Clawd on Desk). Instead of video, PlayPets animates the real sprite sheets with CSS to stay light.
  2. Second screen: a grid of gestures per state (Clawd on Desk). For a pet app, this is the product description.
  3. Only 3 features, each with one real screenshot (Ice, Rectangle). Connecting is 3 steps plus a table of agent → settings file → what gets passed along (CoPet).
  4. Release pages: a separate page per version + a summary paragraph + download buttons per OS (Zed), plus at least one screenshot (Raycast, Linear). The list page shows the version, date, and headline sentence (Cap).
  5. User guide and developer docs on one site, split by top tabs (Zed). The installation page has a section per OS on getting past the first-launch warning. Language switcher at the top right (Vite).
  6. Leave out: a wall of testimonials, pricing tables, a long FAQ, logo carousels, the stock VitePress home layout.
  7. At launch, register with awesome-tauri and madewithtauri.com.

Free and open source under the MIT license. Not affiliated with OpenAI; Codex is a trademark of OpenAI.