M1

Toggle color mode

Building Memoir One

by raymond.julin5 entries
Mid June updateWeather have been great so there has been little hacking time as gardening and being outside has taken priority. But there have been some progress during short morning bursts:Hashtag support in the editor. This one took far longer than anticipated and I'm still very unhappy with the implementation. But hashtags are captured and stored in a way that can be worked with going forwardMake sure non-public journals are not shown unless logged in and being an owner. My goal is to have public journals served statically and personal journals serve a 404 statically and then load the data on the client to populate for the owner. This doesn't work as flawlessly as I had hoped so far; to have the same URL render statically and to be dynamic when an active session predicates it.Spruce up the journal display a bit.
Late May quick updateDisabled logging in if your account is not enabledAdded a user popover menu instead of just logging out on avatar clickEditor autoformatting based on markdown prefixesAdded a modal editor that can be opened from the journal pages. Autoselects the browsed journal for publishingAdded an editor toolbar

Morning session resulted in adding content loading indicators to profile + journal pages for the first view while they are being built in the background. A nice touch that makes it less of a janky flash of loading text jumping before you see real content.

I've also investigated using a pre-built slate-superset editor a bit. Its tempting to take a shortcut as it would save me a lot of development time for the baseline editor functionality. On the other hand it would lead to a bigger JS bundle being shipped because it uses a different CSS-in-JS solution (styled-components) than what I'm using (theme-ui + emotion). As I do build custom logic on top regardless I'm afraid any investment made on top would be wasted time if I suddenly realise I need to build on the core Slate editor package.

I will probably try to integrate it and see if I can build the custom plugins easily on top and if the terminology and interfaces for those plugins are similar enough to plain Slate that it would be portable if I need to switch around. For a MVP it makes a lot of sense to save as much development time as I can so my gut feeling is to run with slate-plugins-next and bite the bullet if it hits me later.

Short update. Managed to wire up the early access form on the home page. Now emails are stored in the db with some meta data. Still lacking receipt email but its a good step towards MVP state for the email capturing.

Good late night hack session to encapsulate a lot I've been working on the last couple of days. In summary I'm getting a lot clearer picture of the framing of the final MVP. Trying to summarize the things that have just fallen in place:

  1. New layout: Drop the sidebar and go for a minimalist header only
  2. New name! Memoir.one, and I even bought the domain. In short: M1. I think this can work
  3. Use /@handle as a profile page with list of journals but no entries in itself. Use /@handle/journal-slug
  4. Only the profile page has the editor now, and you can select to publish a draft into one or more journals.
  5. Dark mode!
  6. Sketch out more of the landing page on / and write a few lines of content there.

As the framing and layout is more in place now I expect to get back to focus on the editor experience and finally work on the killer features of M1: Data!