
Founder of @Basedash, AI-Native Business Intelligence YC S20 🍊
Toronto 🇨🇦
Joined January 2020
- Tweets1.9K
- Following335
- Followers2.1K
- Likes8.1K
Pinned Tweet
When we first launched Basedash over a year ago, our vision was to be the most AI-native BI platform on the planet.
Back then, the state of the art was simple text-to-SQL within the query editor of a single chart. Meanwhile, we actually had a prototype of this full-dashboard agent (but it wasn't good enough to launch).
Now that models (and our internal harness) have evolved, we're excited to bring the dashboard agent to everyone.
Connect any company data, tell it what you want to track, and we'll build the dashboard for you.
I woke up in the middle of the night with an overwhelming urge to build a new coding agent. Please send help.
A corollary of this is that we’ll see SaaS start to remove free trials and shift to usage-based pricing for everything (with upfront payment).
Every SaaS should have this feature!
Until then, you can use @Basedash.
We see you—and your agents—building on Stripe data.
Now you can sync your Stripe data to Postgres in real time. No code, no webhooks to maintain, and free to get started.
Hello, real-time data. Show us what you build 👀
stripe.com/blog/real-time-st…
We might finally achieve fusion energy in the next 3-5 years, just in time for cheap solar to make it completely unnecessary
it’s funny because this is what all non-trivial software dev is like
you build something, encounter an edge case, fix it, repeat 10,000 times
Yes, you can now build an inbox in an afternoon.
Congratulations, you are now responsible for:
- Deliverability.
- Bounce management.
- SPF, DKIM, DMARC.
- A domain that slowly drifts into spam.
- Finding out it why the hell it's drifting into spam?!
- Parsing emails from a mail server last updated in 2007
- HTML, plain text, and emails somehow containing neither.
- Outlook’s interpretation of HTML.
- Outlook’s other interpretation of HTML.
- Threading that breaks when someone changes the subject.
- Someone starting a new conversation by replying to an email from 2022.
- Forwards inside forwards inside forwards.
- CC, BCC, reply-all, and someone who really shouldn’t have clicked reply-all.
- Attachments.
- Attachments with malware..
- Inline images that become attachments.
- Attachments that were supposed to be inline images.
- A company logo attached to every reply, forever.
- Quoted replies.
- Distinguishing a quoted reply from the actual reply.
- Someone answering your five questions inside the quoted reply.
- Signatures longer than the conversation.
- The out-of-office that answers your out-of-office.
- Two autoresponders having a productive weekend together.
- Notifications that fire twice.
- Notifications that never fire.
- A reply sent from the notification itself.
- A reply to a notification about an internal note.
- Making absolutely sure that notes stays internal.
- Permissions.
- Two teammates writing the same reply.
- Drafts that sync across devices.
- Drafts that overwrite other drafts across devices.
- A confidently displayed “Saved” that was optimistic.
- Snoozed conversations.
- Time zones (!)
- Daylight saving time (!!)
- A conversation snoozed until a time that technically doesn’t exist.
- One customer showing up as three people across email, chat, and Slack.
- Three different people sharing one email address.
- Merging them.
- Undoing the merge.
- Search.
- Search that finds the thing you can literally see on screen.
- Webhooks arriving twice.
- Webhooks arriving out of order.
- Webhooks not arriving.
- Retrying a failed send without sending the customer six apologies.
- Rate limits you discover during your first traffic spike.
- Training your AI on your product.
- Scraping your website.
- Scraping the pages that need JavaScript.
- Not scraping your entire website footer into every answer.
- PDFs.
- PDFs that are actually pictures of PDFs.
- Keeping the content fresh.
- Knowing when content changed.
- Knowing when content disappeared.
- Making the AI forget the pricing page from last year.
- Conflicting answers across your docs, website, and past replies.
- Deciding which one wins.
- Chunking.
- Embeddings.
- Reindexing everything when you change embedding models.
- Retrieval that finds the answer, not just something with similar words.
- Web search tooling.
- Knowing when to search.
- Prompt injection hiding in a page you just scraped.
- An agent confidently promising a feature you don’t have.
- An agent confidently issuing a refund it shouldn’t.
- Tool permissions.
- Tool timeouts.
- Tool retries that issue the refund twice.
- Knowing when to hand off to a human.
- Actually handing off to a human.
- Not continuing to argue after handing off to a human.
- Evaluating whether any of this works.
- Evaluating it again after a model update.
- Token budgets.
- Context windows.
- A customer pasting an entire novel into the chat.
- WebSockets.
- WebSocket authentication.
- Reconnecting WebSockets.
- Reconnecting 10,000 WebSockets at once after a restart.
- A connection that looks alive but isn’t.
- A phone switching from Wi-Fi to mobile data mid-message.
- Messages that arrive once.
- Messages that arrive in order.
- Messages that arrive.
- Syncing read states.
- Unread badges.
- Typing indicators that stop typing eventually.
- A customer opening your widget in six tabs.
- Anonymous users becoming logged-in users.
- Logged-in users logging out on a shared computer.
- The iPhone keyboard covering the message composer.
- Safari.
- Keyboard navigation.
- A widget that must not slow down the actual product.
- Explaining that “sent” and “delivered” are different things.
- A help center.
- An editor.
- An editor that survives pasting from Google Docs.
- Images.
- Image resizing.
- Broken images.
- Article drafts.
- Autosave.
- Version history.
- Restoring the version before someone deleted half the article.
- Reordering nested categories without losing an afternoon.
- Slugs.
- 301 Redirects when slugs change.
- Internal links that now point nowhere.
- Working out which translations need updating after an edit.
- Search that understands what customers mean.
- Custom domains.
- DNS verification.
- SSL certificates.
- Renewing SSL certificates.
- Someone putting Cloudflare in front of your Cloudflare.
- Mobile layouts.
- Dark mode.
- Code blocks.
- Tables on small screens.
- Sitemaps.
- Canonical URLs.
- Accidentally indexing draft content.
- Accidentally deindexing published content.
- Cache invalidation.
- “I published it. Why does it still show the old version?”
- Making sure your AI sees the new version too.
- Spam.
- Phishing.
- Someone uploading malware as “a screenshot of the issue.”
- Someone pasting their CC details into chat.
- Someone asking you to delete every trace of that CC.
- Logs that also contain the CC.
- Backups that also contain the CC.
- Backups.
- Restoring backups.
- Discovering those are two separate features.
- An expired token.
- A background job that quietly stopped on Thursday.
- “Disk is full.” Sunday. 3 a.m.
- Monitoring all of this.
- Monitoring the monitoring.
Now you have two jobs 🤷♂️
I think @cursor_ai projects are the biggest innovation to coding harnesses since cloud agents. If you haven't tried them yet, do it now!
20 years ago my friends and I would make silly games for each other in Game Maker. None of us had consoles so the only way to play games was to make them ourselves.
Introducing: MCP writes in Basedash.
From Cursor, Claude, or any MCP client, ask for a chart or a whole dashboard. Basedash explores the schema, writes and validates the SQL, picks the visualization, and lays it out.
The result comes back as a real Basedash chart with a durable link and a rendered image, so you can keep iterating in the IDE or share it with the team.
We live in a time where, because of AI, lifespan uncertainty is at an all time high.
We could all be dead in 5 years, or live for another 5000.
Knowing when you’ll die carries more information than ever.
Max Musing retweeted
Excellent post. Would add that vendors can turn this into a GTM opportunity by sharing some of these cost savings with their customers, which we certainly do at @Basedash.
I went to an EA event a few years ago and it was just a bunch of autistic nerds discussing veganism and philosophy
wait this is what people mean when they say “software factory”?
this is like the most basic setup you can have in 2026
Here's what OpenAI's agentic software factory looks like, today.
Details: newsletter.pragmaticengineer…
(thanks to all the OpenAI folks who explained how it works! And Perf Factory looks especially interesting to me)
if a millennium problem falls in an AI lab and no one is allowed to see it, does it count as solved?



















