top | item 41230396

My chatbot builder is over-engineered and I love it

58 points| jamwt | 1 year ago |fastmind.ai

13 comments

order

joshstrange|1 year ago

> convex

I've been tempted by a number of these types of backends (also like Firebase and Supabase) but every time I can't bring myself to use them. It's not even concerns on cost, it's mostly lock-in. That word(s?), lock-in, means a million things to a million people but my current comfort level is AWS. I use a number of managed services and they are some of the most stable things I've ever used. They also don't change so often that I'm being deprecated or struggling to keep up. Bare metal would have the least lock in but I'm sorry, I really don't want to manage DB servers, worry about the app server(s) tipping over, deal with the queue or cache server running out of memory, or that my disk is full, I'm just too lazy to do that. That's the self-deprecating answer, the truth is I am lazy but also I need the time I save so I can focus on other, more important, things, so I'm happy to make the trade off.

I spent a good 15+ min browsing the Convex docs because I love reading docs and letting my mind imagine the possibilities, it's like a drug, but I just kept thinking "I'd have to change everything about my web/apps around this". I'll try new things, I'm loving Neon.tech, but only if I feel like I have a fallback to something else if I need it (Like RDS or another Postgres-aaS company). Even Lambda is relatively "new" and I had to structure my app around using it but it's been solid and I don't have to worry about AWS being acquired or running out of money. That's my "over-engineering", trying to make sure I don't get caught flat-footed.

funfunfunction|1 year ago

This is cool! I don’t see many people doing write ups on their tech stack as much any more. It’s nice to see the inside of a production-grade app like this.

I’m curious, why command+r for the model? What benefits does it have over other SOTA models?

yding|1 year ago

The short answer is he works at Cohere. But longer answer is that the model probably doesn’t matter that much.

ffsm8|1 year ago

Oh man, reading this article gives me mixed feelings.

I think they're fundamentally misunderstanding where the over engineered critique generally comes from. I've done my fair share of over engineered software, because it's frickin fun to make them, especially if you're working alone or with 1-2 other people.

The issue from these projects pop up later, after we moved on to the next project or employer and other (usually junior) people need to support this. From the Greenfield developer POV, I love that as well. It's just bad for the business, not for the developer (it's called resume driven development for a reason)

Knajjars|1 year ago

Hi there, I'm the author of the blog post. I realize I could have explained "over-engineering" more clearly. I don't mean it in a technical sense, but rather that I approached the project more like an engineer than a founder. The key takeaway is to learn when to take off your engineer hat and think like a founder instead.

efilife|1 year ago

What a great read. I love how much info about it is revealed and all of the advice. Makes me feel a bit better about my unreleased software that I think people would find useful

toomuchtodo|1 year ago

When in doubt, ship it. Some may get value, and ignore anyone who is providing criticism that is less than constructive. Please consider shipping that unreleased software.

stevenicr|1 year ago

Love the flowchart graphic in the post - what did you use to make that?

yding|1 year ago

Looks great! thanks for sharing your architecture choices here.

ac130kz|1 year ago

React, Shadcn, Vercel, Railway and TailwindCSS are surely not the tools to perform "over-engineering" with, they allow for fast delivery of products and are very commonly used.

Ahmed_rza|1 year ago

Really appreciate you for going into so much detail