Open-source project
ALwrity/ALwrity avatar
ALwrity/ALwrity

ALwrity's clone command, wiki link and issue tracker all point at a different repository

ALwrity - AI-first Digital Marketing Platform. AI Content Strategy and Planning, Multimodal content generation, Publishing, Analytics, AI SEO, Connect & Manage Social Accounts. Marketing OS - WIP

1,178 stars329 forksPythonLicense varies

At a glance

What is it?
A FastAPI and React marketing platform that builds a reusable brand persona from onboarding data and adapts content per channel across blogs, stories, video and podcasts. The features are described with the file that implements each one, which is unusually honest. The links around them are not: they point at another repository and two different documentation hosts.
Who is it for?
ALwrity fits a marketer who wants one system that keeps the brand context across surfaces instead of rewriting it per tool, since the persona and brand voice layers are the point rather than a feature among many.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 9 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 2, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The clone command points at a different repository

The repository is published under one name and every GitHub address in the page belongs to another. The stargazers badge, the wiki link, the discussions link, the issues link and the clone command all name a repository belonging to a different owner with a different name. Anyone who follows the quick start literally ends up in the wrong tree, and anyone who clicks Issues to report a bug is filing against a project that is not the one they read. The header also lists a documentation site under one organisation and then three more links to a documentation site under another, so the page mixes two hosting identities as well as two repository identities. None of this is visible from the badges alone, which is why it is worth reading the link targets rather than the link text.

Two documentation folders and two documentation hosts

The tree holds both a docs directory and a docs-site directory, and the page references both. Most of the documentation pointers use a docs-site prefix with a features subfolder and a markdown file per feature, covering the blog writer phases and user interface, the SEO dashboard overview, the Search Console integration and persona development. One pointer breaks the pattern and points into the plain docs directory for the LinkedIn grounded content write-up. So there are two documentation trees in one repository and no single rule for which one a feature's documentation lives in. The documentation host is inconsistent in the same way: the link list at the top names one organisation and the later documentation section names another. Readthedocs is not involved; the site is described as built with MkDocs, and the repository also carries a continuous integration directory and a Procfile, though no deployment platform is named.

Three search providers under a parenthetical about model providers

The tech stack table has a row for AI and research work, and it mixes two different kinds of provider in one cell. Named there are five language and image models, then three web search services, and then a parenthetical that describes automatic provider selection with Gemini as the default and Hugging Face as the fallback. That parenthetical is about model providers, not search providers, so a reader looking for the search configuration has to notice that the sentence after the search list is about something else. The stack also lists React 18 or newer with TypeScript and a component library, a CopilotKit integration on the frontend, SQLAlchemy and FastAPI on the backend, SQLite as the data store described as PostgreSQL-ready, and Loguru for monitoring.

Five models in the stack and two providers with configuration

The provider section is specific and short, and it configures two vendors rather than the five named in the stack. Selection is automatic and keyed off two things: an optional provider variable and which credentials are present. If a Gemini key is present, Gemini is used. If a Hugging Face token is present instead, that is the fallback. Each credential does something specific. The Gemini key covers text and structured JSON, with images coming through Imagen. The token covers text through an inference API, with images through supported models on that side. The optional variable selects between them explicitly, with two accepted values, one for Gemini and one for the response API on Hugging Face. The split is described in terms of strengths, structured output and fast general generation on one side, broad model access on the other.

Every feature names the file that implements it

This is the part of the page worth copying from. Almost every entry under what is functional now ends with a path. The blog writer runs research, outline, content, SEO and publish as guarded phases with local persistence, and the path given is the navigation hook in the frontend. The story writer runs premise, outline, chapters and export through its own navigation hook. The YouTube studio runs plan, scenes, avatar and render, with a component directory. The video studio is a multi-module area with its own directory. The persona system is an API module, the Facebook persona service is a service file that uses Gemini structured JSON, and the personalization and brand voice layer is a component logic module. The SEO dashboard and the LinkedIn grounded content feature point at documentation files instead. If you want to know whether a capability is real, the path is the evidence.

The quick start runs two processes on two ports

The install and run sequence is two steps and two terminals. First the clone, then the backend requirements from a backend subdirectory, then the frontend packages from the frontend subdirectory. Running is one command for the backend and one for the frontend:

bash
# Backend
cd backend && python start_alwrity_backend.py
# Frontend
cd frontend && npm start

The result is a frontend on port 3000 and API documentation on port 8000, and the intended path through them is onboarding, then content generation, then publishing. What is not in the quick start matters as much: there is no environment file step, no database migration step and no mention of the provider credentials the next section goes on to explain. A reader following the quick start literally will reach a running pair of processes with no model configured, which is consistent with the note elsewhere that a model provider is needed for some features but not others. The auth story is described as JWT and OAuth2 with rate limiting and usage tracking, but the setup steps for it are not in this section.

One release, four months before the last commit

The release history is a single entry, version 0.5.1, titled as a security fix with new features and published in June 2026. The default branch was pushed in late September 2026, so the branch has moved considerably past the only tagged build. The project describes itself as production-ready in the feature list, with authentication, usage tracking, limits, monitoring and cost awareness built in, and the repository description itself ends with the words marketing operating system and work in progress. Both statements are true at once and the tension between them is the honest summary: the pieces are assembled and wired to source paths, the release cadence is not. Anyone evaluating it should plan to run from the default branch rather than from the tag, and should read the licence question as open, since the page carries an MIT badge while the repository root holds no licence file.

Editorial conclusion

ALwrity fits a marketer who wants one system that keeps the brand context across surfaces instead of rewriting it per tool, since the persona and brand voice layers are the point rather than a feature among many. It is a poor fit if you need the current documentation from the links on the page, because they resolve to a different repository and two documentation hosts, and a poor fit if you want a provider other than Gemini or Hugging Face configured through environment variables. Before you plan around it, find which repository is authoritative, read the feature list from the source paths it names rather than from the wiki link, and note that the single published release is from June 2026.

Frequently asked questions

What is ALwrity?

An AI-first digital marketing platform that ingests a website, competitors and channels to build a reusable brand understanding, then adapts content across blogs, stories, YouTube, podcasts and video. It is a FastAPI backend with a React frontend and SQLite as the data store.

Which repository do I clone to install ALwrity?

The quick start in the page names a repository under a different owner and a different name from this one, and so do the wiki, discussions and issues links. Find the authoritative repository before cloning.

Which AI providers can ALwrity be configured with?

Two, through environment variables: Gemini if a Gemini API key is present, and Hugging Face as the fallback if a token is present, with an optional provider variable to select explicitly. Gemini covers text and structured JSON with images via Imagen; the token covers text through an inference API.

Which search providers does ALwrity use?

Three are named in the tech stack table: Exa, Tavily and Serper. The parenthetical that follows them describes automatic model provider selection rather than search configuration, so the search settings are not described there.

Is ALwrity released?

There is one published release, v0.5.1, titled as a security fix with new features, from 2026-06-05. The default branch was pushed on 2026-09-24, so the branch is ahead of the only tag.

Official sources

  1. ALwrity/ALwrity on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/alwrity-alwrity.svg)](https://hysenlabs.com/projects/alwrity-alwrity)