# Publishing Technology Stack
## 🌀 Vol. 1
I want to start out for 🌀 Vol.1 of goinglovefirst.com with just a static website and manually update it for new content. There will be a lot of figuring out & building the plane as we fly it, but to work immediately on integrating user activity and profiles feels well beyond what I consider MVP here.
### Writing & Publishing Process
To write & publish content to the first volution, I want to use [Obsidian](https://obsidian.md/), a writing & knowledge base application that supports the following essential features:
- Markdown writing with Rich Text Editing option
- Support for wiki-style (`[[Some Page]]`) links to other pages
- File system folder of standard `.md` files, which can be stored in github as a content repo
- And used as a [submodule](https://github.blog/2016-02-01-working-with-submodules/) inside the larger website repository
- Embedding of notes (content pages) *into* other notes
My friend Travis Vachon created a module/plugin that converts Obsidian's embedding syntax, `![[page to embed]]`, into a functioning next.js (or webpack?) import system. Currently, it does not support embedded MDX components, but that may be possible in the future. If not, there is a straightforward solution for it that I already have architectured for: a distinction of Pieces (like puzzle pieces, but reusable) that are designed to not just stand on their own as a short bit of content, but can be embedded into longer pieces, and Essays, which themselves should not be embedded. Essays could have the MDX components in them, while Pieces would be prohibited to do so.
## Envisioned Technology Stack
### Next.js
Built on Next.js, deployed via Vercel. Static site navigates like an SPA (Single Page Application) using Next's Link and routing functionality.
### MDX.js
Integrated support for MarkdownX, or MDX, to enable React components embedded directly in markdown files. These will start as very simple widgets of just prompts, text entry fields, and some selection / options that toggle different bits of content.
### React
React & JSX framework for building components, and making the website function like a SPA together with Next.js.
### Tailwind CSS (+UI)
Tailwind CSS for the styling, with optional use of the Tailwind UI components (I have a license).
# 🌀 Vol. 2 and Beyond
In the next volution of the site, "users" can use semi-safe data storage (using the browser's localStorage) to save their customizations of content pieces.
The medium-term solution will probably be replacing localStorage with [Supabase](https://supabase.com/), which offers a ton of features to get such things off the ground very quickly.
Finally, a long-term solution for user accounts & data will involve a new modality for data ownership and consent-based access, but it remains to be seen what that technology will be. Tim Berners-Lee's SOLID project is not proving viable thus far.
---
## Related Reading
- [[goinglovefirst.com/product-vision|Product Vision]]
- [[goinglovefirst.com/design-scope|Design Scope]]
- [[goinglovefirst.com/dev-scope|Development Scope]]
- [[goinglovefirst.com/tech-stack|Technology Stack]]