Hi there, guy who made this here. There's a disclaimer at the bottom of the landing page for general context, but here is the technical side of the story
I took a shot at building something in my spare time (weekends and such), while having a fully engaging full-time job. It spanned over almost 6 months, but there were weeks when I had not even a single commit.
Besides having an idea to believe in, Meteor.js was also a big part of making this happen. It's the first time I'm building anything with it, but after a few weeks of setting the tone and a few small in-house lib files, the productivity of having it all in one place became unbeatable. I could write some more about my experience with Meteor if other people are curious to try it but never had the chance.
Meteor wasn't the only productivity booster though, I used as many out-of-the box services and technologies as possible. Not to mention organizing yourself as if you were in a team is a key ingredient in keeping a project together for so long with so many breaks. I used a private Github repo, but using Bitbucket or other similar tools is just as well
Technologies
- Meteor.js
- CoffeeScript (If you don't hate it you will eventually learn to use it to your advantage)
- Bootstrap (It helped a lot, but I would drop it completely by the time the app could be considered out of the "MVP" state)
- Underscore + Backbone Router (Models wouldn't fit with Meteor, I made something lighter by hand)
- CSS3 (Go for it)
Services
- Rackspace VPS for hosting
- MongoHQ for data storage
- Filepicker.io for image upload and processing
- Mixpanel for stats
Code
- 2068 lines of CoffeeScript (Including comments!)
- 927 lines of LESS CSS (Here too, including comments---Yes,
I add comments to CSS)
- 583 lines of Handlebars HTML
- 73 lines of Bash scripts
Project
- 403 Git commits
- 35 closed Github issues (the ones that made it through the
"MVP" milestone)
That's awesome, congrats on getting something done and out there. One of my New Year's resolutions is to do the same thing. Previously I would jump from project to project, ready to learn something as soon as I figured out the basics of the previous project. It resulted in learning a little bit of a lot of different things, but never anything close to a real project.
Now I have been working for 3-4 months on one project consistently evenings and weekends, and just like you sometimes I let it go for a week or two without a commit. I think the trick is to just keep coming back, even if it's a small commit to get the ball rolling again, and bit by bit you'll be getting closer and closer to a "finished" project.
I haven't checked out Meteor since it was first announced, do you still have to wrap packages in their specific wrapper? Is that a problem or hindrance in any way? I see you're using a lot of other stuff with it, so it must not be that big of an issue if that's how it still works.
As for the product itself, it looks nice. At first glance, I feel like I might use it as more of a blog than a specific CV. Maybe not a "blog", per say, but something where I could put some basic info and tidbits about myself as a personal landing page. Which perhaps is what the new CV is after all...
I should write something more elaborate, but for the sake of not leaving your comment hanging, this is what I can highlight out the back of my head:
- The best thing by far is sharing the same code for both client and server. It is as good as it sounds, at least as far as productivity and having a small codebase goes
- Everybody is worried about security, but they got it covered. For each collection you can filer who can publish/insert/update or delete. Each go through a filter you attach a callback to, where you have the userId at hand and can easily only allow the owner of a document to be able to update or delete it. Or just as easy publish (for read) only the documents that a user owns, for all regular users, and publish all of them for an admin user.
- It takes a while to create an organized structure though, there is a loading order for certain folder names, but basically everything that is in your project will be loaded in the project asynchronously, w/out having any control on the order. This makes it painful when dealing with inheritance, but in the end you get around it using the folder order of loading they provide and using the Meteor.startup callback, where you can assume all files have loaded
- Another thing that I found a bit counter intuitive at first is that everything is template oriented. Usually you have a module of some sort, which loads a template. Here you have a template, which has _code_ attached to it. It's very easy to go the spaghetti-code no-framework JavaScript way. But if you like having control and are able to create a scalable pattern for modules/widgets, it becomes a very powerful tool
Awesome experience on my iPhone that by really speedy. I am using Meteor too. I have questions, did you used Meteorite in this project? And Why choose?
Honestly I had to move so fast because it was a side thing and I was doing everything top-bottom (including design) and I might have missed a few things. Haven't even got to test Meteorite. Have you? If so, let me know what you think of it
is this a paid service? Is this open source? I see no mention of either.
I also see no place to report issues. (right arrow moves you backwards in the presentation instead of forwards, left arrow is similarly reversed. This would only be sensible in right to left reading countries.
Sorry for the ambiguity, but there's a disclaimer at the bottom of the landing page:
> If enough users submit to this, I might eventually seek profit through a side product or feature, in order to create a sustainable environment. That being said, everything that is already offered (and probably more) will always be free. Also, ads will never be an option.
This as well:
> Feel free to reach at contact at aufond.me
The logic behind the navigation was that left means back, so you go back in time. Because the timeline starts with the present and goes in the past. But I can see your point as well, I'll go through this with more people and decide which way is more natural. Thanks
I like it, it would make a great "about" page for someone's blog.
I'm not sure that it really works as a resume though (at least in my small part of the world which is finance in London). Where I am recruitment is dominated be recruiters, and the majority of them need a CV that they can change into their format (word) and send over to their client.
I'm also interested to know what meteor specifically brought to this, did you need the real time features of meteor in some way or is it just that you wanted to try it out?
Interesting perspective, you're not the first to mention that even though you like it, you don't necesserily see it as a CV. That's why I posted early, to validate the idea and direction. It's a common thing to pivot the market with the same product, after getting feedback from potential users. I'll certaintly think about this some more, thanks!
This is not your typical Meteor project. Almost everything is realtime, but because that's how Meteor works, not because it was a requirement. So yes, mostly I just wanted to try it out. But I can can confirm it can also be used as your everyday web framework, not just for chat servers or what one might imagine it was made for
Not an actual paratrooper, that would've been cool!
It's nice looking, but I question its usefulness as a replacement for an online resume. Recruiters have notoriously short attention spans and I doubt many would actually click through to the details on the highlights. That said, as sort of personal home page ala about.me, I think it has potential.
My objection is what's in this for me? How is this better than writing a CV? Try something like "Stand out from the hundreds of people applying for your next dream job by telling an authentic story with aufond.me"
I think I see what you mean, that the benefits should be more clear and more reward-oriented, that it should state what it does for you, instead of just what it does. (period)
Thanks for the insight, trying to make a product or app appealing is something I'm just learning
I tend to agree that this probably serves better as an "about me" replacement for someone's own site. I wonder if there's a way to have it generate it as static HTML (cleverly bundling styles too--at worse in an inline <style> tag) that you can then drop into your site? Or, go the embed route so that your service is still in the loop.
I think you might get more friction with the latter approach though. I suggest the former (generate static HTML to drop into any site) that possibly has a subtle footnote with something like "timeline created with aufond.me"
If you need any help with the static HTML generation with Meteor, I'll gladly lend a hand. It's not rocket science of course, but if you want to save time, I can share code snippets. I hang out in #meteor on IRC as matb33
I took a shot at building something in my spare time (weekends and such), while having a fully engaging full-time job. It spanned over almost 6 months, but there were weeks when I had not even a single commit.
Besides having an idea to believe in, Meteor.js was also a big part of making this happen. It's the first time I'm building anything with it, but after a few weeks of setting the tone and a few small in-house lib files, the productivity of having it all in one place became unbeatable. I could write some more about my experience with Meteor if other people are curious to try it but never had the chance.
Meteor wasn't the only productivity booster though, I used as many out-of-the box services and technologies as possible. Not to mention organizing yourself as if you were in a team is a key ingredient in keeping a project together for so long with so many breaks. I used a private Github repo, but using Bitbucket or other similar tools is just as well
Technologies
- Meteor.js
- CoffeeScript (If you don't hate it you will eventually learn to use it to your advantage)
- Bootstrap (It helped a lot, but I would drop it completely by the time the app could be considered out of the "MVP" state)
- Underscore + Backbone Router (Models wouldn't fit with Meteor, I made something lighter by hand)
- CSS3 (Go for it)
Services
- Rackspace VPS for hosting
- MongoHQ for data storage
- Filepicker.io for image upload and processing
- Mixpanel for stats
Code
- 2068 lines of CoffeeScript (Including comments!)
- 927 lines of LESS CSS (Here too, including comments---Yes, I add comments to CSS)
- 583 lines of Handlebars HTML
- 73 lines of Bash scripts
Project
- 403 Git commits
- 35 closed Github issues (the ones that made it through the "MVP" milestone)