P20 / PROJECT

Botanica

An illustrated greenhouse game where deterministic plant artwork, simplified genetics, breeding and collection management support gradual progression.

Conceptual illustrated greenhouse with varied plants, parent-to-seedling inheritance lines and seed envelopes.

A greenhouse built from code

Botanica is an illustrated greenhouse game built on a plant-laboratory foundation. Players grow and collect plants, sell specimens, expand glasshouses and fund breeding, while quests, research and optional workers support gradual progression.

Its plants are deterministic SVG compositions rather than images fetched from an external generation service at runtime. The artwork system combines original handcrafted primitives, palettes and repeatable layout rules so that a plant's identity can produce a consistent visual result.

Growing, collecting and crossing

  • Seed inventory, growing slots, server timers and harvesting form the greenhouse loop.
  • A shop, quests and research provide progression and unlocks.
  • Breeding connects saved parent plants to offspring, lineage and a journal.
  • A searchable, filterable gallery keeps the collection navigable as it grows.
  • Plant inspectors expose genotype, ancestry, birth records and export options.

A laboratory alongside the game

The lab offers allele editing, phenotype explanations, rarity information and manual visual previews. Advanced studies and preview-only effects are kept separate from the game economy, so an exported cosmetic experiment is not silently treated as a legitimate game specimen.

The genetics are deliberately simplified and fictional. They serve the game's visual and collection systems rather than claiming biological accuracy, and collection frequency is distinguished from a trait-derived rarity tier.

Persistent and server-authoritative

The documented application uses accounts, ownership-scoped data and a PostgreSQL-backed runtime. Server-side rules govern breeding, pricing, recorded outcomes and bounded worker catch-up, while idempotency handles retries without creating duplicate outcomes.

Docker Compose supplies the complete application stack, including migration/bootstrap work and persistent storage. The repository describes isolated integration tests for migrations, seeding, persistence, concurrency, ownership and game-economy behavior.

Generative artwork with a clear boundary

The renderer uses 15 original SVG primitives and six palettes, with source synchronization checks and artwork-provenance documentation. The game itself does not require runtime image services, remote fonts, trackers or paid APIs according to the README.

The featured image on this project page is separate conceptual artwork created for the portfolio. It evokes the greenhouse and inheritance themes, but it is not generated by Botanica's SVG renderer and should not be mistaken for a screenshot of the game. The linked public origin is the one documented by the project.

Explore the repository

Read the source code and project documentation for the latest implementation details and setup instructions. This description is based on the public repository reviewed on October 29, 2026.

Project at a glance

Requirements / platforms
Node.js/npm for development; Docker Compose for the complete application runtime, including PostgreSQL. A modern web browser is required to play.
Technologies
Docker ComposeNginxPostgreSQLSVGTypeScriptVite
Project categories
Games and simulationsGenerative art