Skip to main content
All CollectionsFAQs
Decoupling From the Abilities Library & Building a Blank-Slate App
Decoupling From the Abilities Library & Building a Blank-Slate App
Updated this week

Overview

Lazy AI offers powerful features to help you build applications quickly, including our convenient “Abilities” library which bundles common functionality like Authentication, Database integrations, and more. However, we understand that some advanced users and teams may want more control over their application stack and prefer not to rely on these built-in abstractions.

This article outlines:

  • Why the Abilities library is optional

  • How to remove or replace Abilities

  • How to build a Lazy AI app from a blank slate

Why Is the Abilities Library Optional?

The Abilities library is designed to make development easier by handling common tasks. But it’s not mandatory. If you have specialized needs—such as customizing OAuth scopes, using your own hosting configurations, or incorporating external services like Nylas—you can opt to exclude or partially remove Abilities.

Decoupling or Removing Abilities

  1. Understand the Scope of Abilities

    • Auth (Google, etc.): Provides OAuth flows, user management, session handling.

    • Database: Integrates automatically with a Lazy-managed database (e.g., SQLite).

    • Other Functions (logging, error handling, etc.): Bundled convenience utilities for your app.

  2. Ask Lazy AI to Remove the Dependency

    • When generating your code via Lazy AI, instruct it not to rely on or import specific Abilities components.

    • Example prompt to Lazy AI:

      “Remove the Auth Ability from my app. I want to roll my own Google OAuth integration using Flask or Firebase. Do not import the Abilities library.”

  3. Partially Remove Abilities

    • Switch Out Authentication: Provide your own OAuth, JWT-based auth, or integrate a third-party identity solution by prompting Lazy AI accordingly.

    • Switch Out the Database: Request Lazy AI to integrate with a cloud-managed database (like AWS RDS or Cloud SQL) or your self-hosted database instead of using the default Abilities approach.

  4. Potential Tradeoffs

    • Removing Abilities means you will be responsible for maintaining features like authentication, session management, or database migrations.

    • You’ll need a moderate to high level of technical expertise to ensure these are set up securely and efficiently.

Starting From a Blank Template

For projects requiring total flexibility, you can start with a blank Lazy AI template that contains minimal or no Abilities code. This will allow you to:

  1. Choose Your Own Tech Stack

    • Use Flask or FastAPI

    • Integrate a custom front-end with plain HTML or Vue for example.

  2. Control Your Hosting

    • Deploy your application to a provider of your choice (AWS, Azure, GCP, DigitalOcean, etc.).

    • Manage your own costs, scaling policies, and server configurations.

  3. Configure Your Own Authentication and API Integrations

    • Use your own OAuth setup with custom scopes for accessing Google Calendars, Gmail, or other third-party APIs.

    • Integrate specialized services like Nylas for simpler email, calendar, or contacts integrations without relying on the Abilities library.

Starting Point - Blank Template

  • Within the Lazy AI interface: Create a new app

  • Choose starting point: Select the "Blank HTML Template" option and click the 'Start with this template' button. You've now got a blank slate start of an app thats fully customizable.

  • This basic HTML template is built with Flask and while it removes dependencies on Lazy services, it’s still opinionated in the sense that you still have to use the supported programming languages / frameworks only (Note: React, Angular, Node etc are not included).

Frequently Asked Questions

1. What if I still want some functionalities from Abilities?

You can partially include only the Abilities you need. For instance, keep database integration but remove the built-in Auth. Prompt Lazy AI specifically about which features to retain or discard.

2. Will I lose Lazy AI’s code-generation benefits if I remove Abilities?

No. You will still benefit from Lazy AI’s core code-generation capabilities. You’ll simply be generating code that does not rely on the Abilities library for certain features.

3. Can I re-enable Abilities later if I change my mind?

Yes. You can prompt Lazy AI to “re-add” or “reinstate” the desired Abilities. Keep in mind any custom code you wrote may need refactoring to align with built-in conventions again.

Conclusion

Whether you’re a non-technical user benefiting from built-in conveniences or a professional developer who needs total control, Lazy AI has options to suit your workflow. If you’d like to explore a zero-dependency, fully customizable stack, just instruct Lazy AI accordingly—or ask us for a blank template.

Still have questions?
Please reach out to our support team or visit our Discord Community for more examples and best practices.

Did this answer your question?