Desktop · Windows, macOS, Linux

FalangSketch

A visual IDE for algorithms and code

FalangSketch is an offline app where you think in flowcharts instead of syntax. Draw an algorithm once and get compilable code in several languages at once. No account, no server, no cloud.

  • C++
  • Go
  • Rust
  • C#
  • TypeScript
  • offline
  • git
The discount function diagram and the TypeScript code generated from it

How it works

Three steps from idea to code

  1. 1

    Draw the algorithm

    Conditions, loops and functions are blocks on a canvas. Click a line to add a step, drag to move, Ctrl+Z to undo.

  2. 2

    Describe your data

    Structures, enums and external APIs become types the editor checks in every expression.

  3. 3

    Export the code

    One command generates code for every target language — each into its own folder in your project.

One diagram, five languages

Draw it once — get code in any language

The logic constructor type-checks every expression with the real TypeScript compiler and generates readable code. Switch the tabs: the diagram on the left stays the same.

The discount function diagram: a rate, two conditions and the price calculation
discount.cpp
double discount(double total, bool isVip) {
  double rate = 0;
  if (total >= 5000) {
    rate = 5;
  }
  if (isVip) {
    rate += 10;
  }
  double price = total * (100 - rate) / 100;
  return price;
}
discount.go
func discount(total float64, isVip bool) float64 {
  rate := 0.0
  if total >= 5000 {
    rate = 5
  }
  if isVip {
    rate += 10
  }
  price := total * (100 - rate) / 100
  return price
}
discount.rs
pub fn discount(total: f64, isVip: bool) -> f64 {
  let mut rate = 0.0;
  if total >= 5000.0 {
    rate = 5.0;
  }
  if isVip {
    rate += 10.0;
  }
  let price = total * (100.0 - rate) / 100.0;
  return price;
}
Discount.cs
public static double Discount(double total, bool isVip) {
  double rate = 0;
  if (total >= 5000) {
    rate = 5;
  }
  if (isVip) {
    rate += 10;
  }
  double price = total * (100 - rate) / 100;
  return price;
}
discount.ts
export function discount(total: number, isVip: boolean): number {
  let rate = 0;
  if (total >= 5000) {
    rate = 5;
  }
  if (isVip) {
    rate += 10;
  }
  const price = total * (100 - rate) / 100;
  return price;
}
  • Errors are highlighted as you type
  • External APIs become interfaces your code implements
  • Rust output is no_std-compatible for microcontrollers

FalangSketch

What FalangSketch does

From a rough algorithm sketch to code that compiles even on a microcontroller.

Editor

A diagram that can’t get tangled

The main path always runs top to bottom, branches go to the right. The editor lays blocks out for you and won’t let you draw a broken construct, so even a big algorithm stays readable.

  • Click a line to insert a step, drag to move
  • break / continue / return exits to any level
  • Links between diagrams and block colors
The FalangSketch editor: project tree and a function diagram

Text projects

Not just code: ideas, processes, plans

Text projects draw algorithms in plain language — instructions, procedures, plans. A silhouette splits a big process into branches like chapters, and a tree turns ideas into a mind map.

  • Function, silhouette and tree
  • Formatted text and images in blocks
  • Print diagrams to PDF up to A1
A product-launch mind map in FalangSketch

Three project types

Choose how strict you want it

Text

Algorithms in plain language: functions, process silhouettes and mind maps with formatted text.

  • function
  • silhouette
  • tree

Logic constructor

Typed logic with structures, enums and external APIs — with code generation for 5 languages.

  • C++
  • Go
  • Rust
  • C#
  • TypeScript

Code

A diagram whose blocks hold ordinary, syntax-highlighted code. Unchecked — for sketches and documentation.

  • C++
  • JavaScript
  • TypeScript
  • PHP
  • Rust

FalangSketch

And there’s more

AI agent

Describe a change in words — the agent edits diagrams with the same actions you use. Works with any OpenAI-compatible model.

Claude Code over MCP

Every project folder gets a ready MCP config: an agent in your terminal reads, edits and validates diagrams.

Version history in git

Named versions, side-by-side comparison highlighted on the canvas, one-click restore.

PDF export

Each diagram on its own sheet, sized automatically from A4 to A1.

Older projects

Projects from the previous Falang version are converted automatically on first open — with a backup.

English and Russian

Switch the interface and menu language on the fly.

FalangSketch

Who it’s for

Students and teachers

An algorithm is understood by eye first. The diagram shows the logic, the generated code shows what it looks like in a real language.

Engineers

Describe business logic once as a diagram and get it in C++, Rust or Go — down to no_std firmware for a microcontroller.

Analysts and technical writers

Procedures and processes as diagrams anyone can read without training, printed on sheets up to A1.

FalangSketch

FAQ

How much does FalangSketch cost?

Nothing: the app is free and open source under the AGPL-3.0 license.

Do I need internet or an account?

No. The app works fully offline and projects are plain files on your disk. Only the AI agent needs internet — if you choose to set it up.

What code does it produce?

Ordinary, readable source code: one file for C++, Go and C#, one file per diagram for TypeScript and Rust. Expressions are checked by the TypeScript compiler, and the editor only offers what every target language supports.

Can I keep a project in git?

Yes: a project is a folder of JSON diagram files named after the diagrams. The app’s version history works on top of git as well.

Draw your first algorithm today

FalangSketch is free, needs no sign-up and works offline.