[Hackathon] Docs Revamp
Team | Members |
---|---|
Team | @An Le, @Brian Do, @Jairo Garciga, @Minhye, @Candice Chow, @Akin |
Shared Links | Design: Docs Mockup Ideas (opens in a new tab) |
Docs Reorg: “Getting Started” - Work Flow (opens in a new tab) |
I. Issue:
- Docs UI look outdated comparing to Statsig Homepage design language overall.
- Our docs UI currently is not well organized:
- It’s not clear between the Product Definition and Integration
- Which one is for Feature Management, Experimentation, Analytics, Data Ingestion…
- The integration UI/UX is quite hard to discover.
- ConsoleAPI using RAPI which is ok Free option, not great to display each endpoint details. Its UI components tend to work like accordion which push out the other sections to different page easily.
- It’s hard for non-technical people to contribute to due to
- Set up Github in order to commit. They can commit directly on Github but not prefer because we prefer to have Preview before commit.
- Even with VSCode engineers already can make mistake easily due to MDX syntax.
- Analytics: we do have one, but not enforce on all pages.
II. Solutions:
Option 1: Improve current Docs framework
- Description: currently we are using Docusaurus for general Docs and Rapi to generate interactive API.
- Pros:
- Free
- Already using them
- Cons:
- Docusaurus
- No Editor support for non-tech users - but it’s in Beta not very well implemented yet
- Overall structure is more barebone
- No support for API interaction integration
- RAPI
- Component and API rendering not very well built
- Docusaurus
- Work to be done:
- More work on restructuring the layout.
- More tinkering with Rapi for better structure (may not get all the functions we want).
- Apply analytic site wide and how to enforce for new docs.
Option 2: Move to Docs as a Service
- Mintlify (https://mintlify.com/ (opens in a new tab))
- Description: some big names using it
- Pros:
- Functionalities already supported out of the box
- Non-github Editor for MDX docs and direct commit, preview ⇒ Quite Beta
- Auto gen for each interactive API page + more beautiful out of the box ⇒ Ours with some work can be at Good stage.
- Analytics - we should integrate with statsig anyway ⇒ Do we really need it?
- Functionalities already supported out of the box
- Cons:
- Pay monthly ⇒ Biggest down side?
- Migrating all current docs ⇒ Another big task
- Work to be done:
- More work on migrating current docs
Conclusion v0 😆: go with Option 1
- The advantage is not clear to justify the effort
- To migrate
- To pay monthly
Option 3: Rebuild from scratch with different tech stack
- nextra NextJS
- starlight Astro https://starlight.astro.build/ (opens in a new tab)
Final Conclusion: rebuild with Nextra
After putting in more research and seeing other companies steered away from Docusaurus to NextJS like Supabase AND I also spent 4 hours upgrading the Docusaurus with so much pain, I’m convinced that we should steer away from Docusaurus to some latest tech stack too. I found Nextra which is developed by NextJS.
- Pros:
- Use nextjs
- Supposed to be much faster than Docusaurus Single Page Application.
- Supposed better for SEO too.
- Very customizable
- Extendable. We can extend with much more functionalities by ourselves.
- We own the stack
- All our engineers already familiar with NextJS and love it.
- We don’t have to pay monthly.
- Use nextjs
- Cons:
- The docs libs/plugin may not be as many as Docusaurus because it’s introduced recently. But, most of what we need I see it already covers.
- No support for Docs Version. We are not doing it anyway, and I suppose we can implement it with a bit of effort.
III. Resources:
Good Examples
- https://supabase.com/docs (opens in a new tab)
- https://daisyui.com/components/button/ (opens in a new tab)
- https://v2.tailwindcss.com/docs (opens in a new tab)
- https://docs.stripe.com/ (opens in a new tab)
- https://posthog.com/docs (opens in a new tab)
IV. Action Items
v0: Build proof of concept with Nextran
- Mock Design - L - @Minhye
- Docs Migration
- Write up - M - @Candice Chow
- Reorg pages - XXL “Getting Started” - Work Flow (opens in a new tab)
- Implementation
- New Theme Setup - M - @Brian Do
- Spacing
- Color
- New Header - M - @Jairo Garciga
- New Side Nav - L - @An Le @Brian Do
- Sub sections (Onclick ref Supabase https://supabase.com/docs (opens in a new tab))
- Icon on each main page
- New Landing - L - @Jairo Garciga @An Le
- Footer
- New Theme Setup - M - @Brian Do
V. Wishlist (Out of scope):
v1: Feedback and Analytics
- Install Statsig analytics
- Rework on API page which will point to brand new page with its own Side Nav - XL
- Feedback section on each page. Voting and feedback functionalities.
v2: Search with GPT
- Dark Mode. Sync with ShadCN and Nextra. Turn off Dark mode for now
- GPT integration (https://docs.docsgpt.cloud/ (opens in a new tab))
v3: MDX Editor
- Create editor mode where non-technical contributors can write easily without git access. Just need to support .MD first later on can expand to .MDX
- Login using statsig account > able to mutate the content (https://mdxeditor.dev/ (opens in a new tab))