

Show HN: aufond.me — a résumé for the modern age [Meteor.js MVP] - paratrooper
http://aufond.me

======
paratrooper
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)

~~~
ccan
"I could write some more about my experience with Meteor if other people are
curious to try it but never had the chance."

Can you please give some more details about your experience with meteor? What
makes it stand out among other frameworks? What are the pros and cons?

~~~
paratrooper
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

------
boothead
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?

It looks awesome though, really great work!

P.S. Are you really a paratrooper?

~~~
paratrooper
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!

------
codva
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.

------
mfieldhouse
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"

~~~
paratrooper
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

------
matb33
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"

~~~
paratrooper
The static HTML idea is awesome! After all, the same timeline used now was a
static template I made for me a while back, so that's how it started :)

This somehow fits into the "Offline exporting options" question from the
landing page Quiz. Can't wait to extract stats from it!

~~~
matb33
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

------
_progger_
... and other geeks. Recruiters and managers want something black and white,
un-styled and printable. Good as a personal project for actual CV though.

------
hatsix
Down for me. :-(

~~~
paratrooper
Damn, it's timing out for me as well. I'll restart it immediately and stretch
the Rackspace instance if won't take long. Sorry

------
hackmiester
You might consider making the Font Awesome link open in a new window. I just
smashed the thing I was creating.

~~~
paratrooper
Ouch, sorry for that --- CTRL/CMD + CLICK ftw :)

