Deprecated: OnlineOptimisation\EmailEncoderBundle\Functions::eeb_mailto(): Implicitly marking parameter $method as nullable is deprecated, the explicit nullable type must be used instead in /nas/content/live/harperpoint/wp-content/plugins/email-encoder-bundle/src/Functions.php on line 23

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Authentication::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/authentication.php on line 85

Deprecated: ElementorExtras\Base\Condition::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/base/condition.php on line 121

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\User::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/user.php on line 86

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Role::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/role.php on line 86

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Os::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/os.php on line 95

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Browser::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/browser.php on line 90

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Date::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/date.php on line 91

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Date_Time_Before::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/date-time-before.php on line 88

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Time::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/time.php on line 88

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Page::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/page.php on line 87

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Post::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/post.php on line 87

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Static_Page::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/static-page.php on line 88

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Post_Type::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/post-type.php on line 87

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Post_Term::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/post-term.php on line 88

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Taxonomy_Archive::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/taxonomy-archive.php on line 110

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Term_Archive::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/term-archive.php on line 111

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Post_Type_Archive::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/post-type-archive.php on line 87

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Date_Archive::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/date-archive.php on line 111

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Author_Archive::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/author-archive.php on line 86

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Search_Results::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/search-results.php on line 98

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Var_Get::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/var-get.php on line 54

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Var_Post::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/var-post.php on line 54

Deprecated: ElementorExtras\Modules\DisplayConditions\Conditions\Shortcode::check(): Optional parameter $name declared before required parameter $value is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/display-conditions/conditions/shortcode.php on line 99
Harper Point – Stunning photography for your brand.
Deprecated: ElementorExtras\Modules\Posts\Widgets\Posts_Base::get_date_formatted(): Optional parameter $custom declared before required parameter $time_format is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/posts/widgets/posts-base.php on line 278

Deprecated: ElementorExtras\Modules\Breadcrumbs\Widgets\Breadcrumbs::add_single(): Optional parameter $post declared before required parameter $query is implicitly treated as a required parameter in /nas/content/live/harperpoint/wp-content/plugins/elementor-extras/modules/breadcrumbs/widgets/breadcrumbs.php on line 1215

Deprecated: Creation of dynamic property OMAPI_Elementor_Widget::$base is deprecated in /nas/content/live/harperpoint/wp-content/plugins/optinmonster/OMAPI/Elementor/Widget.php on line 41

Deprecated: OMAPI_Rules_Exception::__construct(): Implicitly marking parameter $previous as nullable is deprecated, the explicit nullable type must be used instead in /nas/content/live/harperpoint/wp-content/plugins/optinmonster/OMAPI/Rules/Exception.php on line 44

Seriously
good
photography

We take photographs that make you feel something. We never settle for good enough.

Hello, we’re Harper Point

For 15+ years, Harper Point has been a tiny-but-mighty two-person crew crafting bold, creative photography for product, food and beverage brands. From our Ventura studio, we don’t just make photos—we build quirky, precise, sellable visuals that work everywhere from product pages to paid social. We turn products into visuals that work as hard as you do.

Our Work

Lenny and Larry's

Product
Lifestyle
food

Amoretti

Product
FOOD
Lifestyle

Otterbox

Product
Lifestyle

Hudson + West

Product
Lifestyle

Simon & Schuster

Product
Lifestyle
Food

YMCA

Lifestyle
Architecture

Eye Candy


(805) 653-5999

1181 E Main St
Ventura, CA 93001