Prodo Logo

Prodo

The full-stack framework to build apps faster.

Who

Prodo is for full-stack and front-end developers who like to ship fast, without wasting time on boilerplate, configuration or infrastructure.

What

Prodo is a modern React/JavaScript framework with powerful developer tools to write, debug, test and deploy your code in minutes, not weeks.

How

Write simple code to describe your client and server, then Prodo relies on static and runtime analysis to generate code and deploy to production.

Join the private alpha

Prodo isn't open-source just yet, but we are onboarding React developers looking to try it out from our London office, with our technical and financial support.


Frequently Asked Questions

When will this be open-sourced?

The core framework and developer tools will be released as a free-forever, open-source product as soon as we’re out of beta and have stabilised the API. We're targeting December 1st, 2019.

We will also release an Enterprise edition next year, with additional features (including AI-powered automations and low-code features), but only after the open-source Community edition has reached full maturity.

For now, we are focusing on small teams of JavaScript developers who like to build their applications with the full freedom of open-source software, and without getting locked to a specific vendor.

Discuss on Spectrum
Do I need to learn a new language?

No, you don’t. Prodo applications are written in JavaScript or TypeScript, using React’s JSX syntax and CSS-in-JS. Like every framework, Prodo will require you to learn and follow a few principles, but it is specifically designed to use the simplest possible syntax.

If anything, you will probably spend most of your onboarding time un-learning what other frameworks have taught you, because Prodo removes a lot of the boilerplate that you might have previously thought to be necessary.

Discuss on Spectrum
Do I need to use a particular editor?

No. You can still use VSCode, Vim, Emacs, Atom, Sublime or whichever editor you like. There are a few recommended plugins that will improve your experience - for example, syntax highlighting for CSS-in-JS, but Prodo is designed to be compatible with the most common of these out-of-the-box.

Discuss on Spectrum
Is this a library or a framework?

Prodo is not just a library. It’s a high-level framework that leverages existing libraries (such as React, Immer or Styled-Components) and transpiles, renders and deploys your code for you. You write simple and valid JavaScript or TypeScript, then Prodo’s transpiler “fixes” the semantics of JavaScript so that you can define complex behaviour with very simple code.

For example, you can update the data in both your client or server state by writing simple mutations, and Prodo takes care of transforming this into a Redux-like reducer. Similarly, you can read from your state or database directly from inside a React component, without having to manually connect your component using non-pure, higher-order components.

You also don’t need to install or configure complex tools like Webpack or Storybook to get fast feedback on your code, because Prodo ships directly with all the developer tools you’ll need.

Discuss on Spectrum
What can the dev tools do for me?

Prodo's developer tools take care of rendering your application on your local machine, with fast hot-reload working out the box, so that you get visual feedback on your code changes within a few milliseconds.

You also get all the now-classic features of modern state-management frameworks, including a time-travelling debugger for your state and actions.

Unlike most tools however, Prodo lets you edit the state and record new test cases directly from the UI. Prodo also tracks the origin of every single action, so that you always know why your state has been changed (both on your front-end state and in your database, without having to manually implement any event-sourcing pattern).

Finally, a unique feature of Prodo is that it takes care of tracking, recording and replaying asynchronous side effects in the right order, to make your tests less flaky, while giving appropriate warnings when possible race conditions are detected.

Discuss on Spectrum
How should I expect to save time in practice?

When you start a new project, Prodo saves you from decision and integration fatigue. It comes with everything set up, so that you no longer need to choose and configure a dozen framework and libraries.

Then, Prodo's concise syntax ensures that you have less code to write, less room for bugs, and less maintenance to do. As your project becomes more complex and bugs start creeping in, Prodo's dev tools save you debugging time by letting you track and replay those bugs step by step.

Finally, the framework helps you structure your code so that it can scale to thousands of files without introducing unecessary abstraction or complexity. The dev tools also help you navigate a large code base more visually, so that you can quickly find the components and actions you're interested in, even if you've forgotten how these are structured in the code itself.

Discuss on Spectrum
What does the architecture look like?

Prodo's architecture is inspired by the modern front-end architecture called Flux (best known for its uni-directional data flow), but with a few tweaks, and for your entire stack.

It relies on:

  • a holistic concept of state, capturing everything from your client’s UI state to your server's database;
  • a concept of views for your client, consisting of pure React functions which are automatically connected to your state; and
  • a concept of actions, consisting of asynchronous functions running on client or server side.

Unlike other frameworks, Prodo diligently ensures that your state remains JSON-serialisable at all time and captures everything that is needed to reproduce what a user would see on their screen - including the current route, the authentication state, or the data in localStorage.

Actions are then used to modify the state, trigger other actions, fetch data by invoking effects, or manage subscriptions. Triggering a server action from the client is as simple as calling a function, with TypeScript keeping everything typed on both sides. The explicit use of effects and subscriptions then enables you to keep your actions “pure”, meaning that you can record and replay everything that matters during testing and development.

Discuss on Spectrum
How does deployment work?

When using Prodo as a client-only framework, you can build your static assets and deploy them anywhere you’d like. We also provide options to tailor your build for specific hosts such as GitHub Pages or CDN-based hosts such as Surge. Your preferences are saved in a file on your filesystem, so that you can always redeploy speedily with a single command.

Using Prodo as a full-stack framework works in the same way, except that you will need to select a host supporting the desired functionalities. For instance, if your application uses authentication, some lambdas and a document database, Prodo's deploy command will ask you to choose, for instance, between Google Cloud (storing data in Firestore), Amazon AWS (storing data in DocumentDB) or Digital Ocean (storing data in MongoDB).

We plan to support one-click deployment for most of the major vendors by the time we come out of beta, but we will also provide hooks for additional adaptors, allowing you to use your own hardware or an alternative vendor.

Discuss on Spectrum

Jobs at Prodo

Current Roles

Izzy
This is Izzy. She'll love you.

Prodo is hiring!

We are a small, growing company in London, UK (close to Liverpool Street and Old Street stations) that's looking to make the web a better place to develop.

There are currently 7 humans and 1 dog 🐶 working at Prodo.

Working at Prodo means:

  • generous salary and equity
  • creating open-source software
  • flexible working hours and working style
  • working with smart, lovely people
  • an inclusive work environment
  • freedom to work on your own creative ideas
  • playing board games over lunch
  • a positive impact on the world around you

If you can see yourself making open-source products, creating tools for software developers (and anyone who wants to make software), and working with a team who's passionate about improving the status quo, let's talk!

JavaScript Developer

London, UKFull-timePermanent

Prodo is the next generation of web frameworks, and we need developers to push it to its limits. Come work with us and help us design the future of JavaScript development.

Read more…

We're looking for developers who've been around the block, and who love building applications and services with JavaScript and TypeScript.

In a typical week, you'd:

  • develop features and bug fixes for the framework
  • architect new features, making sure they fit cohesively
  • improve the debugging and testing tools for a better experience
  • build sample applications to figure out what needs to be improved
  • talk to users to find out what they need
  • pair with other developers on tricky functionality
  • teach your colleagues about a new and interesting paradigm
  • play Werewolf with some colleagues

We are looking for someone who's willing to take a leadership role, tackling the hard problems with framework development. This means you'll have experience with multiple frameworks, languages, and programming paradigms, and you'll be able to apply your experience into designing sensible solutions.

It also means you won't be working in a vacuum. You'll be expected to collaborate with your colleagues to identify problems, figure out priorities, and much more. As a senior member of the team, you'd be responsible for mentoring less experienced members of the team too, coaching and guiding them so they can reach their full potential.

The interview process is as follows:

  1. Email jobs@prodo.dev with information about you (e.g. a CV and links to your online presence).
  2. Jump on an introductory call so we can tell you about us, and so you can ask any questions you might have.
  3. Take a quick, 30-minute technical test at home, on your own schedule.
  4. Come into our office and work with one of us on a mini project for a couple of hours, using our product.
  5. While you're in the office, have a chat with one of the founders about your previous work for an hour.

If all goes well, we'll make you an offer within a week, you'll come and work with us, and we'll make awesome software together. 👩🏽‍💻

Send us an email and we'll get back to you straight away!

Developer Advocate / Evangelist

London, UKFull-timePermanent

At Prodo, we're really proud of our framework, and we want to share it with everyone. We're looking for a developer advocate 🥑 savvy with JavaScript and React to bring the love to web developers, teaching them why it matters, how to use it, and how it works.

Read more…

As an advocate, you'll be the company's primary interface to the people who use our product. This means:

  • organising events all over the world that showcase our product
  • speaking at conferences on the product and the tech behind it
  • working with enterprise customers to integrate with their existing tools
  • figuring out what's missing, by talking to hundreds of developers
  • building examples to help people understand the framework
  • writing blog posts and recording videos to explain the concepts
  • keeping our social media streams active and friendly
  • taking pictures of the dog

We expect you to have done this before, either for an open-source project or professionally in another company.

The interview process is as follows:

  1. Email jobs@prodo.dev with information about you (e.g. a CV and links to your online presence).
  2. Jump on an introductory call so we can tell you about us, and so you can ask any questions you might have.
  3. Visit our office to talk about your previous work.
  4. After that (ideally on the same day), work with one of us on a mini project for a couple of hours, using our product.

If all goes well, we'll make you an offer within a week, you'll come and work with us, and we'll get the party started. 🎊

Send us an email and let's get started!

Marketing & Outreach Associate

London, UKFull-time, part-time or internshipPermanent

Prodo is looking for an associate to help spread the word about our framework, reach out to potential users, and grow the community.

Read more…

A new product needs customers, or in our case, early adopters, to help its creators figure out what's working and what's not. Ours is no different.

Your role will involve:

  • reaching out to a large numbers of developers
  • collecting feedback from the community
  • organising events, online and offline
  • helping with logistics

You don't need to know how the tech works, but a little bit of marketing, outreach, or lead generation experience is required. If you've worked targeting software developers and technical organisations, that's a bonus.

The interview process is as follows:

  1. Email jobs@prodo.dev with information about you, including a CV.
  2. Jump on an introductory call so we can tell you about us, and so you can ask any questions you might have.
  3. Visit our office for a two-hour interview.

If all goes well, we'll make you an offer, you'll start as soon as possible, and Izzy, our office dog, will be your new best friend. 🐶

Send us an email and let's get started!

© 2019 Prodo Tech Ltd