PolicyEngine / PolicyEngine/policyengine-app-v2
Separate marketing site (policyengine.org) from app (app.policyengine.org)
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
-
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.
-
Different tech stacks - Landing pages benefit from static site generators (Astro, Next.js static export) for SEO, while the app needs React SPA features.
-
Team boundaries - Marketing help or contractors shouldn't need access to app code/secrets.
-
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.
-
SEO - Static pages rank better. The React SPA approach hurts discoverability for the marketing site.
-
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-v2repo, stripped of landing page code
Implementation Steps
- Create new
PolicyEngine/websiterepo with Astro - Migrate landing page content to static pages
- Set up Tailwind/styling to match current design
- Configure DNS for
app.policyengine.orgsubdomain - Update app repo to only serve the application
- Deploy both separately
Prior Art
We're implementing this same pattern for GrantKit (grantkit.io → marketing, app.grantkit.io → app).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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