AI makes developing with frameworks useless
Free yourself from evil frameworks by leveraging AI to code
Published: 27 Feb, 2025
Frameworks like Django and Ruby on Rails have revolutionized web development by providing pre-built, generic code that covers 99% of the functionality required by most web applications. Instead of reinventing the wheel, developers can leverage these frameworks to handle common tasks such as cookie management, database interactions, and more.
However, these frameworks come with a significant drawback: they enforce specific patterns and conventions. While this is beneficial for standard use cases, it becomes a hindrance when you need to implement custom or unconventional features. In such scenarios, developers often find themselves battling the framework’s constraints, spending excessive time reading documentation and source code to achieve relatively simple tasks.
For instance, I once wrote about how to allow creating users without a username in a Django app. Despite the simplicity of the task, it required extensive research, multiple readings of the documentation, and diving into the framework’s source code. This experience highlighted the limitations of rigid frameworks.
Free yourself with AI
So, what’s the alternative? Should developers abandon these frameworks altogether and build everything from scratch using micro frameworks like Flask or languages like Go? While this approach offers greater flexibility, it comes with its own set of challenges, including increased development time and trial-and-error efforts.
Enter AI. With advanced models like Claude 3.7 Sonnet, developers can now scaffold the repetitive and mundane parts of a web application in minutes. This allows you to enjoy the benefits of a framework—such as rapid development—while retaining the flexibility to customize every aspect of your application without being constrained by rigid patterns.
Since the AI generates the code, you can even ask it to implement custom functionality for you. This eliminates the need to spend hours deciphering someone else’s source code or poring over documentation. The result? A more efficient and enjoyable development process.
My New Tech Stack
After years of using Django, I’ve decided to transition to a more modern and flexible stack:
-
Next.js: A lightweight and highly popular framework that leverages React components. Its popularity ensures that AI models like Claude have ample training data, making it easier to generate code. Additionally, React’s component-based architecture allows for high customizability.
-
Tailwind CSS: A utility-first CSS framework that enables rapid styling. With Tailwind, you can ask AI to generate HTML with pre-styled classes, which can then be easily customized to fit your design needs.
-
SQLite: For the database, I’ve chosen SQLite due to its simplicity, ease of deployment, and suitability for production environments. Widespread use of SQL also means that AI models can generate queries with ease.
Conclusion
While many developers remain skeptical of AI, I see it as a transformative tool that liberates us from the constraints of rigid frameworks. Django served me well over the years, but it often felt limiting and frustrating. By transitioning to a lightweight, AI-assisted stack, I’ve regained the flexibility and control I need to build applications efficiently.
If you’re a Django developer—or, dare I say, a Rails developer—it might be time to explore a more modern and adaptable approach. Embrace the future of web development, and breathe fresh air into your workflow.