PolicyEngine / PolicyEngine/policyengine-app-v2

Separate marketing site (policyengine.org) from app (app.policyengine.org)

Open
#472 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
1
Forks
3
Avg merge
1d 50m
Merged PRs (30d)
39

Description

Summary

Split the marketing/landing pages from the main application into separate repositories with the app hosted at app.policyengine.org.

Rationale

  1. Independent release cycles - Landing pages change infrequently (marketing copy, testimonials), while the app changes frequently. Coupling them means deploying marketing changes triggers app CI and vice versa.

  2. Different tech stacks - Landing pages benefit from static site generators (Astro, Next.js static export) for SEO, while the app needs React SPA features.

  3. Team boundaries - Marketing help or contractors shouldn't need access to app code/secrets.

  4. Performance - Landing pages should be ultra-fast static HTML. The current React bundle is large. Visitors to policyengine.org shouldn't load the full React app just to see marketing copy.

  5. SEO - Static pages rank better. The React SPA approach hurts discoverability for the marketing site.

  6. Security surface - Separate repos mean separate access controls. Landing pages don't need API credentials.

Proposed Structure

  • policyengine.org → New repo (PolicyEngine/website) with static site generator (Astro recommended - zero JS by default, perfect Lighthouse scores)
  • app.policyengine.org → Current policyengine-app-v2 repo, stripped of landing page code

Implementation Steps

  1. Create new PolicyEngine/website repo with Astro
  2. Migrate landing page content to static pages
  3. Set up Tailwind/styling to match current design
  4. Configure DNS for app.policyengine.org subdomain
  5. Update app repo to only serve the application
  6. Deploy both separately

Prior Art

We're implementing this same pattern for GrantKit (grantkit.io → marketing, app.grantkit.io → app).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the current landing-page implementation in the policyengine-app-v2 repository and compare it with the GrantKit separation pattern mentioned in the issue. Define the migration boundary, the new PolicyEngine/website repository, and the app.policyengine.org deployment and DNS changes. Done means marketing pages and the application deploy independently with matching styling and the app no longer serving landing pages.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, tailwindcss
Domain
devops, frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.