[{"data":1,"prerenderedAt":147},["ShallowReactive",2],{"work:\u002Fwork\u002Fcorning":3,"work:\u002Fwork\u002Fcorning:surround":129,"page:work:cta":140},{"id":4,"title":5,"body":6,"client":75,"compare":76,"country":77,"description":68,"extension":78,"glance":79,"industry":83,"logo":84,"meta":89,"navigation":90,"order":69,"path":91,"people":92,"peopleNote":76,"period":98,"published":90,"quote":76,"seo":99,"service":100,"stack":101,"stem":108,"summary":109,"team":110,"timeline":111,"__hash__":128},"work\u002Fwork\u002Fcorning.md","One home for test data from Corning's outside manufacturers",{"type":7,"value":8,"toc":67},"minimark",[9,14,18,21,25,28,31,34,37,41,48,54,60,64],[10,11,13],"h2",{"id":12},"the-problem","The problem",[15,16,17],"p",{},"Corning's optical business has many of its products made by outside manufacturers. Each factory tests what it builds and sent the results to Corning as CSV, JSON or Excel files, dropped into shared folders. Every factory had its own layout, nothing was read automatically, and there was no way to look across factories, products or units.",[15,19,20],{},"At the same time a new test lab was being set up to check samples from those factories, and it had no system for taking work requests.",[10,22,24],{"id":23},"what-we-did","What we did",[15,26,27],{},"Eagle Eye II is Corning's platform for this data, built on Azure. Our part was getting the data in, and shipping the whole thing safely.",[15,29,30],{},"Files arrive by SFTP, through a storage drop, a watched folder or an API. Each one is stored as received, then read by a parser that fits the factory's format: CSV, JSON, Excel, the original Eagle Eye format so older test stations keep working, and spreadsheet layouts described in configuration rather than code.",[15,32,33],{},"A new product used to need its test plan and specification set up by hand before its first file could be read. Now a file that names an unknown product, plan or measurement registers it on the spot, and the pass\u002Ffail limits travel with each measurement. For unfamiliar spreadsheets, the system suggests a column mapping using AI.",[15,35,36],{},"Engineers browse from a unit to its measurements to a single test step. Releases are built once and promoted from development to staging through a gated pipeline. For the lab we built a request flow: a step-by-step form with drafts and attachments, request numbers, email updates, and a queue for the lab manager.",[10,38,40],{"id":39},"what-was-hard","What was hard",[15,42,43,47],{},[44,45,46],"strong",{},"No two factories send the same spreadsheet."," Some are turned on their side. Some have a different number of test steps per unit. One fiber-array workbook holds 254 measurements per unit in merged header blocks spread across three sheets.",[15,49,50,53],{},[44,51,52],{},"A measurement and its limits were stored as one thing."," That's why every new product needed setting up first. Separating what a measurement is from what counts as a pass made automatic registration possible.",[15,55,56,59],{},[44,57,58],{},"Not every gap is a failure."," A measurement with no limits to judge it against must not show up as a fail, and a missing measurement is reported rather than holding back the whole file. A factory re-sending the same file is recognised from its contents and ignored.",[10,61,63],{"id":62},"whats-next","What's next",[15,65,66],{},"Production, then the outcomes we can write up with Corning.",{"title":68,"searchDepth":69,"depth":69,"links":70},"",2,[71,72,73,74],{"id":12,"depth":69,"text":13},{"id":23,"depth":69,"text":24},{"id":39,"depth":69,"text":40},{"id":62,"depth":69,"text":63},"Corning",null,"United States","md",{"problem":80,"approach":81,"now":82},"Test data arrived as each factory's own spreadsheets in shared folders, with no automation and no single view. The new test lab had no way to take requests.","Ingestion that reads every factory's format and registers new products and specs by itself, plus a build-once pipeline from development to staging.","Running on staging. The lab request module is built and waiting to go live.","Manufacturing",{"name":75,"src":85,"srcDark":86,"height":87,"ratio":88},"\u002Flogos\u002Fcorning.svg","\u002Flogos\u002Fcorning-light.svg",34,6.8157,{},true,"\u002Fwork\u002Fcorning",[93],{"name":94,"role":95,"image":96,"link":97},"Aleksa Kuzman","Ingestion, automatic product and spec registration, delivery pipeline, lab requests","\u002Fteam\u002Faleksa.webp","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Faleksa-kuzman-653998190\u002F","From August 2026",{"title":5,"description":68},"Product development",[102,103,104,105,106,107],".NET","Angular","Azure SQL","Azure Blob Storage","Cosmos DB","GitHub Actions","work\u002Fcorning","Factories making Corning's optical products sent their test results as spreadsheets in their own formats. We built the part that turns any of those files into one record of every unit and every measurement, and the pipeline that ships it.","In partnership with Cramick IT",[112,115,118,120,122,125],{"date":113,"text":114},"Jun 2026","Eagle Eye II project starts",{"date":116,"text":117},"Aug 2026","Pipeline: build once, promote from development to staging",{"date":116,"text":119},"New products, plans and specs register themselves from incoming files",{"date":116,"text":121},"Parsers for rotated, variable and multi-sheet spreadsheets; the original Eagle Eye format accepted",{"date":123,"text":124},"Oct 2026","Lab request module built",{"date":126,"text":127,"upcoming":90},"Next","Production","I2Yj6RNSBBQrtbuMWMcNHHxfek_GlLrp1YNBxn0ExVY",[130,135],{"title":131,"path":132,"stem":133,"client":134,"children":-1},"Moving a live booking platform from Ruby to .NET without stopping it","\u002Fwork\u002Fvialuxury","work\u002Fvialuxury","Vialuxury",{"title":136,"path":137,"stem":138,"client":139,"children":-1},"The platform under an AI agent that takes wholesale orders in chat","\u002Fwork\u002Fb2bee","work\u002Fb2bee","B2Bee",{"cta":141},{"title":142,"note":143,"button":144},"Have something like this? Tell us about it.","The first call is free, takes 30 minutes and commits you to nothing.",{"label":145,"to":146},"Book a call","\u002Fcontact",1793174665623]