Prodo Logo

Prodo

The full-stack framework to build apps faster.

What

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

Who

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

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.

New! Prodo is open-sourced on GitHub but we also run a (paid) beta testing program for enthusiatic developers looking to onboard faster and dig deeper.


check the README on GitHub

join the private beta


Frequently Asked Questions

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
  • 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!

React & TypeScript Developers

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 are looking for candidates who have been around the block. The ideal candidate will have a deep understanding of the React ecosystem and some experience with TypeScript, a state management framework such as Redux or Mobx, and preferably a document store such as Firestore or Mongo.

In a typical week, you might:

  • develop features and bug fixes for the framework
  • architect new plugins, 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

As a small startup, we are looking for someone who can not only perform well as an individual contributor but also won't shy away from ownership and leadership when the time comes to grow the team.

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. Come into our office for some interviews, starting by pairing on a mini project. No need to practice or prepare anything because we'll be using our own framework, as a way for us to test whether you're a quick learner, and for you to test whether you like were our tech is heading.
  4. While in the office, meet the entire team and have a chat with one of the founders about your previous work and your goals for the future.

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

Developer Advocate

London, UKFull-timePermanent

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

Read more…

As an advocate, you'll be working closely with the Prodo founders to get users to discover our product by whichever way works best for them. This might include helping with:

  • organising events and hackathons to showcase our product
  • speaking at conferences on the product and the tech behind it
  • 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

We expect you to have relevent experience in at least some of the above, 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 give a presentation to the Prodo team, like a lighting talk. This can be about any technology that you love talking about.
  4. After that (ideally on the same day), dive deeper into the product with one of the founders to understand and discuss the long-term roadmap.

Send us an email and let's get started!

Sales Associate

London, UKFull-time, part-time or internshipPermanent

Prodo is looking for an associate to help spread the word about our framework by actively reaching out to potential users and customers, encouraging them to try our product, and collecting their feedback.

Read more…

Your role will involve:

  • reaching out to a large numbers of developers and companies
  • contacting potential users to establish rapport and set up meetings
  • conducting extensive research to find appropriate distribution channels
  • assisting the founders in preparing sales material
  • being on top of logistics and metrics

You don't need to be a programmer or know how the tech works, but some experience with sales, outreach, or lead generation experience is required. If you've worked on products 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.

Send us an email and let's get started!

© 2019 Prodo Tech Ltd