diff --git a/aiken.html.markdown b/aiken.html.markdown
new file mode 100644
index 00000000..98f6c344
--- /dev/null
+++ b/aiken.html.markdown
@@ -0,0 +1,134 @@
+---
+language: Aiken
+contributors:
+ - ["Riley-Kilgore", "http://github.com/Riley-Kilgore"]
+filename: learnaiken.ak
+---
+
+Aiken is a programming language designed specifically for writing smart contracts on the Cardano blockchain. It compiles to Untyped Plutus Lambda Calculus (UPLC), which evaluates on the Cardano-Node.
+
+The language includes features tailored for blockchain operations and smart contract development. These include built-in functions based on what's available in UPLC, with upcoming additions like BLS12-381 curve primitives.
+
+Aiken comes with a standard library and prelude that are particularly useful for creating Cardano smart contracts. The language supports various programming constructs such as functions, validators, pattern matching, and algebraic data types.
+
+Aiken accomodates to developer experience with innovations like CIP-57 (Blueprints) having been implemented. This allows developers to write less code to build transactions that are compliant with their validators.
+
+As a relatively new language, Aiken is evolving to meet the needs of the Cardano ecosystem. Its development is guided by the requirements of smart contract creation on the Cardano Blockchain.
+
+```aiken
+//// Basic Syntax and Structure
+
+// Comments in Aiken start with '//'
+// Module-level comments use '////'
+// Documentation comments use '///'
+//// This is a module-level comment
+/// This is a documentation comment
+
+// Constants are defined using 'const'
+const my_constant: Int = 42
+
+// Functions are defined using 'fn'
+fn add(a: Int, b: Int) -> Int {
+ a + b
+}
+
+// Public functions are marked with 'pub'
+pub fn public_function(x: Int) -> Int {
+ x * 2
+}
+
+//// Data Types
+
+// Aiken has several built-in types:
+const my_int: Int = 10
+const my_string: String = @"Hello, Aiken!"
+const my_bool: Bool = True
+
+// Lists
+const my_list: List = [1, 2, 3, 4, 5]
+
+// Tuples
+const my_tuple: (Int, String) = (1, @"one")
+
+// Custom types can be defined using 'type'
+type RGB {
+ red: Int,
+ green: Int,
+ blue: Int,
+}
+
+// Enums are also supported
+pub type Option {
+ Some(a)
+ None
+}
+
+// Validators are special functions in Aiken for smart contracts
+validator {
+ fn spend(datum: Data, redeemer: Data, context: Data) -> Bool {
+ // Smart contract logic goes here
+ True
+ }
+}
+
+//// Control Flow
+
+// If expressions
+fn abs(x: Int) -> Int {
+ if x < 0 {
+ -x
+ } else {
+ x
+ }
+}
+
+// When expressions (pattern matching)
+fn describe_list(list: List) -> String {
+ when list is {
+ [] -> @"The list is empty"
+ [x] -> @"The list has one element"
+ [x, y, ..] -> @"The list has multiple elements"
+ }
+}
+
+// Trace for debugging
+fn debug_function(x: Int) -> Int {
+ trace @"We can trace using this syntax."
+ (x * 2 < 10)? // This will trace if false.
+}
+
+//// Modules and Imports
+
+// Importing modules
+use aiken/list
+
+// Using imported functions
+fn use_imports() {
+ let numbers = [1, 2, 3, 4, 5]
+ list.at(2) // evaluates to 3
+}
+
+//// Testing
+
+// Tests are defined using the 'test' keyword
+test positive_add() {
+ let result = add(2, 3)
+ result == 5
+}
+
+// Byte arrays
+const my_bytes: ByteArray = #[01, 02, 03, 04]
+const my_bytes_2: ByteArray = #"1234"
+
+// Todo for unfinished code
+fn unfinished_function() {
+ todo
+}
+```
+
+## Further reading
+
+The [Aiken Documentation](https://aiken-lang.org/installation-instructions) serves as a great place to get started with not only a comprehensive view of Aiken, but also other resources for getting started in development on the Cardano Blockchain.
+
+You can also try out features of Aiken with an online compiler at the official
+[Aiken Playground](https://play.aiken-lang.org) or on the main [Aiken website](http://aiken-lang.org).
\ No newline at end of file