I know this is hobby project, but you might want to check
https://keybase.io/warp as reference if you plan to improve it's security.
Interesting i saw that it use scrypt and pbkdf2, I will implement that, one to generate those address and another to forcebrute them.
s1 = scrypt(key=(passphrase||0x1), salt=(salt||0x1), N=218, r=8, p=1, dkLen=32)
s2 = pbkdf2(key=(passphrase||0x2), salt=(salt||0x2), c=216, dkLen=32, prf=HMAC_SHA256)
keypair = generate_bitcoin_keypair(s1 ⊕ s2)