My chatbot builder is over-engineered, and I love it
The article details the development of Fastmind, a scalable chatbot builder, emphasizing user feedback, the importance of familiar technologies, and the need to launch products sooner for iterative improvement.
Read original articleThe article discusses the author's experience in developing Fastmind, a chatbot builder, highlighting the challenges faced and lessons learned throughout the process. The author aimed to create a scalable, automated service while managing issues such as user management, performance bottlenecks, and security against malicious users. The architecture of Fastmind utilizes a combination of React for the frontend, Hono for the backend, and Convex for database management, among other tools. The author emphasizes the importance of choosing familiar technologies and maintaining a clear separation between different applications for easier maintenance. Key takeaways include the realization that perfection is not necessary for launching a product, the importance of focusing on user feedback, and the understanding that the tech stack is secondary to delivering a functional product. The author also reflects on the need to launch sooner to gather user feedback and improve the product iteratively, rather than waiting for a perfect version.
- Fastmind was developed to be a scalable and automated chatbot builder.
- The architecture includes React, Hono, and Convex, emphasizing the use of familiar technologies.
- Key lessons include the importance of user feedback and the realization that perfection is not required for launch.
- The author stresses the need to launch products sooner to gather valuable user insights.
- The tech stack is less important than delivering a functional and valuable product.
Related
The saddest "Just Ship It" story ever (2020)
A developer shares a cautionary tale about the importance of releasing imperfect products promptly. Delaying a project led to missed opportunities, contrasting with a competitor's successful approach of shipping and updating continuously.
Fear of over-engineering has killed engineering altogether
The article critiques the tech industry's focus on speed over engineering rigor, advocating for "Napkin Math" and Fermi problems to improve decision-making and project outcomes through basic calculations.
Scrapping a 20K investment to rebuild in bubble
Olivier Mamet pivoted from a failed AI chatbot investment to successfully launch Chat Whisperer using bubble.io, achieving $1K MRR in three weeks and testing with large companies for potential growth.
Ask HN: I can't grok front end development
An experienced software engineer with over 10 years in backend systems is exploring frontend development, finding modern frameworks complex. They seek resources to improve their frontend skills and user experience understanding.
Basic ReAct webapp using FastHTML and LangGraph
The "curiosity" GitHub repository experiments with ReAct chatbots using LangGraph and FastHTML, integrating Tavily for search, facing challenges with WebSocket and SQLite, and requiring specific setup steps.
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.
I’m curious, why command+r for the model? What benefits does it have over other SOTA models?
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)
Related
The saddest "Just Ship It" story ever (2020)
A developer shares a cautionary tale about the importance of releasing imperfect products promptly. Delaying a project led to missed opportunities, contrasting with a competitor's successful approach of shipping and updating continuously.
Fear of over-engineering has killed engineering altogether
The article critiques the tech industry's focus on speed over engineering rigor, advocating for "Napkin Math" and Fermi problems to improve decision-making and project outcomes through basic calculations.
Scrapping a 20K investment to rebuild in bubble
Olivier Mamet pivoted from a failed AI chatbot investment to successfully launch Chat Whisperer using bubble.io, achieving $1K MRR in three weeks and testing with large companies for potential growth.
Ask HN: I can't grok front end development
An experienced software engineer with over 10 years in backend systems is exploring frontend development, finding modern frameworks complex. They seek resources to improve their frontend skills and user experience understanding.
Basic ReAct webapp using FastHTML and LangGraph
The "curiosity" GitHub repository experiments with ReAct chatbots using LangGraph and FastHTML, integrating Tavily for search, facing challenges with WebSocket and SQLite, and requiring specific setup steps.