diff --git a/control/trajectory_follower_nodes/design/simple_trajectory_follower-design.md b/control/trajectory_follower_nodes/design/simple_trajectory_follower-design.md
new file mode 100644
index 0000000000000..24ffe3166bbe4
--- /dev/null
+++ b/control/trajectory_follower_nodes/design/simple_trajectory_follower-design.md
@@ -0,0 +1,24 @@
+# Simple Trajectory Follower
+
+## Purpose
+
+Provide a base trajectory follower code that is simple and flexible to use. This node calculates control command based on a reference trajectory and an ego vehicle kinematics.
+
+## Design
+
+### Inputs / Outputs
+
+Inputs
+
+- `input/reference_trajectory` [autoware_auto_planning_msgs::msg::Trajectory] : reference trajectory to follow.
+- `input/current_kinematic_state` [nav_msgs::msg::Odometry] : current state of the vehicle (position, velocity, etc).
+- Output
+- `output/control_cmd` [autoware_auto_control_msgs::msg::AckermannControlCommand] : generated control command.
+
+### Parameters
+
+| Name | Type | Description | Default value |
+| :---------------------- | :---- | :----------------------------------------------------------------------------------------------------------------- | :------------ |
+| use_external_target_vel | bool | use external target velocity defined by parameter when true, else follow the velocity on target trajectory points. | false |
+| external_target_vel | float | target velocity used when `use_external_target_vel` is true. | 0.0 |
+| lateral_deviation | float | target lateral deviation when following. | 0.0 |
diff --git a/control/trajectory_follower_nodes/launch/simple_trajectory_follower.launch.xml b/control/trajectory_follower_nodes/launch/simple_trajectory_follower.launch.xml
index 041ac91c42830..f74fa994086b2 100644
--- a/control/trajectory_follower_nodes/launch/simple_trajectory_follower.launch.xml
+++ b/control/trajectory_follower_nodes/launch/simple_trajectory_follower.launch.xml
@@ -11,6 +11,6 @@
-
+