tg3
The Guide to building Sync-friendly APIs
Software is eating the world, and that software is going to be connected together. Xkit is helping bring that future to fruition by building tools that make it easier for developers to add integrations to their apps.
We're hiring a Senior UX Engineer to help us define and deliver the user experience for Xkit.
We're a small team without a dedicated designer, so this role is responsible for determining the best UI/UX patterns to employ (using our existing patterns and frameworks where possible) as well as delivering them in the form of working, performant code.
This is a highly product- and user-focused role. We're looking for the rare combination of a highly capable React/Typescript engineer paired with a good UX and design sense.
For a full description, check out https://github.com/xkit-co/jobs/blob/main/senior-ux-engineer... or send me an email, trey at our main domain.
Xkit (YC S18) Is Hiring a Senior UX Engineer
Xkit lets developers add direct, native, embedded integrations to their SaaS app as easily as building a Zapier app. With one straightforward integration to Xkit, developers can add integrations to Salesforce, HubSpot, Zendesk, and others without writing any additional code. Most of the time, those integrations can even be added by non-engineers, like product managers and customer success managers.
We're hiring a Senior UX Engineer to help us define and deliver the user experience for Xkit.
We're a small team without a dedicated designer, so this role is responsible for determining the best UI/UX patterns to employ (using our existing patterns and frameworks where possible) as well as delivering them in the form of working, performant code.
This is a highly product- and user-focused role. We're looking for the rare combination of a highly capable React/Typescript engineer paired with a good UX and design sense.
For a full job description, check out https://github.com/xkit-co/jobs/blob/main/senior-ux-engineer... or feel free to email me directly, I'm trey at our main domain.
Looking for a Senior React/Typescript Engineer to help build out a new project at https://xkit.co (YC S18). We build developer tools to make it easier to add integrations to your app.
Small, fast-moving team; the rest of the stack is Elixir, PostgreSQL, running on AWS.
More details on the team and project here: https://github.com/xkit-co/jobs/blob/main/senior-frontend-en...
VC’s sell a commodity product, money. In order to sell it, they add marketing, branding, and freebies - a bit like buying cereal with a toy inside.
Understanding that is the ultimate mental shift in raising money.
There are drawbacks of course (typing, deployment) but the pros far outweigh the cons for me so far. Here's to the next ten years!
[1] https://xkit.co/post/pivoting-with-elixir-how-i-learned-a-la...
How I learned a language and launched a product in 60 days
Not only is the spec itself challenging, it leaves enough ambiguity and rough edges that most providers end up extending it some way that makes it hard to standardize. Most commonly: how to get refresh tokens (`offline_access` scope, `access_type=offline` parameter?), and how/when they expire (as soon as you get a new one? as soon as you've received 10 new ones? on a set schedule?)
And that's not to mention how OAuth gets extended to handle organization-wide access. Anyone that's dealt with GSuite/Workspace Service Accounts or Microsoft Graph Application permissions knows what a pain that is.
This is exactly why I built [Xkit](https://xkit.co), which abstracts away the complexity of dealing with all the different providers and gives you a single API to retrieve access tokens (or API keys) that are always valid. Not everyone should have to be an OAuth expert to build a 3rd party integration.
I'm happy to add other auth providers to our docs. Shoot me a note (trey@) with the instructions and I'll add it in.
Many developers want to have their integration catalog match the look and feel of the rest of their application, or they have additional configuration for their integrations outside of what Xkit provides. In these cases, building their own custom catalog using xkit.js makes the most sense.
Zapier is a tool focused on the user of SaaS products (e.g. I want to connect my Google Sheets account to my Mailchimp account). Xkit is made for developers (e.g. I want the users of my brand new CRM tool to be able to pull in data from Google Sheets).
Many developers start out by just adding a Zapier integration and telling their customers to hook up to other tools themselves. However, many companies find that having those integrations be native (rather than going through Zapier) is helpful with both sales and activation, not to mention the increased level of control you have. We're helping developers build those types of integrations.
I agree we need to re-think our home page a bit. We initially focused on "OAuth" to really get specific about what we do, but it's had the unfortunate side effect of making us seem like an auth provider.
I like the idea of specific examples, and your headline ideas are great!
If you have a project that can't afford our Startup tier for some reason, shoot me a note (trey@) and I'll see what I can do.
We're unlikely to support private cloud in the near term.
You can create a separate token specifically for Xkit or re-use an existing one.
That's good feedback on addressing the trust issue head-on, we'll work on that.
Re: staying motivated.
I was always a solo founder.
I think for me it starts with experience. I co-founded a startup when I was just out of college, and the ups and downs and challenges with staying motivated were by far the most important thing that I learned. Since then, I worked at two different startups and different stages and saw them go through good times (acquisition) and bad times (layoffs). So I think those experiences helped me keep myself level.
I also have a good professional and personal network of mentors, colleagues, fellow startup founders, family, and friends. My support system has been really important in keeping me going. YC has helped tremendously with this part.
And finally, I personally feel a lot of responsibility to spend my investors' money wisely. A lot of people believed in me and took a chance on me, so I feel I need to uphold my end of the bargain.
Long answer, and the full answer would probably require an hourlong therapy session, but that's off the top of my head :)
As a side note, OAuth2 explicitly supports multiple clients and in fact recommends it if you are using the clients in different contexts. Google implements this pretty effectively imo.
a) Yes, I'm testing our Salesforce integration this week
b) While we don't have documentation for it yet, we support migration both in and out by loading and reading the current tokens for all of your users.
That's good feedback on our landing page, we've had the Auth0 comparison come up quite a bit, so we'll need to tweak it.
There is some significant overlap, for example with OAuth tokens, but I'd say they work together more than they compete.
As for Office365: that's one of the integrations that's coming up soon for us. There are a lot of Microsoft Graph integrations that we'd like to add.
Our github is https://github.com/xkit-co
We take the security side of this equation very seriously. All the tokens and credentials are encrypted (both at the database level and the field level) and access to keys and production systems themselves are tightly controlled. Our APIs are designed to prevent inadvertent leaking of credentials (e.g. it's impossible to retrieve client secrets from the front-end) and we have in place best practices to prevent things like XSS and CSRF.
But like many cloud providers, yes you have to trust us.
In the near future we'll work on some more public things (like a SOC 2) to make our specific policies easier to trust.
Launch HN: Xkit (YC S18) – OAuth infrastructure as a service
Hey HN,I’m Trey, the founder of Xkit (https://xkit.co). Xkit helps developers build and maintain native integrations by turning OAuth for 25 of the most popular SaaS apps into a single API call that always returns fresh access tokens.I went through YC two years ago in S18 (and some of you may have seen our launch) with Sparkswap, a trust-minimized bitcoin exchange. After a year and half of...