# PHPLD Next Product Vision

PHPLD Next should become a modern, installable directory application that works well out of the box, stays easy to upgrade, and can grow from a simple link directory into a richer listing platform.

The product should feel familiar to people who remember PHP Link Directory, but it should not preserve old behavior simply because it existed before. The goal is a cleaner, mobile-friendly, useful directory system with a polished admin experience and enough flexibility to support several directory styles.

## Core Principles

- The free baseline product must work without AI services, paid accounts, or outside subscriptions.
- AI features should be optional enhancements, not required infrastructure.
- Installation should feel close to WordPress: upload files, open the installer, enter database/admin/site details, and start using the app quickly.
- Upgrades should be easy enough for non-technical site owners to run from the admin area.
- The app should support both lightweight directories and rich listing pages.
- The admin area should feel like a real application, with efficient use of space and clear workflows.
- The public frontend should support branding, color schemes, logos, and layout flexibility.
- Every major user flow must be mobile-friendly.

## Target Users

PHPLD Next should serve several overlapping audiences:

- Site owners who want a classic categorized link directory.
- Creators or businesses who want a Linktree-style link hub.
- Niche publishers building resource directories.
- Software, product, agency, venue, or service directories with richer listing details.
- Existing phpLD users who want a modern replacement without learning a custom framework.

## Baseline Free Product

The baseline downloadable version should include:

- Public directory homepage.
- Categories and nested categories.
- Listing detail pages.
- Listing submission form.
- Admin review queue.
- Admin category and listing management.
- Basic search/browse.
- Theme controls for logo, colors, and simple layout choices.
- Installer and updater.

The app must not require OpenAI or any other AI service to install, browse, submit, review, or manage listings.

## Optional AI Features

AI should be presented as opt-in tooling. Possible features:

- Suggest listing title, description, and category from a URL.
- Improve submitted descriptions.
- Generate tags or summaries.
- Help admins import or clean batches of links.
- Suggest SEO metadata for rich listing pages.

AI settings should make it obvious that these features are optional and require the site owner to provide their own configured provider/key.

## Installer Goals

The web installer should:

- Check server requirements before setup.
- Collect database credentials.
- Verify the database connection before continuing.
- Create or migrate tables.
- Create the first admin user.
- Configure site name, URL, and basic branding defaults.
- Write an installation lock after completion.
- Avoid exposing sensitive diagnostics publicly.

The command-line installer can remain useful for developers and automated deployment, but the public release needs a friendly browser installer.

## Updater Goals

The updater should make routine upgrades possible from the admin area.

Expected behavior:

- Check a public update manifest for available versions.
- Show release notes, version number, and basic compatibility information.
- Download a signed or checksummed release package.
- Back up the current app/database before applying updates.
- Put the app into maintenance mode during the update.
- Run migrations and cache rebuilds.
- Roll back or provide clear recovery instructions if an update fails.

The update manifest can be public while the actual source repository remains private. Release packages can expose only what is needed to run the application.

## Install And Upgrade Tracking

Tracking should help us understand adoption without making the app feel invasive.

Useful events:

- New install completed.
- Version check performed.
- Update available.
- Update started.
- Update completed.
- Update failed.

Tracking should include:

- Anonymous installation ID.
- App version.
- PHP version.
- Database driver/version when available.
- Domain hash or opt-in domain value, depending on privacy settings.

Tracking should not include:

- Admin passwords.
- API keys.
- Raw database credentials.
- Submitted listing content unless explicitly opted into diagnostics.

The installer should clearly disclose tracking and ideally allow disabling non-essential telemetry.

## Directory Flexibility

The data model and UI should support more than URL, title, and description.

Possible directory modes:

- Simple link list.
- Category-heavy resource directory.
- Link-in-bio style landing page.
- Rich software/product directory.
- Paid or featured listing directory.

The listing system should eventually support configurable fields such as:

- Website URL.
- Logo/image.
- Screenshots/gallery.
- Pricing.
- Location.
- Contact details.
- Social links.
- Tags.
- Custom fields defined by the admin.

## Monetization Features

Paid directory features should be treated as optional modules or settings, not required to run a directory.

Likely needs:

- Paid submissions.
- Featured listings.
- Listing renewal or expiration.
- Payment provider settings.
- Admin approval workflow after payment.
- Clear invoice/payment status in the admin area.

Payment features should be designed carefully so that free directories stay simple.

## Admin Experience

The admin area should become denser and more purposeful than a basic scaffold.

Priorities:

- Dashboard with useful status and next actions.
- Better navigation and information hierarchy.
- List views with filters, search, bulk actions, and clear status badges.
- Efficient edit screens for listings and categories.
- Review queue for submitted listings.
- Settings broken into understandable sections.
- Mobile-friendly admin screens.

The admin UI should feel calm, practical, and durable rather than flashy.

## Frontend Experience

The public frontend should be flexible without becoming a theme framework too early.

Initial controls:

- Site logo.
- Site name and tagline.
- Primary color.
- Accent color.
- Homepage layout choice.
- Category/listing card density.

Longer-term controls:

- Custom fields on listing pages.
- Listing page layout templates.
- Featured sections.
- Custom navigation links.
- Footer controls.

## First Public Download Goal

The first downloadable baseline script should be good enough for people to install for free and start testing.

Minimum bar:

- Easy upload/install.
- Works without AI.
- Admin login and core CRUD.
- Public directory browsing.
- Submission/review workflow.
- Version check and upgrade path.
- Basic tracking of installs/upgrades.
- Documentation for installation, update, and troubleshooting.
