Slide 1

Slide 1 text

@masuga @masugadesign @lamplighterapp SaaS on OSS Building Lamplighter.io on Laravel

Slide 2

Slide 2 text

• Masuga Design Owner Client work, mostly EE • devot-ee.com Proprietor Marketplace for EE • placeimg.com Advisor Side Project • lamplighter.io Guy who stands by in awe Ryan Masuga

Slide 3

Slide 3 text

Comfort Zone

Slide 4

Slide 4 text

• Builds confidence • Cures boredom • Satisfies urge to grow • Increases productivity Benefits of the New Mike Taber, @SingleFounder Speaking at MicroConf

Slide 5

Slide 5 text

Let’s Make a Product!

Slide 6

Slide 6 text

1. devot:ee Monitor Started with a “basic” project. 2. expressionmonitor.com Expand the idea: tie in w/site to see in one place What’s the Big Idea? We could gather information from—and store information about—all your sites in a centralized spot...

Slide 7

Slide 7 text

Monitor all your sites in one place.

Slide 8

Slide 8 text

• Selfish Solve our own problem(s) • Altruistic Help other shops like ourselves • Realistic From $0 to money quickly What’s Our Purpose?

Slide 9

Slide 9 text

What to Use? Endless choices. • Too rigid • Sole purpose: content • Lots of unused code • Potential license restrictions • Security • Time sink • Little ROI • Why recreate wheel? • Legwork is done • Blank slate • How to decide? CMS Hand Roll Framework

Slide 10

Slide 10 text

Decisions, Decisions... Stay within the realm of feasibility • What do we already know? • This is a business. Let’s not go off a cliff “just because.” • A few options: Zend 2, Symfony 2, and...

Slide 11

Slide 11 text

Laravel

Slide 12

Slide 12 text

• Well documented • Good community support base • Logical, reasonable learning curve • Template language is easy (for front-end people) • Dev friendly stuff: Composer and migrations Laravel It has haters!

Slide 13

Slide 13 text

Laravel Benefits Modern, scalable, powerful routing, Composer integration. We can use the most up-to-date PHP libraries and packages. We can use best-in-class stuff.

Slide 14

Slide 14 text

Beer Truck Rule

Slide 15

Slide 15 text

Let’s Use the Best LARAVEL SSD Drives, CDN, scalable, Nevin. We’re now ready for the Apocalypse.

Slide 16

Slide 16 text

Making the Product

Slide 17

Slide 17 text

Use the Right Tool for the Job

Slide 18

Slide 18 text

LARAVEL

Slide 19

Slide 19 text

Laravel Highlights Determining Factors • Routing • Commands (Artisan) • Eloquent ORM • Front Templating

Slide 20

Slide 20 text

• Nice URLs • Custom Subdomains COMPANY.lamplighter.io • Before and after filters (SSL, authentication, permissions) Routing

Slide 21

Slide 21 text

Routing Nice URLs: Custom Landing Pages https://lamplighter.io/expressionengine/devotee https://lamplighter.io/expressionengine/peers

Slide 22

Slide 22 text

Routing Nested: SSL, Subdomains, Auth, Permissions

Slide 23

Slide 23 text

1. Put site in maintenance mode 2. Deploy the code changes 3. Install, update, or remove necessary dependencies 4. Make database changes 5. Bring site back up Commands (Artisan) php artisan deploy:heavy --stage=prod

Slide 24

Slide 24 text

Eloquent ORM Relationship-Heavy Application ORM (Object-Relational Mapping) is a tool that lets you query and manipulate data from a database using an object paradigm. What.

Slide 25

Slide 25 text

Eloquent ORM Relationship-Heavy Application

Slide 26

Slide 26 text

Eloquent ORM Relationship-Heavy Application

Slide 27

Slide 27 text

Templating (Blade)

Slide 28

Slide 28 text

Drawbacks

Slide 29

Slide 29 text

One man. One framework. What could go wrong?

Slide 30

Slide 30 text

“...not a widespread issue”

Slide 31

Slide 31 text

“...not a widespread issue”

Slide 32

Slide 32 text

• Don’t Trap Yourself Don’t dig yourself into a hole. • Find the Time to Try Something New If solo, carve out time to learn. If team, experiment! • Don’t be a Fanboy. Moderation in all things, always beware of the Kool Aid. • Use the Right Tool for the Job EE for large client sites; Craft for newer sites. Slim or Laravel for internal projects...when it’s right Conclusion

Slide 33

Slide 33 text

Ship It.

Slide 34

Slide 34 text

We Shipped! January February March April ? ? ?

Slide 35

Slide 35 text

6% 7% 7% 80% 4 months 5,755 add-ons/plugins 321 sites

Slide 36

Slide 36 text

Laravel Resources • Laracasts - https://laracasts.com/ • leanpub.com/codebright • laravel.com SaaS (+Bootstrapping) Resources • @patio11, kalzumeus.com • @brennandunn • Bootstrapped.fm Forums - http://discuss.bootstrapped.fm/ • Jason Lemkin @SaaStr - http://saastr.com/ Resources

Slide 37

Slide 37 text

Thank You. https://lamplighter.io/peers 50% off first 3 months (until May 15, 2014) @masuga @masugadesign @lamplighterapp http://masugadesign.com https://lamplighter.io