loading...
Cover image for Day 1: Making a swift macOS password manager for people who hate the cloud

Day 1: Making a swift macOS password manager for people who hate the cloud

swlkr profile image Sean Walker ・2 min read

I'm making a native macOS password manager for old grumpy people who hate the cloud this month and I'm going to blog about my progress every day. Let's get started.


That's me

Features

I should probably lay out the features and things because I'm a great planner and I'm really organized too? So that's good. Features:

  • one password to rule them all
  • swift + xcode + macos only, no js, no electron, no v8, no google, no chrome, no unnecessary battery drain-age, upvotes on hacker news
  • no clouds, no servers, all clients!
  • OPEN SOURCE because i love making things in my spare time for free!
  • $29 one time/lifetime through app store and on website because i love making things in my spare time for $$ and there's really no better way to give 1password the finger than to stop your subscription and give ME your hard earned cash instead!

BONUS FEATURES

  • ios app (in a month, what am I some kind of swift superhero? yeah right)
  • sync to ios over LAN or bluetooth in the background or on demand somehow? <--- not sure if the bluetooth syncing is possible

What I did today

It's day one (just like at amazon!) everybody, so what have I done today?

  • I woke up, drank one cup of coffee, got the beans out for another grind
  • made a new project in Xcode
  • reviewed the new Apple developer terms of service or agreement or something on developer.apple.com

...and that's all I did today so far, it's 12:09 pm now, definitely making great progress. Cool, tune in tomorrow for more. No I'm kidding, let's keep going.

Making a screen with a text field

Now that I've actually opened Xcode and started a new swift... ahem Cocoa project, there's nothing quite like a blank canvas for which to hack and paint on or something. Alright, first step, create a super ugly screen with one textfield representing the single password:

allyourpasswords v0

Of course now that I've done this it makes no sense, because I have to set up a password first and store it in sqlite. It's great being me. I just spent most of my time today trying to get a password field to have larger text, this is the thing Apple makes difficult... great. No wonder people use electron.

Tune in tomorrow, same Sean time, same Sean place for getting the setup page working!

Posted on by:

swlkr profile

Sean Walker

@swlkr

Takes hikes πŸ” Makes sites πŸ‘¨β€πŸ’»

Discussion

markdown guide
 

Hi Sean, good luck with your adventure. I recently switched from LastPass to Bitwarden ✌🏾

If you don't mind me asking: why cloud-less? Is it about trust?

ps. you might have to disable dark mode down the line to develop a gui, it might affect your choice of palette for the apps. Most people use the default mode

 

It's about trust yeah, plus why use cloud syncing when you don't need it?

Good tip about the dark mode thing, I'm definitely in the minority there

 

The advantage of the cloud syncing is that you don't have to do anything and your account is synced on all devices you have your app on. Bluetooth requires the user to initiate the connection. You can't imagine how many times I just put stuff on Dropbox, go out and then access it from my phone.

✌🏾

Totally get that, and there are a lot of password managers, I can think of 5 off the top of my head, that sync over the cloud.

It's just not for me… I probably represent a crazy small niche (old grumpy programmers that would rather sync their passwords locally).

ahhaha that's perfectly valid! I just wanted to know why, you've answered quite comprehensively.

Go be that old grumpy programmer, occupying a niche is a great strategy ;-)

Good luck for your project!

 

Um, #YAS I love this!! Also, I'm really digging your article format.

 

Hey thanks πŸ™ I keep experimenting everyday, I think I hit on a really cool format today though

 

It's a nice project, and good for you to make something yourself; KeePass has all of the features you list. (Go look for KeePassXC though, it's much better). The mobile apps are community though.