Open Source Timeline
We believe in open collaboration and its power to drive innovation. Our team continuously contributes to the open source community, advancing technology together. Below are some frameworks and tools we've used and enhanced while developing FlowDown.
This section is only available in English.
FlowDown
FlowDown is a blazing fast and smooth client app for using AI/LLM with full protection of your privacy.
SwiftAILLMPrivacyMarkdownMLXiOS AppKey Features
- ⚡ Lightweight and Efficient: Compact design for seamless performance
- 📝 Markdown Support: Rich formatted text in responses
- 🔗 Universal Compatibility: Works with all OpenAI compatible service providers
- 🚀 Blazing Fast Text Rendering: Delivers a seamless user experience
- 🤖 Automated Chat Titles: Streamlines conversations and boosts productivity
- 📋 Automated Chat Templates: Use LLM to conclude your request within conversation to chat template for later use
- 🔒 Privacy by Design: We don't collect your data
- 📱 Visual LLM Support: Advanced multimodal capabilities
- 🌐 Web Search: Integrated web search functionality
- 📎 Attachments: File and image attachment support
- 🌍 Language Localization: Multi-language support
- 💻 Offline LLM w/ MLX: Local AI model support
Authored by@Lakr233MarkdownView
A powerful pure UIKit framework for rendering Markdown documents with real-time parsing and rendering capabilities. Battle tested in FlowDown.
SwiftUIKitMarkdownReal-time RenderingMath RenderingKey Features
- 🚀 Real-time Rendering: Live Markdown parsing and rendering as you type
- 🎨 Syntax Highlighting: Beautiful code syntax highlighting with Splash
- 📊 Math Rendering: LaTeX math formula rendering with SwiftMath
- 📱 iOS Optimized: Native UIKit implementation for optimal performance
- iOS 13.0+ Support: Compatible with iOS 13.0+, Mac Catalyst 13.0+
Implementation Example
SWIFT1import MarkdownView2import MarkdownParser34let markdownTextView = MarkdownTextView()5let parser = MarkdownParser()6let result = parser.parse("# Hello World")7markdownTextView.setMarkdown(8 result.document,9 theme: .default,10 mathContent: result.mathContext11)Authored by@Lakr233ListViewKit
A modern, glitch-free UITableView replacement for Swift + UIKit.
SwiftUIKitiOSUITableViewSwift Package ManagerKey Features
- 🌀 No Glitch on contentSize Change: Instantly adapts to content size changes without any visual glitches
- 🛡️ Smooth Scrolling: User scrolling remains perfectly smooth, even during data updates
- 🔄 Live Data Refresh: Data source can be updated at any time, with immediate and safe UI refresh
- 📦 Swift Package Manager: Easy to integrate into your project using SPM
- iOS 13.0+ Support: Compatible with iOS 13.0+, macCatalyst 13.0+
Implementation Example
SWIFT1// Define your ViewModel2struct ViewModel: Identifiable, Hashable {3 var id: UUID = .init()4 var text: String = ""5 enum RowKind: Hashable {6 case text7 }8}910// Create ListView and set up Diffable Data Source11let listView = ListView(frame: .zero)12let dataSource: ListViewDiffableDataSource<ViewModel> = .init(listView: listView)1314// Apply your data15var snapshot = dataSource.snapshot()16snapshot.append(ViewModel(text: "Hello ListViewKit"))17dataSource.applySnapshot(snapshot, animatingDifferences: true)Authored by@Lakr233FlowDown Landing Page
Finally, the landing page itself, is now open sourced.
TypeScriptNext.jsTailwind CSSFrame MotionKey Features
- Modern Design: Clean and simple user interface
- Responsive Layout: Mobile and desktop friendly
- SEO Optimized: Metadata and structured data
- Dark Mode Support: Automatic theme detection
- Internationalization: Multi-language support
Authored by@inneiFlowDown Community
FlowDown Community serves as the predecessor project of FlowDown, designed to validate core functionalities' feasibility and evaluate competitive positioning within current software market offerings.
SwiftUIKitAppCommunityKey Features
- Basic Chat Functionality: Standard AI conversation capabilities
- Fast Rendering Engine (v1): Lightweight text display system
- Open Source Code: Complete access to source code
- Markdown Support: Handles formatted text (headings, lists, code, tables...)
- Simple Title: Simple title generation
Authored by@Lakr233ScrubberKit
ScrubberKit is a robust framework designed to scrape and process web content using keywords, transforming complex HTML pages into clean, plain text suitable for AI model consumption.
SwiftWeb ScrapingHTML ParsingAIKey Features
- Keyword-based web content discovery
- SwiftSoup-based HTML parsing and cleaning
- Plain text extraction optimized for AI consumption
- Cross-platform support (iOS, macOS, macCatalyst, visionOS)
- Asynchronous operations for efficient performance
- Automatically block font and media resources
Authored by@Lakr233Litext
Tiny rich-text supporting library for iOS & macOS
CoreTextTextRich TextObjective-CKey Features
- High performance text layout and rendering
- Text attachments with native view supports
- Interactable links
- Custom draw callbacks
- Auto layout integration
Authored by@unixziiAlertController
A modern, customizable alert controller implementation for iOS and macCatalyst applications.
iOSUIKitSwiftmacCatalystAlertKey Features
- Custom styled alert views with clean UI
- Support for iOS and macCatalyst platforms
- Multiple action buttons with customizable styles (normal and dangerous)
- We handles dismiss and callback for you
- Text input support with clipboard integration
- Progress indicator for loading states
- Customizable accent colors and appearance
- Smooth animations with spring effects
- Escape key and outside tap dismissal options
- Localization support
Implementation Example
SWIFT1let alert = AlertViewController(2 title: "Hello World",3 message: "This is a sample alert message"4) { context in5 context.addAction(title: "Cancel") {6 context.dispose()7 }8 context.addAction(title: "Confirm", attribute: .dangerous) {9 context.dispose {10 // Your code here after confirmation11 }12 }13}14present(alert, animated: true)ConfigurableKit
The simple but yet powerful way to build settings page.
iOSUIKitSettingsSwiftUserDefaultsKey Features
- Simple Setup: define what you want and we handle the rest.
- Ultra fast written in Swift and UIKit. (No SwiftUI)
- Rich value type support, including Codable.
- Sync your settings with UserDefaults.
- Support for customizing the storage engine other than UserDefaults.
- Support for nested values and controllers.
- Support for disabling setting element based on condition.
Implementation Example
SWIFT1ConfigurableObject(2 icon: "switch.2",3 title: "Toggle Item Below",4 explain: "Item with boolean value to be edited",5 key: "wiki.qaq.test.boolean",6 defaultValue: true,7 annotation: .boolean8)Authored by@Lakr233GlyphixTextFx
FlowDown's text animation framework. We backported SwiftUI numeric transition features to UIKit for older iOS versions
iOSUIKitAnimationText EffectsKey Features
- High-performance numeric transitions: Smooth digit scrolling and animation effects
- UIKit compatible: Designed for older iOS systems without requiring SwiftUI
- Easy integration: Simple and intuitive API interface
- Highly customizable: Supports custom animation parameters and styles
Implementation Example
SWIFT1import GlyphixTextFx2let glyphixLabel: GlyphixTextLabel = .init()3let labelConfiguration: LabelConfiguration = .init()4glyphixLabel.font = labelFont5glyphixLabel.text = "Hello World"6view.addSubview(glyphixLabel)Authored by@ktiays
© 2025 FlowDown Team. All rights reserved.