I am trying to make a speller with BCI using EEG (SSVEP or P300, whichever is easier). I would be really grateful if someone could give me a plan of action so as to where do I get started and what skills or tools I might require. As for now, I have access to a cognitive neuroscience lab and EEG. Thanks.
Yeah this is a very common and effective approach. Try doing a google search for: P300 speller github for some implementations. One issue that you should pay attention to is the limited refresh rate of computer monitors. You are going to want very accurate synchronization between what is shown on a monitor and the EEG being recorded. You'll want to use some type of framework that allows for this synchronization such as PsychoPy (for Python) or Psychtoolbox (for Matlab).
First step, in my opinion, is to look at some examples that have already been implemented:
Try one or a few of these out and see if you can get something that has already been made working. Then you'll be in a much better position to implement your own speller.