Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: FlyCode – Git-Based Copy and Translations Editor for Web Apps (flycode.com)
185 points by JakeVacovec on April 26, 2022 | hide | past | favorite | 52 comments
Hi HN community,

Over the last six months, we’ve been building FlyCode, a product editing DevTool. We make it easy for team members to edit product copy in web and native apps’ code through FlyCode’s dashboard with auto-generated PRs instead of using a code editor.

From the beginning, we built around the belief that codebase ownership should stay with developers and that tools should flexibly coexist with a codebase rather than dictate infra changes. The key shift for us was to identify ways to include non-technical teams as individual contributors in the development process.

At FlyCode, we’re building a git-based product editor that makes it easy and safe for non-developers, to contribute to web & native apps code without actually coding. So far we’ve built [1]:

1) A GitHub application that scans your selected repositories in real-time for product copy. We are working on integrations to support GitLab and BitBucket in the future.

2) Editing React, Angular, and Vue code as well as JSON and gettext PO files (for international use-cases). We support editing product copy in resource files and hardcoded.

3) Pre-built GUI to invite your team to manage and edit product copy with auto-generated PRs.

We are hoping to use this post as an opportunity to collect feedback from fellow hackers! Our open beta is fully self-service and takes about 5-10 minutes from sign up to first edit [2]. We recently added 3 demo repositories so anyone can try the platform [3]. If you’re using GitLab or BitBucket sign up to be notified when FlyCode is ready for you.

We are far from our vision but the team - 10 amazing humans (we’re hiring developers [4]) - is working hard every day to improve the user experience and feature requests from our early collaborators (editing images, variables, JSON configuration, A/B testing, etc.).

While the platform is still in “beta”, we are confident that today’s FlyCode creates significant value for teams, large and small. Your feedback is what guides us forward so please share any questions, comments, or concerns in the comments below.

Join our (new) community on Discord [5] and follow us on Twitter [6]

Feel free to contact me at: jake[at]flycode.com or fly[at]flycode.com

[1] https://docs.flycode.com/ [2] https://flycode.com/developers [3] https://github.com/flycode-org [4] https://flycode.notion.site/Jobs-FlyCode-94d9cdf269794c368ce... [5] https://discord.gg/sKc4rZnMuw [6] https://twitter.com/FlycodeHQ




Really sounds like an awesome tool. Fits right into the serverless / JAMStack kind of systems too. Just like Netlify CMS.

I was actually in the process of tweaking Netlify CMS to be more easily hostable yourself without depending on the Netlify Pro plans as much. Basically involves hosting a combination of Netlify Identity and Git Gateway compliant backends in GCP CloudRun or AWS Lambda. Maybe even making it easy to configure a build pipeline on CloudBuild.

I wanted to use this for small business websites, but also configuration management and translations for projects at work. Sounds like FlyCode is a great (not self-built) alternative I can recommend. Great business model as well. Almost no databases needed (auth only?) and easy to host stateless on serverless offerings. Scales linearly


We actually created a PR last week to be added to Jamstack for use-cases like the process you detailed.

Auth only via our GitHub app, no database needed. We've tried to eliminate as many manual steps / additional development work to spin up. The team is here to help you set up for smb sites and your projects for work.


CTO and co-founder here, I couldn’t be more proud of the team for shipping FlyCode’s open Beta so fast!

As a compilers enthusiast for more than a decade, it is marvelous how analyzing and manipulating code has become more accessible in recent years and the possibilities it unlocks... very excited to empower teams to make edits for real web apps and save their developers time.

Feel free to contact me as well at: etai[at]flycode.com


Could you outline the most important advances from recent years that you see as contributing to the accessibility you are talking about?


I remember how excited I was about a decade ago when Microsoft announced the Roslyn project, and how sad I was when switching my dev eco-system before it came out. AOP wasn't a new concept, and code generation was available - but it was a hard task to get done, and not accessible to the general dev community.

Now, Roslyn ins't news anymore :) We have source generators in C#, and we not only have more main stream compiler plugins & annotation processor in Java and Kotlin (that spends a lot of time on their compiler API).

The same process has happened for the JavaScript ecosystem. The AST revolution has hit the frontend/JS ecosystem big-time. Tools like Babel (and derivatives like jscodeshift and recast) have democratized analysis and transformation of code bases. I urge you to play around with ASTExplorer to see how vast is the support for getting a proper AST for source-code.

Another big factor is the maturity GitHub marketplace. Today, smaller teams are able to ship production-ready apps for GitHub as the APIs have stabilized and are much documented than a few years ago.

All these together makes code-editing products much more feasible than a few years ago. It's not that AST and source editing novel ideas did not exist it's just they matured enough that you can actually build a product that targets a big enough segment of the market.


A lot of green username here. Well, I'm building the same kind of product! If it's not javascript based, I'd immediately apply for the job. Not sure how the code scanning would evolve as projects evolve? Is FlyCode tracking the dynamic content holes, as the place it was currently edited would be moved around? There are other aspects I wonder for this approach.


Thanks for the feedback. We hire devs based on talent not language so feel free to apply. FlyCode is able to identify changes made in a commit and identify a text is the same according to the semantic structure of the code but of course it is not 100%. In many cases though texts stay in about the same place and when moved they change their meaning and should be treated differently


I found some clue on the docs' TEXTS section.

> if the format is hardcoded, the name of the component in which the text resides would be the title

So it's component based tracking, though inside-component is hard to form context (e.g. line/column tracking won't work) even if you have AST of javascript. When code changes, AST changes (tree nodes tracking won't work either).

Interesting approach not to use hole like `{{ }}`.


Btw - awesome to hear you're building a product in the same space. Happy to collaborate and exchange notes! jake[at]flycode.com


Is there much different between FlyCode and other translation management systems (TSMs) like Localize? We use Localize at Notion, and set up a nightly sync operation that auto-merges a PR of phrase changes. Those diffs look quite similar to the FlyCode intro video. It was annoying to set that bot up once, but now phrase changes are quite seamless.

It seems like FlyCode does a better job integrating with Github. Is there anything else that's different from the TSM feature-set?


Lokalize is a great product! Btw so is Notion...is has almost entirely replaced our usage of Google Docs/Sheets. But translation is a whole different beast, one that we plan to support via partner integrations similar to our level of integration with GitHub.

The main differentiator for us (going forward) is that we plan to support editing more than just text: images, configuration (like constants in the code), links, variables, etc.

The main difference between our current version and TSMs is FlyCode can edit texts inside the code whereas TSMs allow you edit texts in external files (JSON, PO) but not inside the code. Often times teams don’t want to lose the ability to search for texts inside the code just to support localization.

With FlyCode you can edit their texts in the primary language (e.g. English) inside the code and texts in other locales in a JSON file. FlyCode is editing texts inside Git allowing teams to run CI on the changes to the copy and make sure they're delivered safely to production, which reduces the integration cost and doesn’t introduce new points of failure. If FlyCode is down (worst-case scenario) you can still edit the texts inside Git just like any other part of the code.


This looks really cool! It's a simple idea, but hey, it looks like it hasn't been done yet - so it's all the more valuable.

The quality of the design blows my mind as well, for a startup. It reminds me of GitHub's landing page, which I saw someone effusing about the other day on here: https://github.com/home


Our goal is to make complex flows as simple as possible! Static website have amazing tools to support web developers and we believe the next wave will be for modern web apps. P.S. we love our designer :)


We have a product team that comes up with the text and right now we have walls of Lorem ipsum waiting to be replaced. So, this tool will scan the app find all that lorem text and put it into a json/yml file? You then work against that file? How does it work with duplicate texts? Is it just a list of texts or does it give some context where it found it?


OP here - thank you for the question! Yes, FlyCode will automatically scan the code, find the texts, and makes them editable in the FlyCode dashboard. When edits are submitted we create a Pull Request that updates the text in the code!

When editing texts in the code it identifies each instance of the text as a separate text for now, It currently lists the text with the file it found them for texts in the code and with key for texts from JSON.

We also helped some clients with performing an automated component mapping to add additional context.


This is honestly awesome, copy editing is such a pain point that we schedule weekly 3 hour blocks to go through all changes live. This would greatly streamline our workflow.

Signed up and saw extraction can take several days — is this done manually? I assumed scanning would be done purely automatically but I can see why there would need to be a manual review component.


CTO here, thanks for the comment.

The scan is 100% automatic and performed live - There might have been a small config issue, once fixed your system would be up and running in minutes :)

We would be happy to help, you can contact us:

- our support at support[at]flycode.com

- or me directly at etai[at]flycode.com

We'll be happy to help!


Neat! Seems to be looking like a more basic and unified translation management system, but it's unclear whether it actually supports multiple locales as a top-level feature, or just through "hey here's your different JSON files".

> FlyCode identifies all the text segments in your product

I'm dubious of this claim to be honest. Identifying JSXText is one thing, but does it handle when you have UI text in props? How does is distinguish labelColor="red" from label="Username", if at all?


Hey there, founding engineer at FlyCode here.

FlyCode is treating multiple locales as a first-class use-case. Some of our major customers use FlyCode for managing multi-locale applications. As for identifying all the text segments: what you are saying is true. For our beta we limited the text identification for JSXText only (for the React use-case) but we are certain we can identify more editable text in props using well-known names, looking into their type-defs or letting devs define which props should be exposed. This type of feedback and demand from our users that will bring our support to the next level!

Like many creators we are trying to apply the Pareto principle [0] and make most of the copy of apps editable now. I agree the phrasing “FlyCode identifies all the text segments in your product” could be improved.

[0]: https://en.wikipedia.org/wiki/Pareto_principle


Lead mobile dev at Breezeway here. We have been working with Flycode during the private phase of their launch and only have good things to say. We built our localization feature on top of Flycode to simplify the translator’s workflow; their proficiency is absolute proof that this company means business. They went the extra mile helping us during the integration phase.

Thanks, Flycode; you guys rock.


Thank you! You have been an incredible design partner and we're looking forward to growing with you :)


Finally my customers PR managers can deal with translation without my help. You saved my nervous system, guys


Exactly! When we first started, our design partners helped us analyze their logs and it was amazing to see how many hours we could've and now will be saving them by automating this process.

Text is the ground-floor for us - if you have other use-cases you'd like us to productize that will create value for you please shoot me a note jake[at]flycode.com


This is amazing, tool that actually helps product and the design guys to make changes that they feel can be done in a shorter period of time and at the same time making developers focus more on the bigger features and tasks. This tool is amazing.


Async collaboration has become the norm so it is more important than ever to empower individual contributors to improve the product without dependencies on dev.


Congrats to the Flycode team on their recent launch! This is a really exciting product


Lots of motivation in the air for the FlyCode team. Hoping to work with Airbyte's cloud product soon ;)


This idea sounds awesome to me. Also I love the website. It looks so beautiful but presents data in a really nice and simple way. I can't say this for many websites. They're either beautiful, or simple. :D

Anyway, great work, great idea.


Flycode looks promising, Congratulations Team.

I have couple of questions.

1- Does the company have short-term and long-term distribution strategies?

2- Can you tell us why you think that it’s a great idea?


Distribution

- besides for supporting BitBucket and GitLab we plan to:

- Improve our editing experience by introducing more context from the UI

- Integrate with platforms like Linear and Jira

Great idea

- our main focus is creating value for our users.

- We believe that most of the great ideas come directly from the development community, which is why we are continuously collecting feedback and revalidating our assumptions.


Excited to be part of this project as well.

Opening the gates made by code for non-developers has always been a passion of mine.

The problem of editing web apps’ texts by non-coding team members has been a real pain for all of the companies I’ve been involved with in the past.

As an avid reader of HN, I’m always excited to share projects I’m involved in.

Feel free to contact me as well at: iddan[at]flycode.com


Anything that makes it so others can go in and edit text and leave us to working on dev is a win in my books. Looks cool!


Solving problems > Tedious Work


First of all, I LOVE the concept. I'm familiar with the pain and good solutions in this area are needed. I've a question regarding the ability to edit hard-coded text -- Does this work for editing hardcoded strings as well? Which environment does it make changes to? Happy to collaborate as a design partner.


By popular demand, we released hard-coded text support as part of this announcement.

We support React, Angular, and Vue. We are working to improve the user experience for editing hard-coded so there is more context of where the text is in the code (and UI).

The environment is selected when a repo is connected but can be changed in your settings as well. Typically customers are making changes to the development environment. We treat content as a feature with a PR to the [development] environment for each content change.

*Branch-based changes are not yet supported but is in the roadmap.


Been using this in alpha with the Flycode team to help us ship changes and start working with new languages in our apps. Huge time saver for our dev team and great enablement for both product and design to be able to get changes in quickly. Love it so far.


Tzachi, cofounder at FlyCode here - thanks a lot for the feedback :)


I was looking for such a tool for a long time. How mature is this?


That's amazing to hear! The product is mature and stable end to end. We integrate via our GitHub app, which has been live in the marketplace since last year.


Incredible tool - this is huge for dev efficiency


Well done, Team! This tool will help many devs.


This platform looks super interesting. Really loved the UX of the official website.

Kudos to the all the members of the team !!


guys, this is great. I'm just thinking of how much time it can save our R&D. This NoCode platform rocks. already signed to the Beta!


Happy to have you on board. Don't hesitate to reach out jake[at]flycode.com


Well done, Guys! This tool is a life-saver for Devs


Hi HN community


Super helpful


Created 2 minutes ago, commented 1 minute ago! Seems like a bot.


Great tool!


seems super useful


Cool tool


Love it!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: