14
votes
Web Developers! What personal projects have you made, and are proud of?
Time for some inspiration. I've been working on a few SaaS applications for the past 2-3 months, and have only really got into it full time recently, and I'm totally in code-mode now, so I thought I'd ask to see what other people have created in either their spare time, or to earn some money.
Link your app/tool/product/service! What tools, frameworks, or services did you build it with? What does it accomplish? How did you express your creativity while working on it? What's next for what you're creating?
I'm not a developer, but I somehow end up finding myself developing things more often than I'd like. At the start of the year I had a roommate who was a Data Scientist, who happened to do a lot of Google Analytics/Adwords work to pay the bills. He asked me to build him a webapp, and needing money, I said hey, why not.
The site I built is https://analyzemy.site. It basically asks your Adwords account, scrapes all the data from your marketing campaigns over the past 3 months, performs 40 or so different analyses on it using machine learning and other buzzwordy stuff, and spits out a report on how you can improve your ads. It's basically meant to tell you your marketing sucks, and here's why. It's meant as a lead generation tool to convince people they need to use you to fix their adwords account. It's available as a white-label service where you pay a monthly fee and you can have your own logo, brand name, and contact form on it, you create a subdomain like freeadwordscheck.yourdomain.com and it says "powered by analyzemy.site"
Anyway, my roommate and I created the whole thing from scratch, by hand. I did all the backend and frontend stuff, he did all the crunching of data. It's based off of wordpress, mostly just because I didn't want to deal with passwords and user management, and when we started out he was planning on having a blog. Most of the backend google api stuff is handled through PHP, because wordpress. The number crunching is done in python. All of the actual statistical analysis was done by my roommate, but I had to deal with outputting it as json, fetching it via ajax, and doing something with it in js. I used jQuery for ajax and selecting elements, mostly because I was lazy and it was already being used by wordpress.
So, here's what a report looks like. If you were pulling this from an Adwords account rather than it being cached like this, there'd be a 20 second delay while it fetches hundreds of MB of data and processes it with sklearn and some other ML stuff I don't understand. It'd show a cool processing graph as it sends sends 15 queries simultaneously, launching dozens of threads. I learned a lot from this, and in the end I was pretty happy with how performant I managed to get things.
It's been the better part of a year since I've looked at it, and he's been playing around with it since then, so I claim absolutely no responsibility for the weird CSS issues like the logo being offset. That said, I did write the whole thing by hand in notepad++ and ended up using some janky hacks near the end, so some things might actually be my fault.
Wow, that's quite clever—cool to see a project with more than one creator! Do you still get many signups, if you're not actively marketing the site, or are you content to chill at where the project is currently?
Dunno. I think he only got one or two signups for the white-label service. When he started out he had really high aspirations for it, really expected it would take off, but by the end of it we were both pretty burnt out. It was his baby, and he was the one who was meant to market it. I had a stake in it, but due to financial circumstances I ended up selling it back to him for a pittance, and I haven't been involved in the site since.
It's still the most "complete" thing I've ever developed, such as it is, so I'm kinda proud of it.
Edit: You said "personal projects" and I posted what sounds like a normal paid job. I'd like to clarify. This started off as every other app pitch you get from a friend or roommate. At first, for the first time ever, I bought into it. I drank the kool-aid, and got just as excited as my roommate about it. I was fully expecting we'd get a bunch of customers, and I'd get some kind of recurring revenue out of it. By the middle of it though, I realized I was slaving away for something I'd never see any money out of. It's the last stretch where it became a personal project for me. I wanted to see it through, and make something that actually worked. I put a lot of blood sweat and tears into it at the end, and it became my white whale. The only use I have for it now is maybe putting it on a resume, but I never wanted to become a web developer anyway, so it's not even much good for that. The only reason I kept going and finished the thing is because I wanted to see it through, I wanted to make an actual finished object that looks like a serious professional thing. Not even sure I accomplished that, but in the end, this was the biggest personal project I've ever taken on.
I've mentioned it before I'm working on a link aggregator similar to tildes, only it's not meant to be a single insular service but federate between multiple instances using ActivityPub, the protocol behind Mastodon and Pleroma.
You can find the pre-alpha version at https://littr.me and the code on github.
It's not finished yet, the main missing part is exactly that federation thing, but currently you can get a similar experience to tildes: submit links, comment on them, like them. And it's already working pretty well, albeit on very a small scale.
The main difference from tildes is mostly philosophical: I believe that in the long run having multiple domains of interest on the same instance is a mistake, that leads to inflated user numbers and a dilluted community. That's why littr.me replaces the concept of "topics" with the fact that every instance represents a "topic" and a user that is interested in more than one topic, can use their main account to contribute to any number of these instances using the federated aspect of ActivityPub.
This ensures that the communities remain small but the reach remains wide enough.
This small project (at least by functionality) is actually the result of two years of work and iteration over a generic ActivityPub library, generic ActivityPub server and the actual web frontend which is the site. I'm not finished yet, but this next year I will definitely have a federated version up and running, and it's going to be glorious.