[HN Gopher] Show HN: FlyCode - Git-Based Copy and Translations E...
___________________________________________________________________
Show HN: FlyCode - Git-Based Copy and Translations Editor for Web
Apps
Author : JakeVacovec
Score : 162 points
Date : 2022-04-26 13:00 UTC (10 hours ago)
(HTM) web link (www.flycode.com)
(TXT) w3m dump (www.flycode.com)
| guyvinograd wrote:
| I was looking for such a tool for a long time. How mature is
| this?
| JakeVacovec wrote:
| 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.
| hermanb wrote:
| 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
| JakeVacovec wrote:
| 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.
| madeofpalk wrote:
| 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?
| iddan wrote:
| 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
| galc wrote:
| Cool tool
| jitl wrote:
| 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?
| JakeVacovec wrote:
| 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.
| ashishfeels wrote:
| 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.
| JakeVacovec wrote:
| 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.
| samhw wrote:
| 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
| JakeVacovec wrote:
| 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 :)
| ravinwashere wrote:
| Well done, Team! This tool will help many devs.
| katharinewolf wrote:
| seems super useful
| quaffapint wrote:
| 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?
| JakeVacovec wrote:
| 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.
| priansh wrote:
| 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.
| etai-flycode wrote:
| 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!
| sherifnada wrote:
| Congrats to the Flycode team on their recent launch! This is a
| really exciting product
| TheAnkurTyagi wrote:
| 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?
| JakeVacovec wrote:
| 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.
| hamiltonite wrote:
| 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!
| JakeVacovec wrote:
| Solving problems > Tedious Work
| rabbiya wrote:
| Super helpful
| Existenceblinks wrote:
| Created 2 minutes ago, commented 1 minute ago! Seems like a
| bot.
| ahml wrote:
| 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.
| peekypeeky008 wrote:
| Tzachi, cofounder at FlyCode here - thanks a lot for the
| feedback :)
| tomerbig wrote:
| Great tool!
| [deleted]
| Existenceblinks wrote:
| 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.
| JakeVacovec wrote:
| Btw - awesome to hear you're building a product in the same
| space. Happy to collaborate and exchange notes!
| jake[at]flycode.com
| peekypeeky008 wrote:
| 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
| Existenceblinks wrote:
| 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 `{{ }}`.
| tavarezf wrote:
| Incredible tool - this is huge for dev efficiency
| lalcaraz wrote:
| 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.
| JakeVacovec wrote:
| Thank you! You have been an incredible design partner and we're
| looking forward to growing with you :)
| JakeVacovec wrote:
| 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
| etai-flycode wrote:
| 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
| fprct wrote:
| Could you outline the most important advances from recent years
| that you see as contributing to the accessibility you are
| talking about?
| etai-flycode wrote:
| 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.
| astral_dx wrote:
| Love it!
| seunakinloye wrote:
| Well done, Guys! This tool is a life-saver for Devs
| WickedBBQ wrote:
| Finally my customers PR managers can deal with translation
| without my help. You saved my nervous system, guys
| JakeVacovec wrote:
| 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
| iddan wrote:
| 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
___________________________________________________________________
(page generated 2022-04-26 23:02 UTC)