Nathan Cooper
ncoop57.bsky.social
Nathan Cooper
@ncoop57.bsky.social
I'm a nerd (https://nathancooper.io).

The world can be ugly and cruel to the most innocent. Consider donating to help children suffering from one of the worst things: http://thorn.org/donate
Thank you also to @alexisgallagher and @jeremyphoward for providing great and early feedback on this blog post.
July 23, 2025 at 6:03 PM
Huge thanks to @jeremyphoward and @HamelHusain for creating ghapi, which proved that auto-generated SDKs can be better than hand-written ones. FastStripe is our proof that this works beyond just GitHub. Stay stuned for more interesting release around this idea 😏
July 23, 2025 at 6:03 PM
Want the full technical details? The blog post dives deep into how we built FastStripe: [link to blog post]
July 23, 2025 at 6:03 PM
FastStripe is part of @answerdotai's mission to use AI to benefit humanity. Like GE with electricity, we're creating thousands of AI apps to discover what AI is truly useful for. To do that, we need to eliminate friction in app development, which is why I created FastStripe.
July 23, 2025 at 6:03 PM
Ready to try it? `pip install faststripe` then:
July 23, 2025 at 6:03 PM
We version FastStripe to match Stripe's official API versions. Version `2025.05.28.0` = Stripe's May 28th API + our convenience methods. We increment the last part whenever we add new convenience methods. Your code stays stable, you control upgrades. No surprise breaking changes.
July 23, 2025 at 6:03 PM
The real magic happens in your editor. Every method knows its parameters and can tell your IDE about them. Documentation flows directly from Stripe's specification into your development environment.
July 23, 2025 at 6:03 PM
Here's what makes it special about these convenience methods: when you call something like `sapi.one_time_payment()`, FastStripe handles the product/price creation automatically. But it uses the same auto-generated methods you have access to.
July 23, 2025 at 6:03 PM
FastStripe gives you two things:
1) Every Stripe endpoint with perfect IDE integration
2) High-level methods for common patterns.

Want full control? Use the complete API.
Want simplicity? Use the convenience methods.
July 23, 2025 at 6:03 PM
I learned this approach from @jeremyphoward and @HamelHusain's awesome ghapi library for GitHub. Same principle: let the API document itself. If it works for GitHub's massive API, why not Stripe?

ghapi.fast.ai/
ghapi
A delightful and complete interface to GitHub’s amazing API
ghapi.fast.ai
July 23, 2025 at 6:03 PM
The key insight: Stripe publishes a comprehensive OpenAPI spec describing their entire API 🤓 . Instead of manually writing wrapper functions, we generate the perfect SDK automatically from Stripe's own specification. Always current, always complete.
July 23, 2025 at 6:03 PM
FastStripe eliminates the friction between you and Stripe's excellent API. When you type `sapi.customers.post(` your IDE shows every parameter with descriptions. No more diving through documentation. Here's the full story:
www.answer.ai/posts/2025-...
The Stripe Experience You Deserve – Answer.AI
Welcome FastStripe to the Thunderdome
www.answer.ai
July 23, 2025 at 6:03 PM
As R&D staff @ answer.ai, I work a lot on boosting productivity with AI. A common theme that always comes up is the combination of human+AI. This combination proved to be powerful in our new project ShellSage, which is an AI terminal buddy that learns and teaches with you. A 🧵
February 22, 2025 at 6:23 PM
Reposted by Nathan Cooper
With @bclavie.bsky.social and @ncoop57.bsky.social, we tried to answer two questions:

- Can an instruction-tuned ModernBERT zero-shot tasks using the MLM-head?
- Could we then fine-tune instruction-tuned ModernBERT to complete any task?

Detailed answers: arxiv.org/abs/2502.03793
It's All in The [MASK]: Simple Instruction-Tuning Enables BERT-like Masked Language Models As Generative Classifiers
While encoder-only models such as BERT and ModernBERT are ubiquitous in real-world NLP applications, their conventional reliance on task-specific classification heads can limit their applicability com...
arxiv.org
February 10, 2025 at 6:13 PM
Above announcement was generated with shell-sage's sassy mode 😅
February 1, 2025 at 3:29 PM
If you wanna try shell sage out yourself, checkout the repo: github.com/AnswerDotAI/...
GitHub - AnswerDotAI/shell_sage: ShellSage saves sysadmins’ sanity by solving shell script snafus super swiftly
ShellSage saves sysadmins’ sanity by solving shell script snafus super swiftly - AnswerDotAI/shell_sage
github.com
February 1, 2025 at 3:05 PM
Glad you like it 🤓
January 25, 2025 at 4:16 PM
As R&D staff @ answer.ai, I work a lot on boosting productivity with AI. A common theme that always comes up is the combination of human+AI. This combination proved to be powerful in our new project ShellSage, which is an AI terminal buddy that learns and teaches with you. A 🧵
January 19, 2025 at 6:49 AM
You can do the same with PRs too!

Try out this alias:
```
alias pr='git diff main | ssage --c please generate a PR title and body for these changes. Make sure to use the github cli'
```

🤓🤓🤓
January 19, 2025 at 6:48 AM