OpenPolicy
O
p
e
n
P
o
l
i
c
y
OpenPolicy is a new open-source platform designed to simplify the creation, management, and publishing of legal and public documents. Whether you're a startup needing a Privacy Policy or an enterprise managing complex compliance documentation, OpenPolicy provides a solution that is both simple and secure.
Features
  • AI-Powered Writing: Built-in AI Copilot for autocompletion and Command mode for generating, editing, and summarizing text.
  • Rich Text Editor: Advanced editor with support for markdown, tables, and Excalidraw diagrams.
  • Multi-Workspace Support: Organize documents by team, project, or client with isolated workspaces. (Coming soon)
  • Custom Domain: Connect your own domain (e.g., docs.acme.com) with automatic SSL.
  • Status Management: Draft, Publish, and Archive states.
  • SEO Optimization: Automatic dynamic metadata generation for better discoverability.
  • Custom branding: Workspaces get unique slugs (e.g., acme.openpolicyhq.com).
Why I built it?
I built OpenPolicy because I wanted to try out Polar.sh, a fairly new payment infrastructure built on top of Stripe. It provides a simple way to create meters. Which can track usage and generate invoices based on those. Then I found out that the idea wasn't bad, so I decided to build it fully. I took inspiration from Openstatus for the design and the functionalities.
My goal was really to work with things I never tried before, like the custom domain feature, which was surprisingly easy to implement. But then I doubled down on the production-readiness and made sure that the app was ready for production. And here we are! Now, I'm working on improving the app's performance and adding more features. Slowly but surely, we're making progress. And I'm excited to see where this project goes in the future.
LocalCard
Tech stack
  • Typescript: Built on top of Next.js and Tailwind CSS.
  • Database + Auth: Supabase was the best choice for this project.
  • Rate limiting: I decided to use Upstash Redis to limit the number of requests per user.
  • Error handling: My go-to error handling tool is Sentry.
  • Editor: Used PlateJS for the editor.
All rights reserved © 2025 Zakary Fofana