Mostly Lora training not full finetunes. Eval for image gen is esp. hard because if you look at AI generated images of someone for too long you can start to miss which one looks more similar, even with your own images.
And yes model training is available on the site, the serverless pipeline itself was easy, making it fast(less than an hour) and have the most similarity while being flexible enough for a general user was the hard part.
Thanks a lot for the reply, that does answer my questions.
As a follow-up, I think I have something that could potentially help you,
especially for the evaluation part. We have an API that can allow you to really quickly get feedback and preference data for images. For example whether one image is better than another based on a criteria. You can try it out via our UI at https://app.rapidata.ai/compare or read more about the API capabilities at https://docs.rapidata.ai. Do you think this is something that could be useful to you? I am happy to have a chat to talk more in detail. Feel free to hit me up, my email is in my profile.
I mean if you're looking for a todo list, travelling to third world countries and tipping just like $5 for normal service and seeing people's eyes light up is fun.
I did this once in a restaurant in a small town in Mexico. I called one of the service people (not even a waiter, this was a casual joint where you order at the counter), slipped them $100, and watched their face light up. it was cool.
Location: Slovakia, EU. OK with working in US timezones Technologies: Python, Django, NextJS, AWS, Docker Experience with platforms like AWS, Azure, Hetzner, Runpod
In addition: Worked with frontend technologies such as Nextjs, React, Zustand, Mantine, Material UI, Tailwind
Email: mesmerpercy@gmail.com
Resume/CV: DM/Email
Some extra info: 6 years of experience as a fullstack dev with Django + React/NextJS. I've built and run a site that receives ~20 mill pageviews per month(private, can showcase on interview if needed). Currently interested in generative AI, and I have experience creating serverless pipelines for GPU tasks to reduce costs instead of using something like Replicate, huggingface etc. Recent public examples of my work:
https://aieasypic.com/ (800k views per month, 4k+ MRR)- Built my own serverless api for the dreambooth training and AI image inference to reduce costs. Also uses 4 of my own 4090s in my basement
Where are you? I'm in Poland and I just disabled it both on phone and tablet - the setting switcher is "conveniently" placed at the bottom of Photos settings page
Its basically H100 speeds with 4090, 4.80it/s. 1.1 sec for flux schenll(4 steps) and 5.5 seconds for flux dev(25 steps). Compared to normal speeds(comfyui fp8 with "--fast" optimization") which is 3 seconds for schnell and 11.5 seconds for dev
The compute differential between an H100 and a 4090 is not huge. The main single GPU benefits are larger memory (and thus memory bandwidth) and native fp8. But these matter less for diffusion models.
Providers use h100 because using 4090 in DCs is grey area, since Nvidia doesn't permit it.
Paper discussing here is using 4 bit compute, which is 4x on 4090 in comparison with bf16 compute, while h100 doesn't have this at all (i.e. best you can get is 2x compute with fp8). So this paper will even out difference between those two to some extent. If to judge by theoretical numbers - H100 has 1979 TFLOPs fp8 compute, and 4090 has 1321 TOPS. Which puts it around ~65% of performance. Given the price of it ~$2K compared to H100s ~$30K this seems like a very good deal.
nunchaku/third_party/spdlog/include/spdlog/common.h(144): error: namespace "std" has no member "function"
using err_handler = std::function<void(const std::string &err_msg)>;
^
Yea its a pain, I'm trying to make an api endpoint for a website I own, and working on a docker image. This is what I have for now that "just" works:
the conda always yes thing makes sure that you can just paste the script and it all works instead of having to press "y" for each install. Also if you don't feel like installing a wheel from random person on the internet, replace that step with "pip install -e ." as the repo suggests. I compiled that one with cuda 12.4 cause that was the part takes the most time and is what most often seems to be breaking.
Also I'm not sure if this will work on Fedora, I tried this on a runpod machine with 4090(apparently it only works on few cards, 3090, 4090, a100 etc) with Cuda 12.4 on host machine and "runpod/pytorch:2.4.0-py3.11-cuda12.4.1-devel-ubuntu22.04" this image as base.
[2024-11-09 19:33:55.214] [info] Initializing QuantizedFluxModel
[2024-11-09 19:33:55.359] [info] Loading weights from ~/.cache/huggingface/hub/models--mit-han-lab--svdquant-models/snapshots/d2a46e82a378ec70e3329a2219ac4331a444a999/svdq-int4-flux.1-schnell.safetensors
[2024-11-09 19:34:01.432] [warning] Unable to pin memory: invalid argument
[2024-11-09 19:34:02.143] [info] Done.
terminate called after throwing an instance of 'CUDAError'
what(): CUDA error: pointer does not correspond to a registered memory region (at /nunchaku/src/Serialization.cpp:32)
prolly make sure your host machine cuda is also 12.4 and if not, update the other cuda versions I have on the pastebin to the one you have. I don't think it works with cuda 11.8 tho, remember trying it once
but yea, can't help you outside of runpod, I haven't even tried this on my home PCs yet. for my usecase of serverless API, it seems to work
What aspects of this codebase do you consider to be exemplary? I'm not familiar-enough with some of the libraries to offer a meaningful critique at a glance, but I'm also not seeing any tests.
> But man, as a business owner in EU, this would just make me not want to build an AI startup in EU
Like, purely on the basis that MS might not be allowed to take you over?
TBH I'd assume the FTC would at least be asking questions here, too. EC and FTC thinking on competition is generally not all _that_ different, but the EC tends to be quicker to act these days (this was not always the case; the FTC was very much out in front on Intel and Internet Explorer back in the day).
You don't own what you can't sell. Any asset value will be massively reduced if its untransferable.
Mistral isn't exactly some decade-long state funded national champion. Its a 1 year old startup whose core staff all come from American tech companies. With 0 revenue and minimal market share, there's like no conceivable metric in traditional antitrust theory to block this. Yet the EU prevents it from taking foreign investment all the same.
Look at TSMC in comparison. It IS the national champion of Taiwan, yet its majority foreign owned, doesn't stop it from underpinning the Taiwan economy and spawning massive ecosystems in its local areas.. Taiwan's government understands its place in the international economy, so prefers to cooperate and trust its international partners.
You would have an anti-trust problem if somebody went out and bought all of the promising AI startups.
So at what point in their buying spree do you cut them off? Do you wait until they've bought 90% of AI startups? 50%? Does it matter if there are 4 AI startups or 40?
The problem here is that, if you can see the adverse effects on the public, you're too late. So you need to anticipate them. That's not an easy thing to do.
It's not illegal to be a monopoly[0] (at least in the US) but abusing your monopoly is what gets you in trouble. Copyright and patents are examples of gov't granted monopolies.
[0] Fully conceding the fact that MS is a convicted monopolist and has to play by different rules than everyone else.
I mean, they're looking into the situation where MS keeps ~taking over AI startups. I'd be quite surprised if the FTC is not at some level also looking into this. Like, it would be weird if they weren't! At this point, no-one's telling MS it's not allowed to do this, but it would be strange if no-one was taking note of it.
They can't defend their own backyard, refuses to pay for their 2%, and free-rides off of US protection.
They tried to court China as their partner, only to now face a flood of Chinese car imports that outcompete their once prided industries.
They seem to only care about national security when it comes to fleecing US companies, rather than say defending against Russia, or strategizing against China.
> They seem to only care about national security when it comes to fleecing US companies
Stop with that nonsense. Every single country that imports American goods has regulations on how it is imported. Your expectations are misaligned if you think the concept of a Free Market extends to other countries carte-blanche. Not even the United States can stop itself from regulating it's own businesses, and usually it's for the better.
These comments pop-up all the time but never have a reasonable alternative to suggest. This is what governance looks like; I'm sorry if you're offended on Apple or Microsoft's behalf.
Maybe ally/enemy is a spectrum and also not one-dimensional. "Not ally" does not imply enemy and my military ally might not be my ally in trade. Also most US allies have learned to not read too much into the word ally. The US makes for a rather fickle and sometimes insidious partner.
Trust in the US on military matters is rather high (despite some recent blunders), but in every other arena it is basically nonexistent. I don't see why the US should receive any less scrutiny than China in this instance.
I’d add that as long as NATO was uncontroversial in American politics, allies could count on being able to work with each successive president, regardless of party, which definitely did help. There was the occasional bickering (like the French being vocal in their opposition to the war in Iraq), but nothing that would compromise the alliance in the long run. Things like “friendly” intelligence gathering, or indeed trade disputes, never stopped, but did not preclude cooperation at the highest levels.
In that context, it’s fine to argue every now and then because everyone knows that neither side is likely to escalate things out of control. As you said, it did not affect trust in the fundamentals.
>until they elect a president that throws allies under the bus (I.e. NATO, NAFTA, etc)
Based on recent news, Trump has done more for NATO rearmament than any US president in history. Gee, maybe sometimes drastic steps are needed when 20 years of three other presidents doing everything but stand on their heads while begging other NATO members to spend more on their own defense failed.
And remember, Trump isn't even in office now; he's already done more for Western collective defense than a) the putative current president and b) an actual land war in Europe!
>and gives state secrets to enemies
Repeat this often enough and maybe it'll come true one day!
No. As I said, not even an actual land war in Europe has been as effective as Trump's mean words in getting Western Europe to actually get off their butts regarding defense.
You said that, but it does not make it true. Trump rocked the boat but did fuck all.
The truth is that for many European countries military defence is was a bit of an abstract concept, with no real enemy nearby and no really interventionist foreign policies. Letting NATO rot was not a big problem in that context. What changed everything was when an enemy willing to use its military in a war in Europe materialised.
> not even an actual land war in Europe has been as effective as Trump's mean words in getting Western Europe to actually get off their butts regarding defense
Putin and Trump appeared to have played similar roles in increasing European defence spending, with Putin beating out Trump (but not by much).
Let's look at Ex-US NATO defence expenditure as a fraction of GDP from 2017 to 2020 in comparison with 2014 to 2016 [1]. On average it rose +13 bps, 1.43% to 1.56%, (p = 0.09, unpaired t-test). Not statisfically significant. Same for '17 to '20 versus '21 to '23: +12 bps, 1.56% to 1.69% (p = 0.13).
Looking broader, '14 to '16 versus '17 to '23, we get +18.6 bps (p = 0.02) for Trump. Significant! But if we do the same for Putin, '14 to '20 versus '21 to '23, we get +18.1 bps (p = 0.02). Also significant! (And uncannily similar.)
Seeing the above, I get why there is an impasse. The data support an insignificant conclusion for giving the entire effect to Trump or Putin with low confidence. They more significantly support giving half the effect to each. Given we're "crediting" (in the high-confidence analysis) '21 to '23 to both, and Putin's effects have manifested over just 2 years, that makes the claim that Trump did more to boost ex-US NATO defence spending than Putin technically incorrect. But only technically.
(Would note that a t-test for such data isn't really correct, so would take the above as casual calculations.)
… for now. Trump is very much antagonistic and has a good shot ant being the next president. Even if he is not, considering current American politics, whoever gets elected in 2028 could very well be worse than him in terms of working with allies. Recent history taught us to not take some things for granted.
> If a Chinese company with massive government contracts had invested in OpenAI there is no way that the US would not start an investigation
Sure, but if a European did we wouldn't.
So if you start in America, you can access both continents. If you start in China, you can access Europe and Asia. If you start in Europe, you're limited to one.
Granted, this is just a proble. But if it amounts to something, it's an asymmetrically chilling move.
> the US explicitly restricts investment in Chinese AI companies now
Congress seeks to curb it but doesn't in practice. That may change. In any case, I was discounting access to American capital market for Chinese AI start-ups: they can tap both China and Europe.
Time will be the ultimate judge but Mistral's Co-founder/CEO is still committing to be a leading provider of open weight models [1]:
> Clarifying a couple of things since we’re reading creative interpretations of our latest announcements:
- We’re still committed to leading open-weight models! We ask for a little patience, 1.5k H100s only got us that far.
- We have a reselling agreement with Microsoft, that we’re very excited about. Alongside similar partnerships, it will accelerate our growth.
- Microsoft invested in a small convertible note alongside many other companies, as a distribution partner. We are an independent European company with global ambitions, that part is not changing either.
> We’re seeing some interest for Le Chat and Mistral Large, on both la Plateforme and Azure, and we’ll be iterating fast!
Statements like these are only a momentary snapshot. As soon as sufficiently money is at stake the board might change their tune overnight. The whole Altman-fired-from-OpenAI-then-reinstated drama should be warning enough.
In my opinion, Altman's permanent departure would have been the death of OpenAI. After the majority of the staff threatened their resignation from OpenAI, Altman became the one holding all the leverage. I'd rather guess that OpenAI's board made him a once-in-a-lifetime offer to persuade him to come back.
The current lack of anti-monopoly enforcement and corporate oversight in the US is a race to the bottom. Should the rest of the world compete by letting corporations run amok, acquire all competition and build monopolies? Or should they try to regulate, but risk driving away founders for whom the American legal environment is extremely lucrative?
It's similar to the debate France had about raising the progressive tax rates - some ultrarich people would rather give up their French residency, than pay higher taxes.
There's clearly stuff the EU could do to be more competitive, but I think the core issue is that American investors can expect less risk and bigger payoffs, because the environment is friendlier to them, but the environment being friendlier to them leads to regular people getting screwed by giant companies that operate with no oversight. Fast forward the 2020s and you literally have planes falling out of the sky.
I don't think there are any great options.
I'm also aware this is a fringe view on HN, kinda by definition. It's a forum for founders, mostly in the US, and the median opinion on what you should be able to do with your company on here is extreme by most peoples' standards. But the echo chamber needs some dissent on this point.
The EU generally doesn't act on the market like that. This isn't China or Soviet Russia after all, we are still operating under a form of capitalism. The EU does offer grants, but those are generally meant for projects that wouldn't get money on the free market
> EU generally doesn't act on the market like that
It absolutely does. The problem is it must then partition the work across the entire continent. America has this problem, too, e.g. the F-35, but the consensus model of EU politics makes it particularly insidious.
Is it just me that think that’s a huge catch-22? The project isn’t eligible for grants because it gets money on the free market, but is then limited by who it can come from or in what amount
Norway retaining a controlling share in Statoil, now Equinor, is not quite the same as buying a startup or indeed buying any other company.
Statoil was created by the state not bought by it. If anything Statoil is an example of the very opposite idea and that is that Norway has sold shares in a company set up by the state rather than bought shares in an already existing company.
There is also the German state of Lower Saxony holding 12% of Volkswagen, and of course lots of countries fully or partially owning technically private organizations in infrastructure, transportation and communication. So "generally" is doing some lifting here. It's not that this never happens, but it is the exception. It would be highly unusual for the EU to just directly invest in companies like that.
The EU is not a state. There is no possible way of having something like nationalisation at the EU level. So whilst nationalised companies exist in different member-states (almost all of them, I would think), the EU still cannot do that.
Doing all the work and taking all the stress only to have the EU remove a chance of growth and exit is a problem that I never want to have. I went through some failed startups, and at least that was our own fault, but still I never want to do that again. I don't know what I'd do in this situation.
Because speculative startups require a lot of investment/venture capital, but the VCs need a defined return at some point. They need an exit with a sale, an acquisition or an IPO in order for the whole process to make financial sense. If companies just 'grow' but never sell out, there's not enough return for VCs, so they don't invest. No investment = way less startups to begin with
Especially important if you want to compete in training base models - if they were using 1500 H100s like the quote somewhere above implies, the market rate for that right now is something like $7500-$10k per hour (retail, on demand, so probably lower in reality, but still, it adds up incredibly quickly if you’re training 24 hours per day).
But founders and employees at some point want to leave and do other things. They want to take their stake in the company and sell it to buy a house or retire or pay for their kids' college or whatever.
That requires an exit, either as an acquisition or an IPO.
(In theory, dividends or profit distributions are an alternative, but they're much harder to do anything with because they're mostly in the future and not guaranteed. You can't pay for your kids' college with future profit-sharing that may or may not materialize. And, dividends or profit distributions are the opposite of growth, because you're no longer re-investing in the company.)
Few million dollars split by how many people? A small startup that provided a decent exit for me was sold for 50M EUR. I got 100K from that - the company had over 1000 shareholders. That's not really life changing amount of money, was barely enough to get a mortgage for my small apartment (30% of the price).
BTW the company was failing. If we didn't sell we'd have 0 very soon. It's really not as easy as "well let's just grow I guess".
Because sustaining is a job, and it's a very hard job. The shareholders might not like that job or want to do a different one, or they just can't do it. Or the market is going down, but someone could use the IP/assets/team.
Who said infinite? Startup founders that got investments have designed the exit points based on market conditions, and nobody would trust "infinite". It's just like stock investments (unless you "invest" based on feelings, of course) - you calculate the risk, the potential, and then you decide. Nobody reasonable puts "infinite growth" into their Excel sheets.
And yes, growing until that exit point is a lot of work - so it makes total sense people want an exit at some point.
No, that's not true. There are plenty of stable market capitalization, dividend-generating public companies. Their cap-to-EBITDA ratio is much smaller, but that doesn't change the fact.
Of course everybody expects the company to take advantage of opportunities - but it has to make economical sense. Nobody wants their company to try to grow so hard the whole company crashes.
Perhaps the founders want to remain there and grow, perhaps they want to focus on something else or retire. Perhaps the plan always was to sell after X years - I don't see anything wrong about that, still better to innovate&sell than just buy stock&sell IMHO.
You can't attract investors if they can't sell in case the investment is successful. This is severely limiting and a terrible situation to be in - especially if you already have investors, who might demand their money back from you - way before your profits could cover it.
And the worst thing that might happen - you design a startup to be acquired by Microsoft/Apple/Google and then EU comes and says no. WTF?
Why would competition law and/or national security laws not apply to a start-up or its acquirers? Why would they or their acquirers get exceptions? Would those exceptions cover patents as well on the national security? What else and why?
Also, this isn't the EU saying "no" at the moment, but looking into it, as it does with many things.
They shouldn't get exceptions. There shouldn't be so many laws and regulations that result in EU being so behind economy-, success- and investment-wise.
It's tough, it's also part of the reason so little is done here, just compare the size of market capitalization of say DAX40 (German top 40) or CAC40 (French top 40):
DAX40 $1.9T
CAC40 $2.8T
There are single companies in US that exceed both of these values.
Part of that is that you're taking a fixed number of companies. So if Europe has more, but smaller companies, the value of the top-40 would be lower than if they had fewer but larger companies. To me the first sounds healthier, everything else being equal.
I'm not sure if "the market doesn't know how to price Tesla and is rapidly fluctuating up and down" is really saying much.
In terms of revenue Bosch is comparable to Nvidia and Tesla. IKEA is about half that and Schwarz is about Nvidia and Tesla combined, but of course those two are bad comparisons because they are in the rather unexciting retail market.
But generally I agree that exciting upstarts that reach fortune 500 size tend to be US companies.
>All 70 year old companies is not helping your point.
I read an interesting point recently: Austria's 100 wealthiest families have two thirds of the country's wealth, and zero have earned their money from technology; they've all inherited it.
How different would the same list be for Germany? One, perhaps two families earned their fortunes from tech (and by "tech" I mean "SAP")?
That's because literally the entire world is betting on their technology right now. I can't imagine that being located in the US is the cause for Nvidia being in the right place at the right time with CUDA.
>That's because literally the entire world is betting on their technology right now. I can't imagine that being located in the US is the cause for Nvidia being in the right place at the right time with CUDA.
Ah yes, feel free to name all the other European startups that are in the right place at the right time with their own technology. Maybe one of these days you'll acknowledge that there may be a reason why such companies keep appearing in the US and East Asia, and not across the Atlantic.
Yes, I know that Nvidia is 30 years old. That does not change my point. Where were the European GPU startups back in the 1990s, let alone today?
(This is where you inevitably cite ASML. Psst: Look into where and who developed ASML's lithography technology, and what companies were not allowed to build off it.)
> feel free to name all the other European startups that are in the right place at the right time with their own technology.
For starters, there's ARM and STMicroelectronics. Then all the classical household-name businesses like SAAB, Phillips, Nokia, Siemens et. al. However, there's also more recent "SF-style" startups like Spotify, TransferWise and Klarna. Take your pick?
> Where were the European GPU startups back in the 1990s, let alone today?
Most of ASML's technology was developed at ASML. Yes, not all, and there are US patents. But there was an insane amount of work they did in making it reality (together with Zeiss).
No, that's a good point. And no, I was not going to cite ASML.
My point is that maybe the US isn't better for causing wildly successful ideas to be rewarded by the market.
The US probably is better for starting tech companies. More rolls of the dice, more chances for success.
But it's not like Nvidia's founders were shopping around for a country to start Nvidia in either. If the Wikipedia history is to be believed, they were already accomplished engineers working at established computing companies in the US, so why would they found Nvidia anywhere else? The web of causality is deeply tangled here. Was the US in the 90s onward actually better for tech startups, or was it a momentum effect carried forward from the US already being a tech and computing leader in the 80s? Maybe a little of both.
EURO STOXX 50 would probably be a better benchmark, which has a total market cap of around €4.0T, which is more than any single company. (your general point stands though, it's nowhere near the US market)
Because the European capital markets are very different with far less local money going into it, more bank funding etc. The divergence between the US and Europe there is more than 100 years old.
> But man, as a business owner in EU, this would just make me not want to build an AI startup in EU
I am not an expert but does this kind of probes not help businesses against things like hostile take overs and against VC buying up all your competitors to crush you with scale?
I mean, the FTC would absolutely look into this agreement if you did it in the US. Regulators "looking into" things is not a thing we should be upset about, that's why they exist.
And not only this, everyone loses if the FTC and the likes don't do their job properly. I'm still amazed how much "small" people argue for big entities like microsoft. You won't have these problems in your lifetime.
Totally agree with this sentiment. I love open-source and will be on it's side to the end. But I'm not sure I want it forced upon people either. Companies should believe in the model and developers should choose companies that believe in that model.
I imagine there has to be some kind of security implication here, the same reason why the US is restricting the export of AI chipsets to china. It's not ideal if US megacorps are heavily investing in or buying out EU AI startups.
Tech is like film. Big unicorns with big exits are like the blockbuster tent pole superhero films that net hundreds of millions of dollars. You don’t have those the whole industry collapses. No art flicks or risky experiments with new ideas without Guardians of the Galaxy.
It’s not just investment capital which usually grows out of exits but also the whole ecosystem of services and consultants and experts and law firms specializing in the sector. All of it.
The EU doesn’t have enough routes to exit due to both regulation and a way more conservative business climate. As a result you don’t get a big tech ecosystem and most exits result in the whole thing being pulled into the US orbit.
Regulations are not a problem, it's the lack of a big common market. Expanding from let's say Belgium to Germany is almost as difficult as expanding to the USA. That's why the two countries that have a big tech scenes (US/China) are the ones that have big unified markets.
Not really. Regulation serves the interest of the consumer, rather than the kind of deregulation that serves the interest of the shareholder.
In the US you build your app and everything is in English. You can launch that across all of the states as-is.
In Europe (not even the EU specifically) you’re gonna need i18n, particularly with B2B. If you want to launch in Germany, for example, you’ll be expected to provide an interface in German. You can’t presume everyone speaks English, because they don’t. Expect multilingual support too.
Then you have payment. Different countries have different cultural norms, so what people are used to using in the Netherlands is unlikely to be supported generically elsewhere. It’s not gonna be enough to just support Stripe and card payments or PayPal for B2C.
Regulation doesn’t mandate any of this. It’s effectively conducting business internationally.
isn't Stoxx 50 just the EU? i think you're missing some huge players (Shell, Novo Nordisk etc)
but to get back to the general point, that list looks kind of bleak to me. bags, makeup and oil. at least there's ASML in there (i hope they won't have a reason to move their listing to NYC).
And yet China's relative success is due to protectionism (or failed antitrust in USA/EU).
In a "winner takes all" situation, how else can the EU compete ? (The US did protectionism too while their industries were fledgling, to avoid getting crushed by the British...)
As someone who has spent the last 30 years in European tech companies, mostly startups, that is news to me.
Europe does not tend to produce as large tech startups as the US, in part because a lot of promising companies leave for Silicon Valley first chance they get because funding opportunities are better there. But then neither does most of the US, partly for the same reason.
We see the same all the way down - when I worked in a UK based technology VC, we saw both people decamping from the regions to London, and from London to SV for these kinds of reasons, as well as an influx of tech companies from all over elsewhere in Europe who saw London as one of a short list of European cities to move to in order to make things easier - some of whom undoubtedly would move on to SV.
I myself moved to the UK 24 years ago because I co-founded a startup in Norway, and the VC's that invested in us adviced us to move the company to London because there was insufficient capital for tech/software companies in Norway at the time.
Europe has plenty of tech. Tech is not all, or even mostly, the tech giants. It could have more, and it could put more effort into keeping more here. But regulations will not be enough for that - it'll take more capital infusion.
And yes model training is available on the site, the serverless pipeline itself was easy, making it fast(less than an hour) and have the most similarity while being flexible enough for a general user was the hard part.
Let me know if that answers your question