Darker Framework

An app-framework written in Flutter, using Firebase, enabling rapid and secure social-focused app creation.

Darker Framework is a culmination of more than two decades of software of development. We have been creating various apps and solutions for a number of domains and firms and have gotten quite frustrated with the repetition and duplication involved. Enter the Darker Framework; a code base entirely owned and written by Darker Waters that we make available without subscription or commitment to all our customers.

The idea behind the framework is to prevent our clients from having to endure the time and cost required to start from scratch each time they want an app created. Instead, we can start with a codebase that allows data to be passed back and forth reliably in a secure and scalable framework. In addition to the core which is the data accessibility mechanisms, there is also a pool of UIX code and examples on which the client and their engineers can draw and grow.

Multi-Platform support

Mostly thanks to being developed in Flutter and the widely available Firebase and Google Cloud backend we connect to; a wide-variety of platforms and targets are supported and already delivered to.

Native iOS (tablet and phone)

Native Android (tablet, phone, and CromeOS)

Deploy to web directly as a PWA or access data from any website

Desktop support for MacOS, Windows and Linux

Secure and privacy-first design

Our connection from app to backend leverages the best practices and methodologies provided (in our current implementation) by the Google Cloud range of products. In addition to this, security and privacy have been considered from the start and are baked-in to our design and implementation at all stages of development.

Delegated Security

Instead of patching and securing our servers and data, we instantiate our data and services with well-supported cloud providers. Why manage our updates and security when we can let Google do it?

Data by Copy

Designed to utilise the data-by-copy paradigm we only provide data the user they are permitted to view. Ensuring any deep analysis or hacking of our app could only ever result in viewing data the user can already view.

Provider Agnostic

Although we talk about, and use Google, our framework could be moved to another major cloud provider (or in-house system) easily enough. We don't use anything so unusual, there aren't lots of alternatives.

App features

The backend, and deployed apps, are mostly focussed on 'social media' sharing type apps. However, there's nothing stopping development of anything with the framework and provided UIX components. Using the framework speeds the development of any type of app.

User Authentication through email/password and most popular third parties.

Messaging between users and groups, posting content, commenting on posts, and reporting inappropriate content.

Media upload, viewing, storage and access control for all uploaded content.

Geo data - live position tracking and sharing as well as geospatial data entry and searching.

Friends and following managed so users can follow whoever and be followed as required.

Device and data access requirements for both Apple and Google Play stores fully supported and complience provided.

Efficient data access and offline accessibility provided as an essential function.

A wide range of devices and form-factors supported. Phones, tablets, folding, PCs. Old and new devices equally supported and operable.

User data management. Data entry, sharing options, data deletion and anonymous access limits.

Tracking 'likes'. Each user's likes, how many, popularity tracking.

Notifications, messages from organisations, groups, users and the system all handled.

Interaction and usage tracking, who's looking at what, how much, etc.

Event management supports tracking, attendees, messaging, and communications

Provision of date time UIX and storage supporting multi-timezone locales.

Mulit-language and regional differences supported natively.

Accessibility design and support across the board.

Framework Ethos

The Darker Framework is created with simplicity in mind. We here at Darker Waters fully expect that some clients will move to other developer groups or in-house staff in the future. There shouldn't be a problem for any Flutter developer in picking up where we leave off and we welcome it. There's extensive automated tests and documentation already in place and we will talk about what we are doing to any interested party. It helps the code is straightforward and doesn't use any esoteric or complicated technologies. At its core, it's just good Flutter and Dart code, with some TypeScript cloud functions.

There are many advantages in the technologies and design we have chosen. Our code compiles to a small delivery, it's efficient and runs quickly. It's reliable and easy to debug, fix and edit. It's readable, testable and copyable. There's no magic in there, and where it is complicated, it's documented thoroughly. It helps that we have a complete example app on on which to build and a few working deployments available to cut and paste from if you should require something similar.