DEV Community

Mario Hayashi
Mario Hayashi

Posted on

Write copy in Notion, export to JSON

Hey there! πŸ‘‹

I made a Low-Code project that I’d welcome feedback on β€”

Aimed at devs, PMs and copywriters, CopyOcean takes copy from a Notion Table and exports it to JSON, so developers can easily drop it into the app (https://www.copyocean.com). It also makes i18n a breeze!

It was motivated by experience in product development where copy management was often messy and ad-hoc. Unnecessary communication overhead, outdated copy and lost productivity were some of the problems that came with copy changes. CopyOcean attempts to solve this problem by using Notion Tables as a central source for copy and helping you add the copy to your product with a machine-readable export (JSON).

Would love to know from you (a) how your copy process looks like today and (b) whether this is of interest! Of course any other thoughts welcome.

Top comments (8)

Collapse
 
vaclavhodek profile image
vaclavhodek • Edited

Nice product!

However, I'm not sure about it for localization/i18n. While it may be a viable solution for a small website, it's still just a table. I used to manage translations in a shared spreadsheet, and it's going to kill you over time.

To manage the localization process, you need many features:

  • context information for accurate translation
  • Q/A process to catch typos, mistakes, missing placeholders, etc.
  • a way for bi-directional communication where context is not clear
  • machine translations involved in the process are the must to speed the work of translators
  • managing people is essential; critical when external people are involved
  • you need to be able to track changes in the source texts and correct also translation
  • additional state information are necessary sometimes (such as need improvement, etc.)
  • you have to be able to manage different versions of translation as there may be corrections over time

Believe me, I was naive and I think that a simple table is enough for such a simple task, and started to localize my mobile apps in a bit punky way :-).

In the end, it led me to start Localazy as the localization is pain and I wanted to fix it, at least, for developers.

Collapse
 
logicalicy profile image
Mario Hayashi

Thanks for your thorough, helpful feedback re i18n! Will make sure to check out your Localazy πŸ™‚

Collapse
 
vaclavhodek profile image
vaclavhodek

I think that your product would be awesome for a completely different field.

I would call it a developer-marketer problem, and we hit it often at Localazy :-).

Examples:

  1. For marketing purposes, it's necessary to introduce a set of URL redirects. Adding a new redirect is as simple as adding a record to the database. However, we don't have a nice UI for it, and so the marketer can't do it on his own.

  2. A lot of things on our website are edited by the marketer. Currently, we use headless CMS (Directus) for managing data, but we could use Notion as well and export them to JSON.

Technically, when a non-tech person needs to edit data, your product is useful. It, of course, includes i18n as well, just this particular field is too complex for a simple table.

Thread Thread
 
logicalicy profile image
Mario Hayashi

I like the alternative use cases. I'll add them to my notes. Like you mention, this tool could bend in other ways than just copy!

Thread Thread
 
logicalicy profile image
Mario Hayashi

If the redirects database / marketing data (what might these be?) were to be exported to JSON, how would it be integrated into your system? Would be keen to know! Thanks πŸ™‚

Thread Thread
 
vaclavhodek profile image
vaclavhodek

Basically, it's a table of target URL and destination URL.

Every 5 minutes, it's reloaded from the database. I can imagine, that we call some endpoint to get a fresh copy from the Notion. So anyone with access to the given notion document can add or update redirects and they are alive in no more than 5 minutes.

A similar situation applies for, e.g., this page: localazy.com/integrations

It's built statically but when the build process is invoked, the list of products along with their parameters (and there are many of them; some used for showing the products once logged in) are loaded from headless CMS and the page is rendered. Again, I can imagine calling an endpoint to get data from Notion.

Thread Thread
 
logicalicy profile image
Mario Hayashi

This is brilliant. Yes headless CMS has been on my mind, I feel it's quite relevant as you mention. I started with JSON output (for simplicity) but an API/making it headless is not a far fetch. Will have a think and nudge you for some additional feedback when I have more to share if that's ok? πŸ™‚

Thread Thread
 
vaclavhodek profile image
vaclavhodek

Sure, I will follow you to keep updated about your progress :-). Feel free to contact me! We can connect on LinkedIn: linkedin.com/in/vaclavhodek