Arduino code untested but compiles. Uses FastLed and 3 buttons. This is not for ESP8266-01 but should work with Uno, Mega, Nano, etc.
Code:
#include <FastLED.h>

// How many leds are in the strip?
const int NUM_LEDS = 100;

// Data pin that led data will be written out over
const int DATA_PIN = 3;
const int BUTTON_PIN_1 = 4;     // pushbutton pin #1
const int BUTTON_PIN_2 = 5;     // pushbutton pin #2
const int BUTTON_PIN_3 = 6;     // pushbutton pin #3

int buttonState = 0;          // is button pushed?
CRGB leds[NUM_LEDS];          // This is an array of leds

void setup() {
  // sanity check delay - allows reprogramming if accidently blowing power w/leds
  delay(2000);
  FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
  // initialize the pushbutton pins as an input:
  pinMode(BUTTON_PIN_1, INPUT);
  pinMode(BUTTON_PIN_2, INPUT);
  pinMode(BUTTON_PIN_3, INPUT);
}

// This function runs over and over, and is where you do the magic to light
// your leds.
void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(BUTTON_PIN_1);
  if (buttonState == HIGH) {
    // turn LED 1 blue
    leds[0] = CRGB::Blue;
  } else {
    leds[0] = CRGB::Black;
  }
  buttonState = digitalRead(BUTTON_PIN_2);
  if (buttonState == HIGH) {
    // turn LED 15 red
    leds[14] = CRGB::Red;
  } else {
    leds[14] = CRGB::Black;
  }

  buttonState = digitalRead(BUTTON_PIN_3);
  if (buttonState == HIGH) {
    // turn LED 46 green
    leds[45] = CRGB::Green;
  } else {
    leds[45] = CRGB::Black;
  }
  FastLED.show();

  // Wait a little bit
  delay(50);

}