<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nextjs on Jonathan Franklin</title><link>https://jonnie.github.io/tags/nextjs/</link><description>Recent content in Nextjs on Jonathan Franklin</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 12 May 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://jonnie.github.io/tags/nextjs/index.xml" rel="self" type="application/rss+xml"/><item><title>Ads &amp; Affiliate Revenue Platform</title><link>https://jonnie.github.io/work/ads-revenue-platform/</link><pubDate>Fri, 12 May 2023 00:00:00 +0000</pubDate><guid>https://jonnie.github.io/work/ads-revenue-platform/</guid><description>&lt;h2 id="problem"&gt;Problem&lt;/h2&gt;&#10;&lt;p&gt;Pricesearcher bought traffic through Google, Bing and Facebook advertising and earned revenue through affiliate and traffic partners. Comparing advertising costs with that income required joining records from separate systems with different identifiers, timezones and reporting periods. Campaign- and keyword-level reporting helped inform bid and budget decisions.&lt;/p&gt;&#10;&lt;h2 id="architecture"&gt;Architecture&lt;/h2&gt;&#10;&lt;p&gt;Airflow and Lambda jobs imported campaign, ad-group and keyword data alongside revenue and conversion data from affiliate partners. A Python reporting API joined that data for an internal Next.js/Tailwind dashboard. The surrounding platform also used S3-hosted landing-page variants and SNS-to-Slack notifications.&lt;/p&gt;</description></item><item><title>Pricesearcher.com Web Frontend</title><link>https://jonnie.github.io/work/pricesearcher-website/</link><pubDate>Mon, 27 Feb 2023 00:00:00 +0000</pubDate><guid>https://jonnie.github.io/work/pricesearcher-website/</guid><description>&lt;h2 id="problem"&gt;Problem&lt;/h2&gt;&#10;&lt;p&gt;Pricesearcher&amp;rsquo;s public site covered product comparison and verticals such as insurance, travel, utilities, education and finance. These needed different layouts and features without becoming separate websites to maintain. Product search also had to present results from multiple providers, with market-specific relevance and affiliate tracking.&lt;/p&gt;&#10;&lt;h2 id="architecture"&gt;Architecture&lt;/h2&gt;&#10;&lt;p&gt;The public frontend used React and TypeScript with server-side rendering, followed by a Next.js codebase. A configuration-driven view-mode system selected layouts, features and styles for each vertical, while product pages consumed the &lt;a href="https://jonnie.github.io/work/product-search-api/"&gt;product search API&lt;/a&gt;. AWS Serverless deployments provided branch-based staging and production environments.&lt;/p&gt;</description></item></channel></rss>