Staq.js
A JavaScript library for building software that makes you money
Get startedA JavaScript library for building software that makes you money
Get startedGet professional landing, pricing, about pages and more out of the box with multiple built in templates
Staq ships with code and UI to handle user registration, log in, log out, and password reset flows
Integrate one-time purchases or subscription billing into your site with just a few lines of code
Staq is a Javascript library for creating Software-as-a-Service (SaaS) products. It works with React, Firebase, and Stripe to abstract away all the boring parts of building software people pay you for.
The library contains a set of React components that implement standard SaaS features including:
Staq also ships with a set of NodeJS functions to be used with Firebase to implement the backend logic necessary for features like subscription billing with Stripe.
We believe it should be as easy as possible to start making money online. We believe owning and running a profitable software business will increasingly become the best way for individuals to reach financial independence.
But right now it takes too long to set up the technology to power a simple SaaS company. Even for engineers who know what they’re doing and are familiar with existing tools.
We’re building Staq to fix that.
The StaqRoutes
component that ships with the library will render all the routes users expect in a modern SaaS application. This code is all you need to install a professional-grade responsive landing page, along with support for user registration, sign in/sign out, and password reset flows.
// App.jsx
import { BrowserRouter as Router } from 'react-router-dom'
import { StaqRoutes } from '@staqjs/client'
function App() {
return (
<Router>
<StaqRoutes />
</Router>
)
}
export default App
// index.js
import { initStaq } from '@staqjs/client'
initStaq({
SiteTitle: 'My Site',
Template: {
Name: 'One',
Config: {
Hero: {
PrimaryText: 'Business Analytics like you\'ve never seen',
SecondaryText: 'Improve your metrics with the click of a button',
PrimaryLink: { Text: 'Get Started', To: '/signup' },
SecondaryLink: { Text: 'Learn More', To: '/about' },
Image: '/path/to/hero.png'
}
}
}
})
Every one of the many built-in templates lets you customize the colorscheme and marketing copy to fit your brand.
Use Staq to access the logged in user from anywhere in your application, along with interfaces for interacting with Stripe and Firebase.
import { compose } from 'recompose'
import { withAuth, withFirebase, withStripe } from '@staqjs/client'
function UserProfileBase(props) {
const { auth, firebase, stripe } = props
return (
<div>
{/* ... */}
<p>Hello { auth.currentUser.name }</p>
{/* ... */}
</div>
)
}
const UserProfile = compose(
withAuth,
withFirebase,
withStripe
)(UserProfileBase)
export default UserProfile