bit platform

Build all of your apps
without starting from scratch

What is bit platform?

code, build & deploy
your apps easily


Start from a full-featured app, customize it with AI, and hit publish.
Web, Android, iOS, Windows and macOS - from one project.
bit platform apps running on web, mobile, and desktop
10M+ NuGet downloads
1.4K+ GitHub stars
150+ Contributors
100+ UI components
Why bit platform?

everything ready on day one
and you are
never locked in


Auth, payments, admin panel, SEO, offline, monitoring and much more, already working.
Privacy first and fully yours: you own the full source code, and your app runs with or without us.
Our products

variety of tools to
make better apps


bit Boilerplate hands you a real app on day one - sign-in, admin panel, payments, SEO, offline, monitoring and much more already working - for PWA/SSR enabled websites and Android, iOS, macOS, Windows apps.
bit new MyAwesomeProject --database sqlite    sqlserver --pipeline github azure --module admin sales
Learn more

bit BlazorUI components are native, easy-to-customize, and work seamlessly in all interactive Blazor modes (WASM, Server, Hybrid, pre-rendering), saving you time and making development enjoyable.
<BitDropdown @bind-Values="comboValues"
             Label="Multi select combo box"
             Placeholder="Select options"
             Items="comboBoxItems"
             Combo Chips Dynamic Responsive
             OnDynamicAdd="(BitDropdownItem<string> item) => HandleOnDynamicAdd(item)" />
Learn more

bit Butil brings the browser APIs that normally need JavaScript into your app, ready to use in C#.
@inject Bit.Butil.Crypto crypto

@code {
    var encryptedBytes = await crypto.Encrypt(CryptoAlgorithm.AesCbc, key, textAsUtf8Bytes, iv: iv);
}
Learn more

bit Bswup makes your app installable, usable offline, and updated in the background - with a visible install progress your users can watch.

bit Bswup service worker update flow in a Blazor PWA

Learn more

bit Besql facilitates the use of Entity Framework and SQLite in web browsers with Blazor WebAssembly.
services.AddBesqlDbContextFactory();
Learn more

bit Brouter is a modern, declarative, nestable router for Blazor with async guards, data loaders, named routes, programmatic navigation, query string binding, and global navigation hooks.
<Brouter NotFoundUrl="404">
    <Broute Path="/" RedirectTo="/home" />
    <Broute Name="home" Path="/home">
        <Content><HomePage /></Content>
    </Broute>
    <Broute Name="user" Path="/users/{id:int}" Component="@typeof(UserPage)" />
</Brouter>
Learn more

bit Bmotion is a Blazor-native animation library with springs, gestures, keyframes, variants, drag, layout animations, shared-element transitions and exit animations, no manual JavaScript wiring required.
<Bmotion Initial="Bm.To(opacity: 0, y: 20)"
         Animate="Bm.To(opacity: 1, y: 0)">
Learn more

bit Bmage loads, crops, resizes, adjusts, annotates and exports images in the browser from strongly typed C#, with a full image editor component, EXIF privacy by default, and no server round trips.
ImagePipeline.Create()
    .AutoOrient()
    .Cover(512, 512)
    .Sharpen(0.3f)
Learn more

bit Bsqlite runs SQLite and the stock EF Core provider in a worker in the user's browser, over OPFS, IndexedDB or Cache Storage, with the same entities and migrations as the server and live queries across tabs.
builder.Services.AddBitBsqliteServices(sqlite => sqlite
    .AddStorageProvider<BsqliteOpfsStorageProvider>()
    .UseStorage(s => s.Prefer("opfs"))
    .AddDatabase("app.db"));
Learn more

bit Bink is a Blazor-native drawing and ink library with pressure- and tilt-aware strokes, brushes, erasers, shapes, annotations, selection, layers, undo/redo, real-time collaboration and SVG/PNG export, all in C#.
<BinkCanvas @ref="canvas" Width="400px" Height="180px"
            AriaLabel="Signature" />
Learn more

bit Balette is a Blazor-native, keyboard-first command palette with fzf-style fuzzy search, nested pages, prefix modes, async sources, recents, global shortcuts and sequences, prompts and multi-select, all in C#.
Palette.Register(
    BaletteCmd.Navigate("Settings", "/settings").Shortcut("G S"),
    BaletteCmd.Action("Toggle sidebar", Toggle).Shortcut("Mod+B"));
Learn more

bit BbScanner is a dependency-free barcode scanner that reads QR Code, Data Matrix, Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E and ITF from the camera or from still images, with the decoding written in C#.
<BbScanner Formats="BbBarcodeFormat.QrCode"
           OnScan="HandleScan" />
Learn more

bit Bdnd is a declarative drag-and-drop library for Blazor, inspired by React DnD: typed items matched to drop targets by type, custom drag previews, drag handles, sortable lists, nesting and native file drops, with the drag state kept in C#.
<BdndDraggable TItem="Card" Type="card" Item="card" />
<BdndDropTarget TItem="Card" Accept="card" OnDrop="HandleDrop" />
Learn more

bit BlazeDb is a memory-first, SQL-free embedded database for Blazor WebAssembly: rows live in memory as your own objects, reads are index lookups with no interop, and commits persist to OPFS in the background - with transactions, encryption, multi-tab replicas and an EF Core provider, all in C#.
var open = todos.Lookup(TodoItem.Indexes.Done, false);
Learn more

bit Blow is a Blazor-native library for node-based editors, flow charts and diagrams - a Blazor counterpart to React Flow - with draggable, resizable and connectable nodes, sub-flows, auto-layout, undo/redo and full keyboard accessibility, all in C#.
<BlowCanvas Nodes="nodes" Edges="edges" FitViewOnInit="true">
    <BlowBackground />
    <BlowControls />
</BlowCanvas>
Learn more

bit Borm is a schema-driven form engine for Blazor: describe a form once, from a C# type, a fluent builder or a JSON Schema document, and it renders, validates and tracks it - conditions, computed values, cascading options, wizards and repeaters included, all decided in C#.
<BormView Definition="BormSchemaGenerator.Generate<Contact>()"
          Model="contact" OnValidSubmit="Save" />
Learn more

bit Bcrdt lets several people edit the same text, list or form at once - online or offline - and never lose anyone's work: a CRDT engine, a sync protocol, presence and cursors, offline-first persistence and selective undo, all written in C#, over SignalR, WebSockets or any transport.
<BcrdtCollaborationScope DocumentId="notes-42" User="me" Context="doc">
    <BcrdtPresenceView Presence="doc.Presence" />
    <BcrdtTextArea Text="@doc.Text("body")" Presence="doc.Presence" />
</BcrdtCollaborationScope>
Learn more

bit Bonboarding is a Blazor-native onboarding library with multi-step tours, spotlights, collision-aware placement, branching and multi-page flows, persistence and built-in accessibility, all decided in C#.
<BonboardingTour Id="welcome" AutoStart="BonboardingAutoStart.Once">
    <BonboardingStep Anchor="new-project" Title="Create a project" />
    <BonboardingStep Anchor="search" Title="Find anything" />
</BonboardingTour>
Learn more

bit Bortable is a Blazor-native drag-and-drop sortable list inspired by SortableJS - reorder items or drag them between lists that share a group, with live reordering, cloning, drag handles, nested lists, swap mode and multi-drag, all decided in C#.
<Bortable @bind-Items="todo" TItem="string" Group="board">
    <ItemTemplate Context="item">@item</ItemTemplate>
</Bortable>
Learn more

bit Blex turns plain C# fields and methods into observable stores with a source generator: computed state, effects, middleware, persistence, undo/redo and Redux DevTools time-travel, with no reducer boilerplate.
[BlexStore(Name = "counter")]
public partial class CounterStore
{
    [BlexState] private int _count;
    [BlexComputed] private bool ComputeIsEven() => Count % 2 == 0;
    [BlexAction] private void OnIncrement() => Count++;
}
Learn more

bit Belemetry collects page views, web vitals, JS errors and fetch calls in the browser plus ILogger, Activity and Meter data in .NET, and exports it over OTLP or to Azure Monitor - in WebAssembly, Server and Hybrid apps, without the OpenTelemetry packages, and with per-feature GDPR consent.
builder.Services.AddBitBelemetryServices(o =>
    o.AddOtlpExporter("http://localhost:4318"));
Learn more
Tech we use





We've developed all of our websites
with our own toolchain!

Built with bitplatform

see what teams
are shipping



start building today


Free and open source. MIT licensed. No sign-up required.


dotnet tool install --global Bit.Cli --prerelease
bit new MyFirstProject