A production-readychat app template

Chatness is a feature-complete chat app template built from ground up on top of Ionic, Angular and Firebase.

$149 one time purchase with 7 days money back guaranteed, no questions asked. By purchasing Chatness you agree to our license.
Hello 👋 We noticed that you're from 🇧🇷 Brazil. To help facilitate global accessibility, we are offering purchasing power parity pricing.
AS FEATURED IN
chat groups contacts conversation dark theme
DEPLOY FASTER

Stop wasting your time

Chatness is robust enough and have all the chat features you're going to need. Written on top of Ionic + Angular + Firebase you get a battle-tested app out-of-the-box.

Deploy as PWA

Whether you're building for native or not, deploy as a site or progressive web app.

Deploy to stores

Detailed documentation to build and deploy for Apple Store or Google Play.

Built for speed

Everything is cached using either localStorage (iOS) or SQLite (Android).

Light and dark UI

Light or dark theme auto loaded from user preferences, adjusted from app settings.

Powerful API

No spaghetti, every side effect is extracted as a single function per file for easy composing.

Reliable Database

Built on Firestore Database, the new industry standard for reliability and deliverability.

Settings

Change user name, email, password, set up notifications, display mode and more.

Auth

Account creation and user authentication via email. More methods coming soon.

Password

User password reset out-of-box powered by Firebase Auth.

Notifications

Push notifications for first time senders, group and private chat.

Groups

Conversation in group with option to mute/unmute push notifications.

Private

Private conversations with option to opt-out for push notifications.

Pagination

Chat conversations are paginated based on timestamp for better performance.

Search

You can search for groups and contacts. Chat conversation search coming soon.

Contacts

Stunning contact list updated in real time with badge and recent conversations.

Deletion

Every message exclusion is synced in realtime with all devices.

Photos

Select or take photos to upload in a group or private conversation.

Videos

Select or record videos to upload in a group or private conversation.

Component-Driven

Worried about framework? Don't be.

Not an Angular developer? We've got you covered. Chatness also exports web components meaning it's allowed to use everywhere with any javascript framework like React, Vue or even Vanilla. Give Chatness 10min and it'll show you how to save 10 days of hard working for the cost of a cool dinner.

  • Angular
  • React
  • Vue
import {
Component,
OnInit,
ChangeDetectionStrategy,
ViewChild,
} from '@angular/core';
import { IonRouterOutlet, ModalController } from '@ionic/angular';
import { subscribe } from '@rebased/core';
import { connect, dispatch, getState } from '@rebased/state';
import { navForward } from '../../actions/navForward';
import { ChatContactsComponent } from '../../components/chat-contacts/chat-contacts.component';
import { ChatUser } from '../../components/chat/interfaces/chat-user.interface';
import { MessageComposeComponent } from '../../components/message-compose/message-compose.component';
import { pushClearBadge } from '../../effects/pushClearBadge';
@Component({
selector: 'chat-contacts-page',
templateUrl: './contacts-page.component.html',
styleUrls: ['./contacts-page.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class ContactsPageComponent implements OnInit {
@ViewChild('users') users: ChatContactsComponent;
currentUser$ = connect('session.user');
search: string;
constructor(
private routerOutlet: IonRouterOutlet,
private modalController: ModalController
) {}
ngOnInit() {
subscribe('MessageComposeOnMessage', () => this.modalController.dismiss());
}
ionViewDidLeave() {
if (getState('session.user.badge') > 0) {
pushClearBadge();
}
}
navTo(user: ChatUser) {
dispatch(navForward('/chat/user/{user.objectId}'));
}
async presentMessageComposeModal() {
const modal = await this.modalController.create({
component: MessageComposeComponent,
swipeToClose: true,
presentingElement: this.routerOutlet.nativeEl,
cssClass: 'message-compose-modal',
componentProps: {
from: getState('session.user'),
},
});
return await modal.present();
}
}

Use Cases

You can use Chatness to build a variety kind of apps, including:

Foundation

Have a solid foundation and build any kind of app

Practice

Learn about the best software development practices

Client

Offer feature rich chat solutions to your clients

Group

Build group based chat solutions like Slack

Live

Build live chat solutions like Intercom and Tawk.to

Support

Build helpdesk support systems like ZenDesk

Desktop

Offer chat solutions for desktop and progressive web apps

Mobile

Offer chat solutions for mobile apps

Meet the author

"Design is not just what it looks like and feels like. Design is how it works." S. Jobs

Stewan Silva Software Engineer

Stew has been building great apps for the last decade and has 15 years of experience on software development.

He's a bootstrapper who love to build cool and reliable software. Back in 2017 Stew has helped bootstrapping a company called INFLCR which today serves more than 30k athletes daily. The company was acquired in 2020 for a million dollar transaction.

What happens

when you don't have Chatness

Template

You Worry about layout, ionic tags and template structure

Queries

You struggle with proper firestore queries and database architecture

Speed

You don't care about speed, cache and global states

UI

You won't care about dark mode which is largely adopted from users

Notifications

You struggle with push notifications mechanism

Opt-out

You don't offer ways to your users opt-out from notifications

Offline

You don't care about offline support

Pagination

You don't offer chat pagination, virtual scroll and other optimizations

Industry Statistics

Trusted by the vast majority of developers around the planet
82% of apps in Google Play Store
are built with Ionic
70% of apps in Apple Store are
build with Ionic
42% of developers prefer to use
Angular as framework

What's Included

With every Chatness license purchased

Pages

6 reusable pages for Angular applications only.

Components

10 reusable web components which you can use for any Framework, powered by Angular Elements.

Storybook

Coming soon every reusable component will be shipped with storybook.

Seeds

When you buy Chatness it comes with database seeds for every feature to help you get off ground and test quickly.

Documentation

Extensive documentation covering from the initial setup to notifications and device building.

Support

Lifetime first class support. Replies in less than 24 hours.

Upgrades

Lifetime upgrades for new features and bug fixes.

Risk free

You can request a refund anytime before 7 days. No questions asked other than how we could improve the product.

W
William
Phew. Great job on this product! Let me emphasize the importance of keeping current with the Firebase API, that requires a lot of moving parts be up-to-date. Chatness made it through. Many thanks
R
Rodolfo
Great template to start an application, well modulated, and the code is well documented and the support is 10 Stars.
J
Jenara
As a web developer for over 20 years, all I do is look at example code and hope it is a great. Let me say, unequivocally, that Chatness is great. It's a AAA title. First of all, it's current. That's important. I need to be on the latest versions of Ionic and Angular...
P
Phil
Great product. The bottom line, folks, is that the $150 you spend here today on Chatness is well worth the $2,000 to $5,000 in time a senior developer is going to spend trying to put together something that you get out of the box with Chatness.
A
Andrew
The team at Chatness seems as passionate about keeping current as the best developers and I appreciate that! The support around the product is just amazing and that saves you time. Everyone has the same goal of creating great mobile apps running on Firebase, and this template does that so very well!
W
William
Phew. Great job on this product! Let me emphasize the importance of keeping current with the Firebase API, that requires a lot of moving parts be up-to-date. Chatness made it through. Many thanks
R
Rodolfo
Great template to start an application, well modulated, and the code is well documented and the support is 10 Stars.

Test Drive

Try out our demo