whatisgithub

What is inkino?

roughike/inkino — explained in plain English

Analysis updated 2026-07-03

3,679DartAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A movie browsing app for a Finnish cinema chain built in Dart, demonstrating how to share 40% of code across Android, iOS, and web from one codebase.

Mindmap

mindmap
  root((inkino))
    What it does
      Browse cinema showtimes
      Show current films
      Finnkino chain data
    Architecture
      Shared core package
      Flutter mobile app
      AngularDart web app
    Tech choices
      Dart for all platforms
      Redux state management
      40 percent shared code
    Audience
      Multiplatform developers
      Flutter learners
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study a real-world example of sharing business logic between Flutter mobile apps and an AngularDart web app.

USE CASE 2

Use as a reference architecture for multiplatform Dart projects that target Android, iOS, and the web simultaneously.

USE CASE 3

Browse current Finnkino cinema showtimes on Android, iOS, or the web through the live published app.

What is it built with?

DartFlutterAngularDartRedux

How does it compare?

roughike/inkinolukepighetti/fluropichillilorenzo/flutter_inappwebview
Stars3,6793,7143,724
LanguageDartDartDart
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires installing both Dart and Flutter SDKs separately, as Flutter ships a modified Dart not suited for web work.

License details not mentioned in the explanation.

So what is it?

inKino is a movie browsing app built in Dart that runs on Android, iOS, and the web from a largely shared codebase. It shows current films and showtimes for Finnkino, a Finnish cinema chain. The app is available on the Google Play Store, the Apple App Store, and as a website at inkino.app. The project is structured into three parts. The core folder contains all the shared business logic: fetching data from an API, parsing responses, managing application state with Redux, and defining data models. Both the mobile and web versions import this core package, which is why roughly 40% of the total code is shared between them. The mobile folder is a Flutter project that produces the native Android and iOS apps. The web folder is an AngularDart progressive web app. This separation was the main point of the project. The author built it as a demonstration of how much logic a developer can share across platforms when using Dart for all of them. At the time it was created, this was a relatively uncommon approach, and the README notes the author intended to write about it in more depth on their blog. Setting up the project requires installing both Dart for web development and Flutter separately, since the Flutter SDK ships a modified version of Dart that is not suited for web work. A sample config file for the TMDB movie database API needs to be renamed before building, though a TMDB key is optional and only affects whether actor images appear. The project includes automated tests covering the core logic and serves as a practical reference for developers exploring multiplatform Dart architecture.

Copy-paste prompts

Prompt 1
Show me how the inKino project structures shared Dart business logic in the core package so both Flutter and AngularDart apps can use it.
Prompt 2
How does inKino use Redux to manage app state across mobile and web platforms in Dart?
Prompt 3
What are the steps to set up and build the inKino project locally, including configuring the TMDB API key for actor images?
Prompt 4
How does inKino separate Flutter mobile code from the AngularDart web code while sharing data models and API logic?

Frequently asked questions

What is inkino?

A movie browsing app for a Finnish cinema chain built in Dart, demonstrating how to share 40% of code across Android, iOS, and web from one codebase.

What language is inkino written in?

Mainly Dart. The stack also includes Dart, Flutter, AngularDart.

What license does inkino use?

License details not mentioned in the explanation.

How hard is inkino to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is inkino for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.